Skip to main content
POST
Text-to-Image: generate an image from a text prompt
오른쪽의 대화형 Playground는 직접 온라인 테스트를 지원합니다. Authorization 필드에 API 키를 입력하고(형식: Bearer sk-xxx), prompt를 입력한 뒤 전송을 클릭합니다.
범위: 이 페이지는 텍스트-투-이미지 생성용입니다. prompt만 입력하면 되며 이미지 업로드는 필요하지 않습니다. 기존 이미지를 편집하거나 합성하려면 이미지 편집 엔드포인트를 사용하십시오.
🖥️ 브라우저 Playground 제한(기본 b64_json 모드)이 엔드포인트는 기본적으로 response_format: "b64_json"를 사용하므로, 응답에 수 MB 크기의 base64 문자열이 포함되고 브라우저 Playground에 请求时发生错误: unable to complete request가 표시될 수 있습니다. — 요청은 실제로 성공한 것입니다; 브라우저가 이렇게 긴 base64 문자열을 렌더링할 수 없을 뿐입니다.권장 워크플로:
  • Playground에서 이미지만 확인하고 싶으신가요? "response_format": "url"를 명시적으로 전달하십시오 — 응답은 단일 R2 링크이며 문제없이 렌더링됩니다.
  • base64가 필요하신가요? 아래 코드 샘플을 복사해 로컬에서 실행하십시오 — 코드가 이미지를 자동으로 디코딩하고 파일로 저장합니다.
모든 이미지 API는 동기식입니다 — 조회할 task ID가 없으며, 클라이언트가 연결을 끊으면 요청은 여전히 과금된 상태로 유지되지만 결과는 사라집니다. 이 모델에는 넉넉한 timeout을 설정하십시오. Image API Essentials & Best Practices를 참조하십시오.
⚠️ 파라미터 지원
  • size: 이 필드는 효과가 없습니다auto나 어떤 구체적인 값을 보내도 오류는 발생하지 않지만, 해당 값은 서버에서 조용히 무시됩니다. 크기는 전적으로 prompt에 의해 결정됩니다:
    • prompt에 크기/비율이 언급된 경우(예: “Landscape 16:9”) → 모델이 prompt를 따릅니다
    • prompt에 크기 힌트가 없는 경우 → 같은 prompt라도 호출마다 서로 다른 크기가 나오며, 마치 “다른 카드를 뽑는 것”과 같습니다 — 여러 구성을 탐색할 때 유용합니다
    • 크기를 엄격하게 고정하려면 gpt-image-2-vip를 사용하십시오(auto + 30개의 명시적 크기 지원)
  • n / quality / aspect_ratio: ❌ 거부됩니다. 이를 보내면 파라미터 검증 오류가 발생할 수 있습니다.
크기와 비율은 prompt에 직접 작성하십시오. 예:
  • Landscape 16:9 cinematic, old lighthouse by the sea at dusk
  • Portrait 9:16 phone wallpaper, cyberpunk city rainy night
  • 1024×1024 square logo, minimalist cat line art
크기 설명은 prompt의 앞부분에 두십시오. 그래야 반영이 더 잘됩니다.

코드 예시

Python

b64_json 모드(이미지 데이터를 base64로 반환):

cURL

Node.js

위의 undici import는 별도로 설치해야 하며(npm i undici), 기본 제공되는 fetch을 구동하지만 해당 모듈 이름으로 노출되지는 않습니다. 또한 설치한 사본은 setGlobalDispatcher을 통해 기본 제공되는 fetch에 계속 연결됩니다.maxRetries, connectTimeout 및 전체 요청 타임아웃은 서로 다른 계층에 있으며, 잘못된 항목을 구성하는 것이 Node 측에서 가장 흔한 실수입니다. 연결 재설정, UND_ERR_CONNECT_TIMEOUT 또는 프록시 뒤에서 대규모 응답이 잘리는 문제가 발생하는 경우 이미지 API 연결 끊김 문제 해결을 참조하십시오.

브라우저 JavaScript(Fetch)

매개변수 빠른 참조

자세한 매개변수 제약 조건과 허용되는 값은 오른쪽 플레이그라운드에 표시됩니다. response_format 필드에서는 드롭다운 선택을 지원합니다.

응답 형식

data[0]url 또는 b64_json 중 하나만 반환합니다 — 둘 다는 아닙니다 (response_format에 따라 다릅니다). 이 엔드포인트는 기본값이 b64_json입니다. b64_json 모드 (기본값):
url 모드 (명시적인 "response_format": "url"가 필요합니다, R2 CDN 전역 가속 적용):
호환성 참고: 2026년 7월 검증됨 — b64_json 필드는 data: 접두사가 없는 원시 base64입니다. 파일을 기록하려면 디코드하거나, 렌더링하기 전에 직접 접두사를 추가하십시오. 이전 버전에는 접두사가 포함되어 있었습니다, 따라서 두 형태를 모두 처리할 수 있도록 항상 먼저 startsWith('data:') 검사를 실행하십시오.

인증

Authorization
string
header
필수

API Key from the API易 Console

본문

application/json
model
enum<string>
기본값:gpt-image-2.5-all
필수

Model name: gpt-image-2.5-all or gpt-image-2-all (same ChatGPT web line, same price and behavior)

사용 가능한 옵션:
gpt-image-2.5-all,
gpt-image-2-all
prompt
string
필수

Prompt. Include size/ratio/style here, e.g., Landscape 16:9 cinematic, old lighthouse at sunset

예시:

"Landscape 16:9 cinematic, old lighthouse at sunset"

response_format
enum<string>
기본값:b64_json

Response format. b64_json returns a base64 string already prefixed with a data URL header (default); url returns an R2 CDN link

사용 가능한 옵션:
b64_json,
url

응답

Image successfully generated. Defaults to base64 in data[0].b64_jsonurl is not returned in the same response.

Image generation response. data[0] returns either url or b64_json, never both (depends on response_format; this endpoint defaults to b64_json).

data
object[]

Result array (this model returns 1 image per call)

created
integer

Unix timestamp (seconds)

usage
object

Token usage statistics