ChatGPT SDXL 프롬프트 생성기 vs 자체 API 스크립트 스크립트
ChatGPT SDXL 프롬프트 생성기 워크플로우는 채팅 창을 열고 아이디어를 입력한 뒤, 답변을 이미지 도구로 복사하여 반복하는 것입니다. 10개 프롬프트에는 적합하지만 1,000개에는 매우 고통스럽습니다. 이 글은 이러한 작업을 API를 호출하는 짧은 스크립트와 비교하고, 두 방식의 수치를 제시합니다.


주요 포인트
- 수동 채팅은 스타일 탐색에 가장 적합하며, 스크립트는 대량 또는 반복 작업에 가장 적합합니다.
- 수동 프롬프트당 30초가 소요되면 1,000개 프롬프트에는 약 8.3시간이 걸립니다. 스크립트는 분 단위로 완료할 수 있습니다.
- 이 API에서 약 300 토큰 입력, 200 토큰 출력 프롬프트 1,000개 생성 비용은 약 $0.145입니다.
- 스크립트는 채팅 창이 제공하지 않는 고정 형식, 저장된 입력값 및 재시도 기능을 제공합니다.
언어 모델에서 SDXL 프롬프트를 얻는 두 가지 방법
첫 번째 방법은 채팅 어시스턴트입니다. 시스템 스타일 지시문을 한 번 붙여넣은 후, 짧은 아이디어를 하나씩 보내고 각 답변을 이미지 도구로 복사합니다. 코드가 필요하지 않으며, 답변을 즉시 확인할 수 있고 "어둡게, 더 영화처럼"과 같은 수정 지시를 내릴 수 있습니다. 탐색에는 이를 능가하기 어렵습니다.
두 번째 방법은 스크립트입니다. 코드에 지시문을 한 번 작성하고, 파일에서 아이디어 목록을 불러온 후, 각 항목에 대해 채팅 완료 엔드포인트를 호출하여 결과를 파일에 기록하거나 이미지 생성기로 직접 보냅니다. 이 서비스는 독립적인 제공업체의 오픈 웨이트 모델 하나를 제공하는 OpenAI 호환 텍스트 전용 API입니다. ChatGPT가 아니며 OpenAI 제품이 아니지만, 베이스 URL과 키를 변경하면 어떤 OpenAI SDK에서도 이 서비스에 연결할 수 있습니다.
어떤 방식도 그림을 그리지 않습니다. 두 방식 모두 모델이 텍스트를 생성하고, 별도의 도구(예: SDXL)가 이를 렌더링합니다.
나란히 비교
| 요인 | 채팅 창 | API 스크립트 |
|---|---|---|
| 설정 | 없음 | 키, Python 코드 30줄 |
| 최적 배치 크기 | 1~20개 프롬프트 | 수백~수천 개 |
| 출력 형식 | 채팅이 반환하는 그대로; 수동으로 정리 필요 | JSON 모드에서 파싱 가능한 필드 반환 |
| 반복 가능성 | 대화가 길어질수록 일관성이 떨어짐 | 모든 호출에 동일한 지시문, 선택적 시드 |
| 반복 작업 | 자연스러움: 피드백과 함께 응답 | 스크립트 수정 후 재실행 |
| 비용 모델 | 보유한 플랜에 따라 다름; 현재 약관을 확인하세요 | 토큰 단위 과금, 선불 크레딧 |
| 거부 응답 | 어시스턴트의 콘텐츠 정책 기준 | 이 모델은 합법적인 성인 용도를 위해 콘텐츠 거부 없이 응답합니다 |
솔직한 요약: 주당 몇 장의 이미지를 생성하고 대화하는 것을 즐긴다면 채팅을 유지하세요. 복사·붙여넣기가 파이프라인에서 가장 느린 단계가 될 때 스크립트가 효과를 발휘합니다.
복사·붙여넣기의 시간 비용
합리적인 가정: 프롬프트당 30초(아이디어 입력, 대기, 결과 복사 및 붙여넣기). 1,000개 프롬프트는 1,000 × 30초 = 30,000초, 즉 약 8.3시간의 집중 시간이 필요합니다.
스크립트는 다른 형태를 가집니다. 각 API 호출에 약 5초가 걸린다고 가정해 봅시다(이것은 가정이며, 직접 측정해야 합니다). 전체 키의 동시성 제한인 8개의 요청이 동시에 진행될 때, 1,000개의 호출에는 약 1,000 / 8 × 5초 = 625초가 걸리며, 이는 10분이 약간 넘는 시간입니다. 분당 300개의 요청 제한으로 인해 절대 최소 시간은 3분을 약간 넘는 수준입니다. 스크립트를 실행하고, 커피를 마시며, 나중에 파일을 확인합니다.
절약된 시간이 주요 논거입니다. 비용은 부수적입니다(다음 섹션 참조).
프롬프트 1,000개당 비용
이 API는 입력 토큰 1M당 $0.15, 출력 토큰 1M당 $0.50을 청구합니다. 각 호출이 250개 토큰의 지시문과 50개 토큰의 아이디어(총 300개 입력)를 보내고 200개 토큰의 프롬프트를 반환한다고 가정해 봅시다.
- 입력: 1,000 × 300 = 300,000 토큰 × $0.15 / 1M = $0.045.
- 출력: 1,000 × 200 = 200,000 토큰 × $0.50 / 1M = $0.10.
- 총합: $0.145 (프롬프트 1,000개 기준).
채팅 구독이나 다른 API와 비교하려면 해당 플랜 가격을 월 실제 프롬프트 생성 횟수로 나누고, 기사 수치가 아닌 현재 가격표를 확인하세요. API 키 페이지에서 회원가입 후 한 번의 클릭으로 청구할 수 있는 $0.50 체험 크레딧은 이 크기의 프롬프트 3,400개 이상을 커버합니다. 가격 책정 페이지에서 암호화폐로 $20~$500까지 선불 크레딧을 충전할 수 있습니다.
재시도 기능이 있는 배치 스크립트
아래 스크립트는 ideas.txt에서 아이디어를 읽고, prompts.jsonl에 기록합니다. 6개의 병렬 작업자를 실행하고 429 오류 시 재시도합니다.
import json, time
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.sdxlapi.com/v1", api_key="YOUR_KEY", max_retries=0)
SYSTEM = (
"Expand the idea into one SDXL prompt of 40 to 60 words: subject, setting, "
"lighting, style, mood, comma-separated. Return JSON with key 'prompt'."
)
def make(idea):
for attempt in range(5):
try:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "system", "content": SYSTEM},
{"role": "user", "content": idea}],
response_format={"type": "json_object"},
temperature=0.8,
)
return {"idea": idea, **json.loads(r.choices[0].message.content)}
except RateLimitError:
time.sleep(5 * (attempt + 1))
return {"idea": idea, "prompt": None}
ideas = [l.strip() for l in open("ideas.txt") if l.strip()]
with ThreadPoolExecutor(max_workers=6) as pool, open("prompts.jsonl", "w") as out:
for row in pool.map(make, ideas):
out.write(json.dumps(row, ensure_ascii=False) + "\n")
전체 키에서는 작업자 수를 8 이하로, 체험 키에서는 2 이하로 유지합니다. 코드 concurrency에서 429 오류가 발생하면 이를 낮추십시오. rate_limited은 분당 제한을 초과했음을 의미합니다. 실패한 요청은 청구되지 않으므로 재시도는 무료입니다. 매개변수에 대한 자세한 내용은 docs를 참조하십시오.
스크립트에서 더 나은 출력 얻기
배치의 첫 실행은 보통 최적의 결과가 아닙니다. 세 가지 저렴한 변경 사항이 도구 전환보다 결과를 더 크게 개선합니다.
- 시스템 프롬프트에 두세 가지 예시를 추가하세요. 좋아한 이미지를 생성한 프롬프트를 복사하고, 해당 이미지를 만든 짧은 아이디어를 함께 포함하세요. 모델은 구조와 세부 사항을 그대로 따릅니다.
- 스타일 필드를 전달합니다. "film still", "watercolor", "isometric render"와 같은 작은 사전을 유지하고 각 아이디어에 선택한 스타일을 추가합니다. 하나의 아이디어 목록으로 여러 외관을 얻을 수 있습니다.
- 출력을 필터링합니다. 프롬프트가 25단어보다 짧거나 80단어보다 긴 행을 거부한 후, 해당 행만 다시 실행합니다. 코드에서 짧은 확인은 천 줄을 읽는 것보다 낫습니다.
아이디어를 결과 옆에 저장합니다. 이미지가 잘 나오면 어떤 입력이 그 결과를 생성했는지 정확히 확인해야 하며, 채팅 기록은 스크롤되어 사라집니다. 주제 선택은 사용자의 결정입니다. 이 모델은 합법적인 성인 용도에 맞게 조정되었으며, 미성년자가 관련된 성적 콘텐츠는 절대 생성되지 않는다는 하나의 엄격한 제한만 있습니다.
언제 채팅을 유지할지
스크립트가 항상 더 나은 선택은 아닙니다. 원하는 것을 아직 명확히 알 수 없거나, 각 이미지의 구도를 논의하기 위해 대화가 필요하거나, 설정 시간이 절약되는 시간보다 더 오래 걸릴 정도로 작업량이 적다면 채팅 어시스턴트를 사용하세요. 일반적인 패턴은 채팅을 통해 적절한 지시문을 찾은 후, 그 지시문을 스크립트의 시스템 프롬프트로 붙여넣고 나머지 작업을 거기에서 실행하는 것입니다.
데이터도 고려하세요. 이 API로 전송된 프롬프트는 학습에 사용되지 않습니다. 다른 서비스의 경우 미공개 창작물을 전송하기 전에 데이터 정책을 확인하세요.
더 많은 가이드
질문과 답변
이 API가 ChatGPT와 동일한가요?
아니요. 이는 독립적인 제공업체의 단일 오픈 웨이트 모델을 제공하는 OpenAI 호환 엔드포인트입니다. OpenAI 제품이 아닙니다.
API가 SDXL 이미지도 생성할 수 있나요?
아닙니다. 텍스트만 생성합니다. 프롬프트는 SDXL, ComfyUI, Automatic1111 또는 다른 이미지 도구로 들어갑니다.
프롬프트 1,000개를 생성하는 데 비용이 얼마나 들나요?
입력 토큰 100만 개당 $0.15, 출력 토큰 100만 개당 $0.50의 가격으로, 입력 300개, 출력 200개인 프롬프트의 경우 약 $0.145입니다.
배치 실행 속도는 얼마나 빠른가요?
전체 키는 동시 요청 8개와 분당 300개의 요청을 허용하므로, 짧은 프롬프트 1,000개를 몇 분 안에 완료할 수 있습니다. 체험 키는 동시 2개와 분당 60개를 허용합니다.
키는 양식 하나만 작성하면 받을 수 있습니다
계정을 생성하고 키를 복사한 후 기본 URL을 변경하세요. 설정은 이것으로 끝입니다.