Skip to main content
POST

인증

Authorization
string
header
필수

모든 API는 Bearer Token 인증이 필요합니다.

API Key 발급:

API Key 관리 페이지에서 API Key를 발급받으세요.

요청 헤더에 추가:

본문

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

이미지 생성 모델 이름. 안정성과 제어성이 뛰어나 상업적 용도에 적합합니다.

두 모델의 파라미터는 동일합니다. 같은 quality에서도 실제 토큰 사용량은 약간 다를 수 있으므로 반환된 usage를 기준으로 확인하세요.

사용 가능한 옵션:
gpt-image-2.6-sunburst,
gpt-image-2.6-flare
예시:

"gpt-image-2.6-sunburst"

prompt
string
필수

생성할 이미지 또는 입력 이미지의 편집 방법을 설명하는 프롬프트

길이 제한(두 조건 모두 충족해야 함):

  • 최대 32,000자(유니코드 코드 포인트 기준)
  • prompt 텍스트 자체를 UTF-8로 인코딩했을 때 60,000바이트 이하

문자마다 UTF-8에서 차지하는 바이트 수가 다르므로, 실제 인코딩 후의 바이트 수를 기준으로 확인하세요.

어느 한도라도 초과하면 프롬프트를 줄인 후 다시 제출하세요.

권장 사항: 프롬프트가 8000토큰을 초과하면 생성된 이미지가 기대와 다를 수 있으므로 프롬프트를 줄이는 것을 권장합니다.

Maximum string length: 32000
예시:

"바다 위의 화려하고 아름다운 석양"

image_urls
string<uri>[]

참조 이미지 목록. 공개 URL을 지원하며 이미지 기반 생성 및 이미지 편집에 사용합니다.

참고:

  • 요청당 입력 이미지 수: 1~16장
  • 이미지 한 장의 파일 크기: 50MB 이하
  • 이미지 한 장의 픽셀 수: 너비 × 높이 178,956,970 px 이하
  • 각 변의 길이: 너비와 높이 모두 23170 px 이하. 초과하면 오류가 발생할 수 있습니다
  • 지원 형식: .jpeg, .jpg, .png, .webp
  • URL을 사용할 경우 서버에서 직접 보거나 다운로드할 수 있어야 합니다(일반적으로 .png, .jpg 등의 이미지 확장자로 끝나는 URL)
  • 이미지 기반 생성이나 편집에서는 참조 이미지 자체에 추가 이미지 입력 토큰이 발생합니다
  • markup_url을 사용하면 주석은 첫 번째 이미지에 적용되고 나머지는 참조용으로 사용됩니다. 첫 번째 이미지의 너비 × 높이는 16,777,216 px 이하여야 합니다
  • output_format이 svg이면 참조 이미지를 입력할 수 없습니다
예시:
mask_url
string<uri>

인페인팅 마스크 URL — 참조 이미지에서 다시 생성할 영역을 표시합니다. 이미지 편집 모드에서만 작동합니다(반드시 image_urls와 함께 사용). 텍스트만으로 이미지를 생성하는 요청에서는 mask_url을 지정해도 무시됩니다.

형식 요구사항:

  • 알파 채널이 있는 PNG여야 합니다: 투명 픽셀(alpha < 255) = 다시 생성할 영역, 불투명 픽셀 = 보존됨
  • 마스크 크기는 참조 이미지와 정확히 일치해야 합니다(너비 × 높이, 픽셀 단위)
  • 요청당 마스크는 1개만 지원

참고:

  • image_urls에 최소 1장의 참조 이미지가 필요합니다. 마스크만 보내면 효과가 없습니다
  • markup_url과 함께 사용할 수 없습니다
  • 자주 발생하는 오류:
    • Invalid mask image format - mask image missing alpha channel: 업로드한 이미지에 알파 채널이 없습니다(JPEG, 불투명 PNG 등). 투명 영역이 있는 PNG로 다시 내보내세요.
    • Invalid mask image format - mask size does not match image size: 마스크와 참조 이미지의 크기가 일치하지 않습니다. 마스크를 참조 이미지와 동일한 픽셀 크기로 조정하세요.
