무료 AI 이미지 생성 도구 비교 2026 - 제미나이·ChatGPT·코파일럿 뭐 쓸까? 블로그 썸네일 만들기 실전 🎨
한눈에 보기
제미나이·ChatGPT·코파일럿·파이어플라이·레오나르도·아이디오그램의 무료 조건과 상업적 이용 가능 여부를 2026-08-17 기준 공식 문서로 비교해요. 한도 없이 쓰는 ComfyUI 로컬 설치와 파이썬 썸네일 자동 생성 스크립트까지 다룹니다.
- 2026-08-17 기준 각 사 공식 문서·약관 확인 · ComfyUI v0.33.x · Python 3.9+ · requests 2.32.x
- 마이크로소프트 디자이너는 개인·비상업 전용, 파이어플라이는 자체 Firefly 모델만 상업적 이용을 보장해요
- 제미나이·ChatGPT 무료 한도는 숫자가 공개되지 않고, 코파일럿은 빠른 생성 하루 15회로 명확해요
- 순수 AI 산출물은 저작권 등록이 안 돼요 (한국저작권위원회 2025-06-30 안내서)
목차23개 항목
안녕하세요! Mojangcam입니다 😎
지난 무료 AI 코딩 도구 비교 2026 - Claude Code vs Cursor vs 코파일럿 글에서는 코드를 짜주는 AI를 비교했었죠. (내부링크 자리)
그런데 블로그 글을 쓰다 보면 코드보다 더 자주 막히는 게 하나 있어요. 바로 썸네일이요 😅 글은 다 썼는데 대표 이미지가 없어서 발행 버튼을 못 누르는 상황, 겪어보셨을 거예요. 무료 이미지 사이트를 20분씩 뒤지다가 결국 아무 사진이나 넣고 마는 것도요.
그래서 오늘은 2026년 8월 현재 진짜로 무료인 AI 이미지 생성 도구를 쫙 정리해볼게요. 그냥 "이게 좋아요"가 아니라, 무료 플랜의 실제 조건이랑 상업적 이용이 되는지 안 되는지까지 약관 기준으로 짚어드릴게요. 이게 진짜 중요하거든요 ⚠️
이번 글에서 배울 것
- 무료로 쓸 수 있는 AI 이미지 도구 6개 비교 (2026-08 기준)
- "무료"라고 다 같은 무료가 아닌 이유 — 상업적 이용 함정
- 내 PC에서 무제한으로 돌리는 법 (ComfyUI)
- 파이썬으로 썸네일 여러 장 자동 생성하기 (보너스 코드 💡)
- AI 이미지 저작권, 내 블로그에 써도 되나요? (한국 기준)
[이미지: 완성 예시 — AI로 만든 블로그 썸네일 3장을 나란히 놓은 다이어그램]
📌 결론부터 (상황별 한 줄 추천)
| 이런 분 | 추천 |
|---|---|
| 그냥 빨리 한 장 뽑고 싶다 | 제미나이(Gemini) — 앱 켜서 말로 시키면 끝 |
| 한글 글자가 이미지 안에 들어가야 한다 | ChatGPT Images 2.0 또는 나노 바나나 2 |
| 하루에 여러 장, 로그인 부담 없이 | 코파일럿 / Bing 이미지 크리에이터 (하루 15장 빠른 생성) |
| 상업적 이용을 확실하게 보장받고 싶다 | 어도비 파이어플라이(Firefly) — 단, 자체 모델 한정 |
| 스타일을 통일해서 대량으로 뽑아야 한다 | ComfyUI 로컬 설치 — 그래픽카드만 있으면 무제한 |
한 줄 요약: 급하면 제미나이, 진지하면 로컬 ComfyUI. 나머지는 취향입니다 🙂
📊 한눈에 비교 (2026-08-17 기준)
| 도구 | 무료 조건 | 강점 | 주의할 점 |
|---|---|---|---|
| 제미나이 (나노 바나나 2) | compute 기반 한도, 5시간마다 갱신 | 속도·품질·한국어 프롬프트 | 무료는 1K 해상도까지, SynthID 워터마크 |
| ChatGPT Images 2.0 | 전 플랜 사용 가능 (횟수 미공개) | 대화하면서 고쳐나가기 편함 | 무료 한도에 걸리면 그냥 막힘 |
| 코파일럿 / Bing 이미지 크리에이터 | 빠른 생성 15회/일 + 느린 생성 200프롬프트/24시간 | 숫자가 명확하게 공개된 유일한 곳 | Designer는 비상업 전용 라이선스 |
| 어도비 파이어플라이 | 매일 리셋되는 무료 생성량 (수치 미공개) | 상업적 이용 공식 허용 | 파트너 모델은 그 보장이 적용 안 됨 |
| 레오나르도 (Leonardo AI) | 하루 150 토큰 (이월 없음) | 게임 아트·에셋 스타일 강함 | 토큰 소모량이 모델마다 다름 |
| 아이디오그램(Ideogram) | Slow 큐만 사용 가능 | 이미지 안 텍스트 렌더링 | 무료는 생성물이 기본 공개 |
| ComfyUI (로컬) | 완전 무료·무제한 | 제한 없음, 오프라인 가능 | 그래픽카드 필요, 설치 난이도 |
⚠️ "무료"의 함정 3가지
1. 이제 "하루 몇 장"이라는 숫자가 없어요
옛날 글들을 보면 "제미나이 무료는 하루 20장", "ChatGPT는 하루 2장" 같은 숫자가 돌아다녀요. 지금은 거의 다 옛날 얘기입니다.
구글은 2026년 5월부터 이미지 장수가 아니라 컴퓨팅 사용량(compute) 기준 통합 한도로 바꿨어요. 공식 안내에는 "한도는 주간 한도에 도달할 때까지 5시간마다 갱신된다" 정도만 나와 있고, 플랜별 배수(무료 대비 AI Plus 2배, AI Pro 4배)만 공개합니다. 오픈AI도 무료 플랜 이미지 제한 숫자를 공개하지 않아요. 그러니 어디서 본 숫자를 그대로 믿지 마시고, 직접 써보면서 언제 막히는지 감을 잡는 게 제일 정확합니다.
2. 무료인데 상업적 이용은 금지인 서비스가 있어요
이게 제일 많이 놓치는 부분이에요. 마이크로소프트 디자이너(Designer) 공식 FAQ에는 이렇게 적혀 있어요.
Designer is licensed for personal, non-commercial use with your Microsoft account.
즉 개인·비상업 용도 전용입니다. 애드센스 붙은 블로그 썸네일로 쓰는 건 회색지대예요. 반면 어도비 파이어플라이는 "베타 딱지가 없는 기능의 결과물은 상업 프로젝트에 사용할 수 있다"고 명시합니다. 같은 "무료"인데 라이선스가 정반대죠 😮
3. 눈에 안 보이는 워터마크가 박혀 있어요
구글 AI로 만든 이미지에는 SynthID라는 비가시 워터마크가 들어갑니다. 크기를 줄이거나 색을 바꾸거나 압축해도 대체로 살아남아요. 제미나이 앱에 이미지를 올려서 "이거 구글 AI가 만든 거야?" 하고 물어보면 확인해줍니다. 나쁜 건 아니고, "이건 AI가 만든 겁니다"가 기록으로 남는다는 것만 알고 계시면 돼요.
🧩 하나씩 뜯어볼게요
제미나이 — 나노 바나나 2 (Nano Banana 2)
무료 사용자의 기본 이미지 모델이에요. 모델을 Flash나 Pro로 두고 이미지를 요청하면 나노 바나나 2가 돌아가고, Flash-Lite면 라이트 버전이 붙습니다. 나노 바나나 Pro는 유료 전용이라 무료로는 "Redo with Pro"를 못 눌러요.
무료 계정은 다운로드 해상도가 1K까지입니다(유료는 2K). 블로그 썸네일 정도면 충분해요.
상업적 이용에 대해선 구글이 "된다/안 된다"를 명시하지 않고, "저작권·프라이버시를 침해하지 말고, 게시 전에 스스로 판단하라" 정도로만 안내합니다. 금지 조항이 없고 구글이 소유권을 주장하지도 않는다 — 딱 이 정도로 이해하시는 게 정확해요.
ChatGPT — Images 2.0
2026년 4월 21일에 나온 모델이고(API명 gpt-image-2), 공식 발표에 "모든 ChatGPT 플랜에서 사용 가능"이라고 못 박혀 있어요. 무료 계정도 최신 모델을 씁니다 👏
강점은 대화로 고치기예요. "글자 좀 더 크게", "배경을 어둡게" 같은 요청을 이어서 하면 됩니다. 다만 무료 한도 숫자는 비공개라, 어느 순간 "한도에 도달했습니다"가 뜹니다.
💬 참고로 예전 DALL·E GPT는 2026년 8월 30일에 서비스가 종료돼요. 아직 쓰고 계셨다면 Images 2.0으로 넘어가셔야 합니다.
코파일럿 / Bing 이미지 크리에이터
숫자가 명확하게 공개된 유일한 곳이라 초보자에게 제일 추천해요. 공식 FAQ 기준으로,
- 빠른 생성(부스트) 하루 15회 — 다음 날 자동 충전
- 부스트를 다 써도 느린 속도로 24시간당 최대 200 프롬프트
"부스트 다 쓰면 못 만든다"는 흔한 오해예요. 느려질 뿐 계속 만들 수 있습니다. 모델은 DALL-E 3 / GPT-4o / MAI-Image-2.5-Flash(마이크로소프트 자체 모델) 중에 고를 수 있어요.
⚠️ 다시 강조하지만 Bing 이미지 크리에이터와 Microsoft Designer는 약관이 다릅니다. Designer 쪽은 비상업 전용이에요.
어도비 파이어플라이 (Firefly)
"상업적으로 써도 된다"고 공식 문서에 적혀 있는 거의 유일한 서비스예요. 학습 데이터도 "어도비 스톡 이미지, 공개 라이선스 콘텐츠, 저작권이 만료된 퍼블릭 도메인"으로 밝히고 있고, 크리에이티브 클라우드 구독자의 개인 파일로는 학습하지 않는다고 명시합니다.
무료 플랜은 이제 크레딧이 아니라 "매일 리셋되는 무료 생성량" 방식이고, 어도비가 정확한 숫자를 공개하지 않아요. 예전에 돌던 "월 25 크레딧"은 현재 공식 페이지에서 확인되지 않습니다.
⚠️ 함정 하나. 파이어플라이는 이제 자체 모델뿐 아니라 파트너 모델(GPT Image 2, 나노 바나나, FLUX.2 Pro 등)도 제공하는데, "상업적으로 안전하다"는 보장은 어도비 자체 Firefly 모델에만 적용됩니다. "파이어플라이면 무조건 안전"은 틀린 말이에요.
레오나르도 (Leonardo AI)
무료는 하루 150 토큰입니다. 안 쓰면 그냥 사라지고 다음 날로 이월되지 않아요. 24시간마다 리셋됩니다.
주의할 건 "150토큰 = 몇 장"이 아니라는 거예요. 모델·해상도·레퍼런스 이미지 개수·한 번에 뽑는 장수에 따라 소모량이 달라집니다. 그리고 외부 모델(나노 바나나, FLUX.2 Pro 등)은 무제한 생성 대상에서 빠져서 반드시 토큰을 먹어요.
게임 아트나 캐릭터 컨셉 뽑을 때 스타일이 좋아서, 저는 UE5 관련 목업 만들 때 종종 씁니다 🎮
아이디오그램 (Ideogram)
"이미지 안에 글자 잘 넣는 AI"로 유명하죠. 2026년 기준으로 솔직하게 말씀드리면 그 우위는 많이 좁혀졌어요. ChatGPT Images 2.0과 나노 바나나 2 둘 다 텍스트 렌더링 개선을 전면에 내세웠거든요.
무료 플랜 조건 중 꼭 아셔야 할 건 두 가지예요.
- 무료는 Slow 큐(느린 대기열)만 사용
- 생성한 이미지가 기본적으로 공개됩니다. 비공개 생성은 유료 기능이에요 👀
무료 크레딧 수치는 공식 문서에서 아예 삭제됐어요. 문서에 "가격과 크레딧 수량은 바뀔 수 있으니 문서의 고정 표를 믿고 결제 판단하지 말라"고 적혀 있습니다.
🛠️ 진짜 무제한은 결국 로컬이에요
한도 신경 안 쓰고 100장이든 1000장이든 뽑고 싶다면 답은 하나, 내 PC에 설치하기입니다. 전기요금 말고는 안 나가요 ⚡
왜 ComfyUI인가요?
예전엔 다들 Stable Diffusion WebUI(AUTOMATIC1111)를 썼죠. 그런데 2026년 현재 상황이 이렇습니다.
| 도구 | 상태 (2026-08 기준) |
|---|---|
| ComfyUI | ✅ 매우 활발. 최신 v0.33.1 (2026-08-13), 릴리스가 며칠 단위 |
| AUTOMATIC1111 WebUI | ⚠️ 사실상 동면. 최신 릴리스 v1.10.1이 2025-02 게시, 신규 모델 미지원 |
| Fooocus | ⚠️ 버그 수정만 하는 LTS. 개발자가 직접 ComfyUI를 대안으로 권장 |
그래서 지금 새로 시작하신다면 ComfyUI입니다. GPL-3.0 오픈소스이고, 공식 문구도 "기능 제한 없음, 체험판 없음, 함정 없음"이에요. 노드를 선으로 잇는 화면이라 처음엔 무섭게 생겼는데, 워크플로 파일을 하나 받아서 쓰면 금방 익숙해져요 🙂
💬 저장소 주소가 comfyanonymous/ComfyUI에서 Comfy-Org/ComfyUI로 옮겨졌어요. 옛날 글 보고 클론하시면 헷갈릴 수 있으니 참고하세요. 터미널이 부담스러우면 원클릭 설치되는 Comfy Desktop 앱도 있습니다.
⚠️ 모델 라이선스가 진짜 중요해요
ComfyUI는 껍데기고, 실제로 그림을 그리는 건 체크포인트 모델이에요. 그런데 모델마다 상업적 이용 가능 여부가 완전히 다릅니다. 블로그에 애드센스를 붙였다면 이건 남 일이 아니에요.
| 모델 | 라이선스 | 상업적 이용 |
|---|---|---|
| SDXL 1.0 | OpenRAIL++-M | ✅ 가능 (사용 제한 조항 있음) |
| Stable Diffusion 3.5 | Stability AI Community | ⚠️ 연매출 100만 달러 미만만 |
| FLUX.1 [schnell] | Apache 2.0 | ✅ 가능 |
| FLUX.1 [dev] / FLUX.2 [dev] | 비상업 라이선스 | ❌ 불가 |
| FLUX.2 [klein] 4B | Apache 2.0 | ✅ 가능 (9B는 불가) |
| Qwen-Image 계열 | Apache 2.0 | ✅ 가능 |
| Z-Image-Turbo | Apache 2.0 | ✅ 가능 |
여기서 자주 틀리는 게 SD 3.5의 매출 조건이에요. "AI로 번 돈"이 아니라 회사 전체 연매출 기준입니다. 개인 블로거는 해당 없지만, 회사에서 쓰신다면 확인이 필요해요.
개인적으로 지금 제일 추천드리는 건 Z-Image-Turbo입니다. Apache 2.0이라 마음 편하고, 소비자용 그래픽카드에서도 굉장히 빨라요 🚀

