고객의 질문: ChatGPT는 그렇지 않은데 왜 API는 32K로 제한되나요?
익명 처리된 대화 내용:고객: prompt 길이가 ChatGPT와 다릅니다. 32K로 제한된 것 같습니다. 당사: 제한이 있습니다. 32K prompt를 사용하는 이미지 작업이 어디 있습니까? 고객: 많습니다. 광고 소재, 패키지 규격 등… 그냥 직접 Codex CLI를 호출하겠습니다. 당사: 확인차 여쭙는데, 32,000 token prompt 말씀이십니까? 고객: 네. 영문 32,000자는 전혀 길지 않습니다.여기에는 세 가지 서로 다른 개념이 얽혀 있습니다. 먼저 이를 구분해 보겠습니다:
“영문 32,000자는 전혀 길지 않다”는 말은 문자 수에 관한 진술이며, 이는 타당합니다. 하지만 고객이 비교 대상으로 삼은 ChatGPT 웹 앱은 완전히 다른 경로를 거칩니다.
32K 제한의 출처
prompt 필드에 대한 공식 OpenAI Images API 제한(/v1/images/generations 및 /v1/images/edits도 동일)은 다음과 같습니다.
출처: OpenAI API 참조 문서,
developers.openai.com/api/reference/resources/images/methods/generate.
문자는 token이 아닙니다. 과금과 모델 이해는 모두 token을 기준으로 처리되며, usage.input_tokens_details.text_tokens은 호출당 실제로 소비된 텍스트 tokens를 보고합니다. 동일한 32,000자라 하더라도 영어로는 약 8K tokens인 반면, 각 글자가 더 많은 tokens에 매핑되고 더 많은 정보를 담는 중국어에서는 눈에 띄게 더 많아집니다. 따라서 “영어 32K는 짧다”와 “중국어 32K는 길다”는 말이 모두 사실일 수 있으며, 중국어는 32,000자에 도달하기도 전에 8,192-token 기준선에 도달하게 됩니다.
ChatGPT 웹 앱이 무제한처럼 보이는 이유
만족스러운 이미지를 얻는 방법 및 안전 거부와 같은 핵심 내용입니다. 웹 앱은 에이전트이고, API는 단일 원자적 호출입니다.- ChatGPT에 긴 문서를 붙여 넣으면 이를 읽는 주체는 이미지 모델이 아니라 채팅 모델입니다. 채팅 모델은 문서를 읽은 후 자체적으로 짧은 이미지 prompt를 작성하고 해당 prompt로 이미지 도구를 호출합니다. 이미지 모델은 원본 자료를 전혀 보지 못합니다. 10,000자를 초과하는 붙여넣기 내용은 첨부 파일로 자동 변환되기도 하므로(OpenAI 도움말 센터,
help.openai.com), 해당 텍스트가 채팅 모델을 위한 것임이 더욱 분명합니다. - API를 사용하면 이미지 모델과 직접 통신합니다. 중간에서 누군가 자료를 읽고 사용자를 대신해 선택하지 않습니다. 제한은 이미지 모델 계층에 속하며, 웹 앱은 이미지 모델을 해당 자료에 노출하지 않습니다.
- 고객이 마지막에 남긴 “Codex CLI를 직접 호출하겠습니다”라는 말은 올바른 방향입니다. 텍스트 모델이 자료를 읽고 이미지 prompt를 생성하도록 하면 됩니다. 이것이 바로 웹 앱이 내부적으로 수행하는 작업이며, 아래의 2단계 파이프라인을 사용하면 실행할 수 있습니다.
긴 prompt의 두 가지 비용
먼저 비용, 그다음 결과입니다. 비용: gpt-image 제품군의 텍스트 입력은 token당 과금됩니다($5.00/백만 token,gpt-image-2.5 기준, 개요 과금 표 참조). 32,000자 분량의 영어 prompt는 약 8K token으로, 호출당 대략 $0.04가 듭니다. 중국어는 비용이 더 높습니다. 한 번만 보면 적은 금액이지만 이미지 수를 곱하면 커지고, 재시도할 때마다 다시 지불해야 합니다. prompt의 90%가 장면 설명이 아닌 원자료라면, 지출 대부분은 아무런 가치를 만들지 못합니다.
결과: 세부 정보가 많다고 해서 지시 준수도가 더 높아지는 것은 아닙니다. 수백 가지 요구 사항을 한 번에 이미지 모델 앞에 제시하면 서로 경쟁하게 되며, 실제로 중요한 엄격한 제약 조건(로고가 왜곡되지 않을 것, 패키지 문구가 정확할 것, 사람 수)이 묻히게 됩니다. OpenAI 자체 이미지 prompt 지침에서도 먼저 명확한 한 문장부터 세 문장으로 시작한 다음, 필요한 구성, 조명 및 엄격한 제약 조건을 추가하라고 안내합니다(openai.com/academy/image-generation). 이미지 모델에 필요한 것은 단어 수가 아니라 명확한 우선순위를 갖춘 정보 밀도입니다.
따라서 “전문 광고에는 요구 사항이 많다”는 말은 맞지만, 상세한 것과 긴 것은 같지 않습니다. 고급 이미지 생성의 여섯 가지 요소와 이미지 Prompt 닥터 스킬의 “prompt를 형용사로 채우지 말 것”이라는 규칙도 같은 내용을 말합니다.
2단계: 텍스트 모델로 자료 처리, 이미지 모델로 prompt 전달
이미지 작업에 실제로 32K 분량의 자료가 수반되는 경우, 대개 브랜드 북, 패키징 사양서, 광고 브리프 또는 캐릭터 설정집 등에 해당합니다. 이러한 자료는 먼저 텍스트 모델에 전달되어 이미지 모델을 위한 하나의 밀도 높은 prompt로 요약·정제되어야 합니다:
요약·정제 출력 템플릿은 6가지 기본 요소 외에 광고 관련 섹션 3개를 추가합니다:
1
자료를 있는 그대로 텍스트 모델에 전달합니다
브랜드 북, 사양서, 브리프 등: 텍스트 모델의 컨텍스트가 충분히 크므로 전처리가 필요하지 않습니다. 시스템 prompt에 출력 템플릿, 글자 수 제한(2,500자 이하가 적절한 목표치임), “하드 제약 조건 우선”을 명시하십시오.
2
길이 검증 게이트로 prompt를 확인합니다
길이를 확인하십시오. 한자 10,000자 또는 영문 30,000자(추정 8,000 tokens)를 초과하는 경우 텍스트 모델을 통해 한 번 더 압축하도록 합니다. 한도를 초과해도 오류가 발생하지 않고 잘못된 이미지가 생성될 뿐이므로, 이 검증 게이트를 직접 적용해야 합니다. 요약·정제된 prompt는 일반적으로 1,000~2,000자 내외이므로 이 단계는 안전장치 역할을 합니다.
3
prompt를 저장한 후 이미지 모델을 호출합니다
요약·정제된 prompt를 저장하고 생성 작업에는 이 prompt만 재사용하십시오. 재시도, 크기 변경, 모델 교체 시 자료를 다시 읽거나 이에 대한 tokens를 다시 지불하지 않습니다.
4
자료가 변경되면 1단계만 다시 실행합니다
패키징 리디자인 또는 브리프 업데이트 발생 시: 다시 요약·정제합니다. 이미지 생성 코드와 파라미터는 수정할 필요가 없습니다.
실제로 긴 prompt가 필요한 경우
몇 가지 상황에서는 prompt가 길어질 수 있지만, 어떤 경우에도 32K 근처에 이르지는 않습니다:- 다중 이미지 편집: 참조 이미지를 “image 1 / image 2 / image 3”과 같이 지칭하고 각 이미지에서 무엇을 반영할지 명시합니다. 수백 자 수준입니다.
- 이미지 내부 텍스트: 간판, 포스터, 패키지 문구 등은 모델에 임의로 맡기지 않고 그대로 작성해야 합니다. 수십에서 수백 자 수준입니다.
- 시리즈를 위한 공통 접두사: 배치에 공통으로 적용되는 스타일, 조명, 구도 블록입니다. 1,000자 미만입니다.
빠른 참조
- 실제 유효 제한은 8,192 tokens입니다(실측 기준): 이를 초과하면 공급자 측에서 오류를 반환하지 않고 전체 prompt를 자동으로 무시합니다. 문서에 기재된 32,000자는 영어 기준으로 대략 이에 상응하며, 중국어는 약 11,000자에서 제한에 도달합니다. APIYI의 공식 릴레이는 이를 축소하지 않습니다.
- 문자 수, tokens 및 컨텍스트 윈도우는 서로 다른 세 가지 개념입니다: 영문 32K자는 약 8K tokens이며 중국어는 더 많은 tokens를 소모합니다. 텍스트 모델의 컨텍스트 윈도우는 이미지 모델의 prompt 제한과 전혀 무관합니다.
- 웹 앱의 “무제한”은 착시입니다: 채팅 모델이 자료를 읽고 이미지 도구를 위한 자체적인 짧은 prompt를 작성하므로, 이미지 모델은 32K자에 직접 직면하지 않습니다.
- 상세함이 곧 긴 길이를 의미하는 것은 아닙니다: 텍스트 입력은 token당 과금되며 재시도할 때마다 비용이 다시 청구됩니다. 수백 개의 상충되는 요구 사항은 핵심 제약 조건을 파묻히게 만듭니다.
- 2단계 프로세스: 텍스트 모델을 사용하여 자료를 1K~3K자의 구조화된 prompt로 정제하고, 핵심 제약 조건을 가장 먼저 배치한 후 영구 저장하여, 생성 시에는 해당 prompt만을 재사용합니다.