예시:

"https://example.com/mask.png"

markup_url
string<uri>

주석 레이어 이미지의 공개 URL. 원, 화살표, 낙서 등으로 수정할 위치를 표시하고 prompt로 구체적인 변경 내용을 설명합니다. 이미지 편집 모드에서만 작동합니다(image_urls 필수).

형식 요구사항:

  • 투명 픽셀이 포함된 PNG여야 합니다. 주석만 그리고 나머지 영역은 투명하게 유지하세요. 원본 이미지에 직접 주석을 그리지 마세요
  • 첫 번째 참조 이미지와 크기가 정확히 일치해야 합니다(너비 × 높이, 픽셀 단위)
  • 첫 번째 참조 이미지와 주석 레이어는 각각 너비 × 높이가 16,777,216 px 이하여야 합니다
  • 파일 크기: 50MB 이하

참고:

  • 주석은 image_urls의 첫 번째 이미지에 적용되며 나머지 이미지는 참조용으로 사용됩니다
  • mask_url과 함께 사용할 수 없습니다
  • 일반 이미지 및 GIF 편집을 지원하며 SVG는 지원하지 않습니다
  • model_params.markup_url에 넣을 수도 있습니다. 두 위치에 모두 지정하면 최상위 값이 우선합니다
  • prompt에 유지할 내용도 함께 설명하는 것을 권장합니다. 예: "나머지는 그대로 유지하고 빨간 원은 제거하세요"
예시:

"https://example.com/markup.png"

size
string
기본값:auto

생성 이미지의 크기. 기본값은 auto입니다. 일반 이미지와 SVG 참조 이미지는 아래 공통 규칙을 사용하며, GIF에는 ④의 별도 규칙이 적용됩니다.

① 일반 이미지 / SVG 참조 이미지: 비율 형식(15종)

  • 1:1: 정사각형
  • 1:2 / 2:1: 긴 세로 / 긴 가로
  • 1:3 / 3:1: 매우 긴 세로 / 가로(상한인 3:1)
  • 2:3 / 3:2: 표준 세로 / 가로
  • 3:4 / 4:3: 전통적인 세로 / 가로
  • 4:5 / 5:4: 소셜 미디어에서 자주 사용하는 비율
  • 9:16 / 16:9: 휴대폰 / 데스크톱 와이드 화면
  • 9:21 / 21:9: 울트라와이드

② 일반 이미지 / SVG 참조 이미지: 명시적 픽셀 형식: WxH(또는 W×H). 예: 1024x1024, 1536x1024, 3840×2160

  • 너비와 높이는 모두 16의 정수 배수여야 합니다
  • 각 변의 범위: [16, 3840]
  • 픽셀 예산: 655,360 ≤ width × height ≤ 8,294,400(약 0.65 MP ~ 8.29 MP)
  • 긴 변과 짧은 변의 비율: ≤ 3:1

③ 일반 이미지 / SVG 참조 이미지: auto: 모델이 크기를 자동 결정합니다(이 경우 resolution은 적용되지 않습니다).

④ GIF 출력: size는 각 프레임의 크기를 뜻합니다. auto와 명시적 픽셀 형식만 지원하며 비율 형식은 사용할 수 없습니다.

  • auto이면 각 프레임은 512×512입니다
  • 명시적으로 지정한 프레임의 너비와 높이는 모두 16의 양의 정수 배수여야 합니다
  • GIF의 개별 프레임에는 위의 일반 이미지 최소 픽셀 수 655,360이 적용되지 않습니다. 예를 들어 512x512는 유효합니다
  • 모든 프레임을 배열한 전체 이미지가 변 길이, 총 픽셀 수, 종횡비 제한을 충족해야 합니다. 배열 방식과 프레임 크기 상한은 model_params.frame_count를 참조하세요
  • resolution은 적용되지 않습니다

