사이드 프로젝트에 이미지 생성 붙이려다 삽질한 기록
토이 프로젝트에 이미지 생성 기능을 넣고 싶어서 여러 모델을 테스트해봤습니다. 결론부터 말하면 미드저니는 API가 없어서 탈락이었고, 남은 선택지에서 고른 과정 공유합니다.
요구사항
REST API로 호출 가능할 것
한 장당 $0.05 이하
한글 프롬프트 지원하면 좋겠음 (필수는 아님)
첫 번째 삽질: 미드저니
퀄리티가 가장 좋다고 해서 미드저니부터 봤는데, 공식 API가 없습니다. Discord 봇으로만 동작해요. 비공식 래퍼가 npm에 몇 개 있긴 한데 ToS 위반 리스크가 있어서 포기.
두 번째 삽질: 스테이블 디퓨전 로컬
무료라서 로컬에서 돌려봤는데, 제 GPU가 8GB라 모델 로딩만 한참. ComfyUI 세팅하는 데만 반나절 걸렸고, 결과물 퀄리티도 기대 이하. 파인튜닝하면 좋아진다는데 그건 또 다른 삽질이라 일단 보류.
결국 정착: Flux (fal.ai)
fal.ai에서 호스팅하는 Flux가 가장 현실적이었습니다.
import fal_client
result = fal_client.subscribe(
"fal-ai/flux/dev",
arguments={
"prompt": "minimalist app icon, white background, flat design",
"image_size": "square"
}
)
print(result["images"][0]["url"])장당 ~$0.025
응답 3~5초
오픈소스라 다른 호스팅(Replicate 등)으로도 갈아탈 수 있음
GPT도 써봤는데
from openai import OpenAI
client = OpenAI()
result = client.images.generate(
model="gpt-image-1",
prompt="미니멀한 앱 아이콘, 흰 배경, 플랫 디자인",
size="1024x1024"
)한글 프롬프트가 그대로 먹힌다는 게 장점. 다만 장당 ~$0.04로 Flux보다 비쌈. 퀄리티는 비슷한 수준인데 스타일이 좀 다릅니다. Flux가 좀 더 사실적이고 GPT는 특유의 질감이 있습니다..
모델별 프롬프트 차이
이게 은근 헷갈렸는데, 모델마다 최적 프롬프트 스타일이 다릅니다:
# Flux: 자연어 서술형
A minimalist flat design app icon on white background, clean lines
# GPT: 한글 OK
미니멀한 플랫 디자인 앱 아이콘. 흰색 배경.
# 미드저니: 키워드 나열 (API 없지만 참고)
app icon, minimal, flat --v 6.1전체 비교
제가 테스트한 건 Flux, DALL-E, SD, 미드저니 정도인데, 12개를 전부 같은 조건에서 비교한 글이 있더라고요. 리크래프트나 Z이미지 같은 건 여기서 처음 알았습니다:
이미지 생성 API 쓰고 계신 분, 프로덕션에서 안정성 어떤가요? 간헐적으로 타임아웃 나는 경우가 있어서 fallback 처리를 고민 중입니다.