📌 준비물
- Python 3.9 이상 (작성 기준 3.14.x)
- ComfyUI v0.33.x — 실행해두고 시작하세요 (기본 주소
http://127.0.0.1:8188) - 체크포인트 모델
.safetensors파일 1개 — ComfyUI의models/checkpoints/폴더에 넣기 - 파이썬 라이브러리 2개
pip install requests python-dotenv그리고 프로젝트 폴더에 .env 파일을 만들어주세요. 모델 이름·주소를 코드에 직접 박지 않는 습관, 이 블로그에서 계속 강조하는 부분이죠 🙂
COMFY_HOST=http://127.0.0.1:8188
COMFY_MODEL=sd_xl_base_1.0.safetensors
OUTPUT_DIR=thumbnails💡 .env는 반드시 .gitignore에 넣어주세요. 지금은 모델 이름뿐이라 별거 아니지만, API 키를 넣는 순간 깃허브에 통째로 올라갑니다 😱
📌 전체 코드 (복붙 OK)
블로그 글 제목 목록을 넣으면 썸네일을 한 장씩 알아서 뽑아 저장하는 스크립트예요.
# ComfyUI v0.33.x / Python 3.9+ / requests 2.32.x / python-dotenv 1.x
# 실행 전에 ComfyUI를 켜두세요 (기본 http://127.0.0.1:8188)
import os
import time
import uuid
import urllib.parse
from pathlib import Path
import requests
from dotenv import load_dotenv
load_dotenv()
COMFY_HOST = os.getenv("COMFY_HOST", "http://127.0.0.1:8188")
COMFY_MODEL = os.getenv("COMFY_MODEL")
OUTPUT_DIR = Path(os.getenv("OUTPUT_DIR", "thumbnails"))
if not COMFY_MODEL:
raise SystemExit(".env에 COMFY_MODEL을 넣어주세요 (models/checkpoints 안의 파일명)")
CLIENT_ID = str(uuid.uuid4())
NEGATIVE = "text, watermark, logo, blurry, low quality, extra fingers"
TITLES = [
"discord bot development",
"python office automation",
"raspberry pi home server",
]
def build_workflow(prompt: str, negative: str, seed: int) -> dict:
"""ComfyUI가 알아듣는 API 포맷 워크플로(노드 그래프)를 만들어요."""
return {
"1": {
"class_type": "CheckpointLoaderSimple",
"inputs": {"ckpt_name": COMFY_MODEL},
},
"2": {
"class_type": "CLIPTextEncode",
"inputs": {"text": prompt, "clip": ["1", 1]},
},
"3": {
"class_type": "CLIPTextEncode",
"inputs": {"text": negative, "clip": ["1", 1]},
},
"4": {
"class_type": "EmptyLatentImage",
"inputs": {"width": 1024, "height": 576, "batch_size": 1},
},
"5": {
"class_type": "KSampler",
"inputs": {
"seed": seed,
"steps": 25,
"cfg": 7.0,
"sampler_name": "euler",
"scheduler": "normal",
"denoise": 1.0,
"model": ["1", 0],
"positive": ["2", 0],
"negative": ["3", 0],
"latent_image": ["4", 0],
},
},
"6": {
"class_type": "VAEDecode",
"inputs": {"samples": ["5", 0], "vae": ["1", 2]},
},
"7": {
"class_type": "SaveImage",
"inputs": {"filename_prefix": "blog_thumb", "images": ["6", 0]},
},
}
def queue_prompt(workflow: dict) -> str:
"""워크플로를 큐에 넣고 prompt_id를 돌려받아요."""
res = requests.post(
f"{COMFY_HOST}/prompt",
json={"prompt": workflow, "client_id": CLIENT_ID},
timeout=30,
)
res.raise_for_status()
return res.json()["prompt_id"]
def wait_for_images(prompt_id: str, timeout: int = 300) -> list:
"""/history를 계속 확인하면서 그림이 다 나올 때까지 기다려요."""
deadline = time.time() + timeout
while time.time() < deadline:
res = requests.get(f"{COMFY_HOST}/history/{prompt_id}", timeout=30)
res.raise_for_status()
history = res.json()
if prompt_id in history:
images = []
for node_output in history[prompt_id]["outputs"].values():
images.extend(node_output.get("images", []))
return images
time.sleep(1)
raise TimeoutError("시간 안에 이미지가 안 나왔어요 (모델 로딩이 오래 걸릴 수 있어요)")
def download(image_info: dict) -> bytes:
"""/view 로 실제 이미지 바이트를 가져와요."""
params = urllib.parse.urlencode(
{
"filename": image_info["filename"],
"subfolder": image_info.get("subfolder", ""),
"type": image_info.get("type", "output"),
}
)
res = requests.get(f"{COMFY_HOST}/view?{params}", timeout=60)
res.raise_for_status()
return res.content
if __name__ == "__main__":
OUTPUT_DIR.mkdir(exist_ok=True)
for i, title in enumerate(TITLES, start=1):
prompt = (
f"flat vector illustration for a tech blog thumbnail about {title}, "
"minimal, clean background, soft blue and purple palette, no text"
)
print(f"[{i}/{len(TITLES)}] 생성 중 - {title}")
prompt_id = queue_prompt(build_workflow(prompt, NEGATIVE, seed=1000 + i))
for n, info in enumerate(wait_for_images(prompt_id), start=1):
path = OUTPUT_DIR / f"{i:02d}_{n}.png"
path.write_bytes(download(info))
print(f" 저장 완료 -> {path}")
print("전부 끝났어요! 🎉")하나씩 뜯어볼게요 💡
build_workflow() : ComfyUI는 화면에서 노드를 선으로 잇잖아요? 그 그래프를 그대로 JSON으로 적은 게 이 딕셔너리예요. 키("1", "2"…)가 노드 번호고, class_type이 노드 종류입니다.
["1", 1] 이 표기 : "1번 노드의 1번째 출력을 여기에 연결"이라는 뜻이에요. CheckpointLoaderSimple은 출력이 순서대로 MODEL(0) / CLIP(1) / VAE(2) 라서, 프롬프트 인코더에는 ["1", 1], VAE 디코더에는 ["1", 2]를 넣어준 거예요. 화면에서 선 긋는 걸 코드로 옮긴 것뿐입니다.
cfg : 프롬프트를 얼마나 곧이곧대로 따를지예요. 7 근처가 무난하고, 높이면 시키는 대로 하지만 그림이 뻣뻣해져요.
seed : 같은 값이면 같은 그림이 나와요. 예제에서 1000 + i로 고정한 이유는, 나중에 마음에 드는 썸네일이 나왔을 때 그 숫자만 알면 똑같이 재현할 수 있어서예요 🎯
/prompt → /history → /view 3단계 : ComfyUI API는 비동기 큐 방식이에요. /prompt로 요청하면 이미지가 바로 오는 게 아니라 대기열 번호(prompt_id)만 옵니다. 그래서 /history/{prompt_id}를 계속 찔러보면서 완료를 기다리고, 다 되면 /view로 파일을 받아오는 거예요. (A1111 API가 응답에 base64 이미지를 바로 담아주던 것과 가장 다른 지점입니다.)
negative_prompt에 text, watermark : AI가 이미지 안에 이상한 영어 글자를 그려 넣는 걸 줄여줘요. 썸네일 글자는 나중에 직접 얹는 게 훨씬 깔끔합니다 ✍️
📌 실행 결과
터미널에 이렇게 찍히면 성공이에요.
[1/3] 생성 중 - discord bot development
저장 완료 -> thumbnails/01_1.png
[2/3] 생성 중 - python office automation
저장 완료 -> thumbnails/02_1.png
[3/3] 생성 중 - raspberry pi home server
저장 완료 -> thumbnails/03_1.png
전부 끝났어요! 🎉thumbnails/ 폴더에 1024x576 이미지가 쌓여 있을 거예요. 티스토리 대표 이미지 비율에 딱 맞습니다. TITLES 리스트에 제목 10개를 넣어두고 커피 한 잔 마시고 오면 썸네일 10장이 끝나 있어요 ☕

⚖️ AI 이미지, 블로그에 써도 되나요?
제일 많이 받는 질문이라 따로 정리할게요. 한국저작권위원회가 2025년 6월 30일에 낸 생성형 AI 활용 저작물의 저작권 등록 안내서 기준입니다.
1. 써도 됩니다. 서비스 약관만 지키면 돼요. 다만 위에서 본 것처럼 무료 플랜이 비상업 전용인 서비스가 실제로 있으니 그것만 확인하세요.
2. 그런데 "내 저작물"은 아니에요. 안내서는 "인간이 아닌 생성형 AI가 기계적으로 만들어낸 결과물은 저작물의 성립요건을 갖추지 못한다"고 못 박습니다. 즉 순수 AI 산출물은 저작권 등록이 안 되고, 남이 퍼가도 저작권 침해를 주장하기 어려워요.
3. 프롬프트를 아무리 잘 써도 안 됩니다. "프롬프트 입력 행위는 일반적으로 아이디어 제공 또는 지시 정도에 불과하다"는 게 공식 입장이에요. 크기 조정이나 단순 색상 변경도 창작적 기여로 안 봅니다. 인페인팅으로 고치고 배열하는 표현 단계의 개입 + 그 과정 기록이 있어야 해요.
4. 허위로 등록하면 처벌 대상이에요. 저작권법 제136조 제2항 제2호, 3년 이하 징역 또는 3천만 원 이하 벌금입니다. "AI로 만든 걸 내가 그렸다"고 등록하시면 안 돼요 ⚠️
5. 진짜 위험한 건 저작권이 아니라 상표·캐릭터예요. 게티이미지가 Stability AI를 상대로 낸 영국 소송(2025-11-04 판결)에서 실제로 인정된 침해는 저작권이 아니라 게티 워터마크를 재현한 상표 침해였어요. 유명 캐릭터나 브랜드 로고 비슷한 걸 뽑아서 쓰는 게 훨씬 위험합니다.
💬 참고로 AI기본법이 2026년 1월 22일부터 시행돼서 "AI 생성물 표시 의무"가 생겼는데, 규율 대상은 인공지능사업자이고 이용자는 제외입니다. 개인 블로거가 썸네일에 표시를 안 했다고 법 위반이 되는 건 아니에요. 다만 오픈AI 약관은 "AI가 만든 걸 사람이 만든 것처럼 표시하는 행위"를 금지하고 있으니, "AI 생성 이미지" 한 줄 캡션은 법이 아니라 약관 때문에 달아두는 게 안전합니다 🙂
⚠️ 저는 변호사가 아니라서 위 내용은 공식 안내서와 약관을 정리한 것이고, 판단이 애매하면 전문가 상담을 권해드려요.
📌 자주 나는 에러
1. ConnectionError: Connection refused
원인 : ComfyUI가 안 켜져 있어요.
해결 : ComfyUI를 먼저 실행하고 브라우저에서 http://127.0.0.1:8188이 열리는지 확인하세요. 포트를 바꿨다면 .env의 COMFY_HOST도 같이 바꿔주세요.
2. 400 Bad Request + prompt outputs failed validation
원인 : 십중팔구 ckpt_name이 틀렸어요.
해결 : .env의 COMFY_MODEL 값이 models/checkpoints/ 안의 파일명과 확장자까지 정확히 같아야 해요. http://127.0.0.1:8188/object_info를 브라우저로 열면 실제 인식된 모델 목록을 볼 수 있어요.
3. 계속 기다리다가 TimeoutError
원인 : 첫 실행은 모델을 VRAM에 올리느라 오래 걸려요.
해결 : ComfyUI 터미널 로그를 보세요. 진행 막대가 돌고 있으면 정상이고, timeout 값을 600 정도로 늘리면 됩니다.
4. CUDA out of memory
원인 : 그래픽카드 메모리가 부족해요.
해결 : width/height를 768x432로 줄이거나, ComfyUI를 --lowvram 옵션으로 실행하세요. SDXL은 보통 VRAM 8GB 이상을 권장합니다.
5. COMFY_MODEL이 None으로 나와요
원인 : .env 파일 위치나 이름이 잘못됐어요.
해결 : 파일 이름이 env.txt가 아니라 정확히 .env인지, 스크립트를 실행하는 폴더에 있는지 확인하세요. 윈도우 탐색기는 확장자를 숨기니 조심 ⚠️
📌 마무리
오늘은 무료 AI 이미지 생성 도구를 쭉 훑어봤어요. 정리하면,
- 급할 땐 제미나이, 숫자가 명확한 건 코파일럿(하루 15장 빠른 생성)
- 상업적 이용을 문서로 보장받고 싶으면 파이어플라이 자체 모델
- 마이크로소프트 디자이너는 비상업 전용 — 이거 하나만 기억해도 오늘 글 값어치는 했어요
- 한도 없이 대량으로 뽑으려면 ComfyUI + Apache 2.0 모델
- AI 이미지는 써도 되지만 내 저작물은 아니다
무료 도구들은 정책이 정말 자주 바뀌어요. 이 글의 수치는 2026년 8월 17일 기준 공식 문서를 확인한 것이고, 몇 달 뒤엔 또 달라져 있을 겁니다. 숫자보다는 "약관을 직접 확인하는 습관"을 가져가시면 좋겠어요 🙂
다음 편에서는 파이썬 requests로 오픈 API 활용하기를 다뤄볼게요. 오늘 ComfyUI에 요청을 보낸 것처럼, 공공데이터포털이나 날씨 API 같은 걸 파이썬으로 불러와서 써먹는 방법이에요. 기대해주세요 🙌
함께 보면 좋은 글 (내부링크 자리)
- 무료 AI 코딩 도구 비교 2026 - Claude Code vs Cursor vs 코파일럿(Copilot), 뭐부터 시작할까? 🤖
- 파이썬 업무 자동화 #5 - 로컬 LLM(LM Studio)으로 고객 문의 자동 분류·요약하기! (무료 AI)
- 바이브 코딩(Vibe Coding)이란? Claude Code·Cursor로 AI 코딩 시작하기 (입문 가이드) 🤖
궁금한 점이나 "이 도구는 어때요?" 하는 제보는 댓글로 남겨주세요! 다음 글에서 만나요 😎