상한 초과 시:

  • 일반 이미지 / SVG 참조 이미지의 비율과 resolution 조합이 상한을 초과하면 비율을 유지하며 최대 크기까지 자동 축소합니다(예: 4K 2:1 → 3840×1920)
  • 명시적 GIF 프레임 크기가 상한을 초과하면 HTTP 400을 반환하며 자동 축소하지 않습니다
예시:

"auto"

resolution
enum<string>
기본값:1K

해상도 티어 단축 파라미터. size가 비율 형식일 때만 유효하며, 명시적 픽셀 형식과 GIF 출력에서는 이 필드가 무시됩니다

픽셀 버짓 규칙 (목표 총 픽셀 수와 size 비율에서 너비와 높이를 산출하며 16의 배수로 정렬됩니다):

  • 1K: ~1 MP (1024² = 1,048,576 픽셀)
  • 2K: ~4 MP (2048² = 4,194,304 픽셀)
  • 4K: ~8.29 MP (3840×2160 = 8,294,400 픽셀, 최대값)

가로 / 정사각형 실제 출력 크기 (세로 크기는 대응하는 가로의 폭과 높이를 바꾼 것, 예: 2:3 = 3:2 반전):

* 는 픽셀 예산 초과로 비율을 유지한 채 자동 축소된 조합을 나타냅니다. 값은 대소문자를 구분하지 않습니다.

사용 가능한 옵션:
1K,
2K,
4K
예시:

"1K"

quality
enum<string>
기본값:medium

렌더링 품질. 출력 토큰 수와 비용에 직접 영향을 줍니다. 기본값은 medium입니다.

참고:

  • 위 표는 이미지 출력 비용만 비교하며 입력 비용과 SVG 작성 모델 비용은 포함하지 않습니다
  • 표는 1024×1024 기준입니다. 출력 토큰 수는 총 픽셀 수와 종횡비에 따라 달라지므로 실제 값은 반환된 usage를 확인하세요
  • GIF는 모든 프레임을 배열한 전체 이미지 기준으로 계산하며, SVG에서는 참조 이미지에 적용됩니다
  • 빠른 초안에는 low를 사용하고 완성본은 여러 설정을 비교해 세부 표현, 소요 시간, 비용의 균형을 조정하세요
사용 가능한 옵션:
low,
medium,
high,
xhigh,
max
예시:

"medium"

complexity
enum<string>
기본값:high

이미지를 생성하기 전 계획의 깊이. quality와 독립적이며 기본값은 high입니다.

  • low: 배경 교체나 간판 글자 수정 등 부분적인 변경에 적합합니다
  • medium: 균형 잡힌 설정
  • high: 글자가 많거나 레이아웃 및 사물 간 관계가 복잡한 장면에 적합합니다

참고:

  • 설정이 높을수록 시간이 오래 걸리며 원치 않는 변경이 생길 수도 있습니다. 작업에 맞게 결과를 비교하세요
  • complexity 변경에는 추가 요금이 부과되지 않습니다
  • SVG에서는 참조 이미지에 적용됩니다
  • model_params.complexity에 넣을 수도 있습니다. 두 위치에 모두 지정하면 최상위 값이 우선합니다
사용 가능한 옵션:
low,
medium,
high
예시:

"high"

background
enum<string>
기본값:opaque

출력 이미지의 알파 채널. 기본값은 opaque

  • opaque: 불투명 배경, 알파 채널 없음
  • transparent: 알파 채널을 유지합니다

참고:

  • transparent 는 Preview 기능으로, 결과가 불안정할 수 있습니다
  • transparent를 사용할 때 output_format은 png 또는 webp만 가능합니다
  • output_format이 gif 또는 svg이면 opaque만 지원합니다
사용 가능한 옵션:
opaque,
transparent
예시:

"opaque"

output_format
enum<string>
기본값:png

출력 파일 형식. 기본값은 png입니다.

  • png: 무손실 형식이며 투명 배경을 지원합니다
  • jpeg: 손실 압축 형식으로 파일 크기가 더 작습니다
  • webp: 파일 크기와 품질의 균형을 유지하며 투명 배경도 지원합니다
  • gif: GIF 애니메이션. 프레임 수와 표시 시간은 model_params를 참조하세요
  • svg: SVG 벡터 이미지. 품질 손실 없이 확대 및 축소해야 하는 로고나 아이콘 등에 적합합니다

참고:

  • background가 transparent이면 png 또는 webp만 사용할 수 있습니다
  • gif는 텍스트 기반 생성 및 이미지 편집을 지원합니다
  • gif와 svg에서는 n을 1로만 지정할 수 있습니다
  • svg는 텍스트 기반 이미지 생성만 지원합니다
  • SVG는 먼저 이미지 모델이 참조 이미지를 생성한 다음 작성 모델(model_params.svg_model)이 벡터 이미지로 변환합니다. 작성 모델이 사용하는 토큰은 선택한 모델에 따라 별도로 과금됩니다
사용 가능한 옵션:
png,
jpeg,
webp,
gif,
svg
예시:

"png"

n
integer
기본값:1

생성할 이미지 개수, 각각 독립적으로 과금됩니다

참고:

  • 텍스트 입력 토큰은 n에 비례하여 확대됩니다
  • n > 1 지원이 현재 불안정합니다. 1보다 큰 값을 지정해도 이미지가 1장만 반환되는 경우가 많습니다. 실제 개수는 응답의 results를 기준으로 하며, 과금은 반환된 usage를 따릅니다. 여러 장이 필요하면 1장씩 여러 번 요청하는 것을 권장합니다
  • output_format이 gif 또는 svg이면 1만 지정할 수 있습니다
필수 범위: 1 <= x <= 10
예시:

1

model_params
object

모델 확장 파라미터. GIF 프레임 파라미터와 SVG 작성 모델 파라미터는 이 객체 안에 지정해야 합니다.

  • frame_count, frame_duration_ms는 output_format=gif에서만 사용할 수 있습니다
  • svg_model, svg_reasoning_effort는 output_format=svg에서만 사용할 수 있습니다
  • 출력 형식과 확장 파라미터가 맞지 않으면 HTTP 400을 반환하며, 이를 조용히 무시하지 않습니다
callback_url
string<uri>

작업 완료 후 HTTPS 콜백 주소

콜백 타이밍:

  • 작업이 완료, 실패 또는 취소될 때 트리거됨
  • 과금 확인 완료 후 전송

보안 제한:

  • HTTPS 프로토콜만 지원
  • 내부 IP 주소로의 콜백 금지 (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x 등)
  • URL 길이는 2048자를 초과할 수 없음

콜백 메커니즘:

  • 타임아웃: 10초
  • 실패 시 최대 3회 재시도 (1초/2초/4초 후 재시도)
  • 콜백 응답 본문 형식은 작업 조회 API 응답 형식과 동일
  • 콜백 주소가 2xx 상태 코드를 반환하면 성공으로 간주, 다른 상태 코드는 재시도를 트리거
예시:

"https://your-domain.com/webhooks/image-task-completed"

응답

이미지 작업이 성공적으로 생성되었습니다

created
integer

작업 생성 타임스탬프

예시:

1757156493

id
string

작업 ID

예시:

"task-unified-1757156493-imcg5zqt"

model
string

실제 사용된 모델 이름

예시:

"gpt-image-2.6-sunburst"

object
enum<string>

구체적인 작업 유형

사용 가능한 옵션:
image.generation.task
progress
integer

작업 진행률 (0-100)

필수 범위: 0 <= x <= 100
예시:

1

status
enum<string>

작업 상태. 대기 중이거나 생성 중이면 processing을 반환하며 최종 상태는 completed 또는 failed입니다.

사용 가능한 옵션:
processing,
completed,
failed
예시:

"processing"

task_info
object

비동기 작업 정보

type
enum<string>

작업 출력 유형

사용 가능한 옵션:
text,
image,
audio,
video
예시:

"image"

usage
object

사용량 및 과금 정보