> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# GPT Image 2.6 이미지 생성

> - GPT Image 2.6(gpt-image-2.6-sunburst / gpt-image-2.6-flare)는 텍스트 기반 이미지 생성, 이미지 기반 생성, 이미지 편집, 주석 기반 편집을 지원하며 GIF 애니메이션과 SVG 벡터 이미지도 출력할 수 있습니다
- 비동기 처리 방식입니다. 반환된 작업 ID로 [결과를 조회](/ko/api-manual/task-management/get-task-detail)하세요
- 생성된 이미지 링크는 24시간 동안 유효합니다. 가능한 한 빨리 저장하세요



## OpenAPI

````yaml ko/api-manual/image-series/gpt-image-2.6/gpt-image-2.6-image-generation.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: gpt-image-2.6 API
  description: AI 모델을 사용하여 이미지 작업을 생성하며, 다양한 모델 및 파라미터 설정을 지원합니다
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: 프로덕션
security:
  - bearerAuth: []
tags:
  - name: 이미지 생성
    description: AI 이미지 생성 관련 API
paths:
  /v1/images/generations:
    post:
      tags:
        - 이미지 생성
      summary: gpt-image-2.6 API
      description: >-
        - GPT Image 2.6(gpt-image-2.6-sunburst / gpt-image-2.6-flare)는 텍스트 기반
        이미지 생성, 이미지 기반 생성, 이미지 편집, 주석 기반 편집을 지원하며 GIF 애니메이션과 SVG 벡터 이미지도 출력할 수
        있습니다

        - 비동기 처리 방식입니다. 반환된 작업 ID로 [결과를
        조회](/ko/api-manual/task-management/get-task-detail)하세요

        - 생성된 이미지 링크는 24시간 동안 유효합니다. 가능한 한 빨리 저장하세요
      operationId: createImageGenerationGptImage26
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              text_to_image:
                summary: 텍스트에서 이미지 (기본)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 바다 위의 화려하고 아름다운 석양
              text_to_image_hd:
                summary: 텍스트에서 이미지 (고해상도 16:9)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 황혼의 미래 도시 스카이라인의 시네마틱 와이드 샷
                  size: '16:9'
                  resolution: 4K
                  quality: high
                  'n': 1
                  complexity: high
              text_to_image_pixel:
                summary: 텍스트에서 이미지 (명시적 픽셀)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 미니멀리스트 로고 디자인
                  size: 1024x1024
                  quality: medium
              image_edit:
                summary: 이미지에서 이미지 / 편집
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 그녀 옆에 귀여운 고양이를 추가해주세요
                  size: '1:1'
                  resolution: 1K
                  quality: medium
                  image_urls:
                    - https://example.com/input.png
                  callback_url: https://your-domain.com/webhook/image-done
              image_inpaint:
                summary: 인페인팅(마스크 사용)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 하늘을 별이 빛나는 밤하늘로 바꿔주세요
                  size: '1:1'
                  resolution: 1K
                  quality: medium
                  image_urls:
                    - https://example.com/input.png
                  mask_url: https://example.com/mask.png
              markup_edit:
                summary: 주석 기반 편집(markup)
                value:
                  model: gpt-image-2.6-flare
                  prompt: 빨간 원 안의 꽃병을 단색 코발트블루 도자기로 바꾸고 나머지는 그대로 유지한 뒤 빨간 원을 제거하세요
                  quality: medium
                  image_urls:
                    - https://example.com/kitchen.png
                  markup_url: https://example.com/markup.png
              batch_generation:
                summary: 배치 생성
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 픽셀 아트 스타일의 귀여운 로봇
                  size: '1:1'
                  resolution: 2K
                  quality: high
                  'n': 4
              gif_animation:
                summary: GIF 애니메이션
                value:
                  model: gpt-image-2.6-flare
                  prompt: 밤바람에 등불이 부드럽게 흔들리며 시작과 끝이 끊김 없이 이어지는 루프
                  output_format: gif
                  size: auto
                  quality: medium
                  model_params:
                    frame_count: 9
                    frame_duration_ms: 200
              svg_vector:
                summary: SVG 벡터 이미지
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: 밀 이삭과 원형 배지가 있는 빵집의 플랫 스타일 로고
                  output_format: svg
                  quality: medium
                  model_params:
                    svg_model: gpt-6.1-terra
              gif_animation_pixel:
                summary: GIF 애니메이션(프레임 크기 지정)
                value:
                  model: gpt-image-2.6-flare
                  prompt: 아기 고양이가 자연스럽게 눈을 깜빡이며 시작과 끝이 이어지는 루프
                  output_format: gif
                  size: 720x720
                  quality: low
                  model_params:
                    frame_count: 16
                    frame_duration_ms: 200
      responses:
        '200':
          description: 이미지 작업이 성공적으로 생성되었습니다
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageGenerationResponse'
        '400':
          description: 잘못된 요청 파라미터
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: 인증되지 않음, 토큰이 유효하지 않거나 만료됨
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: 할당량 부족, 충전 필요
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: 액세스 거부됨
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: gpt-image-2.6-sunburst'
                  type: invalid_request_error
        '429':
          description: 요청 빈도 초과
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: 서버 내부 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    ImageGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: >-
            이미지 생성 모델 이름. 안정성과 제어성이 뛰어나 상업적 용도에 적합합니다.


            | 모델 ID | 특징 |

            |---|---|

            | `gpt-image-2.6-sunburst` | 세부 표현이 뛰어나 정교한 시각 콘텐츠 제작에 적합합니다 |

            | `gpt-image-2.6-flare` | 생성 속도가 빨라 빠르게 결과를 개선하는 작업에 적합합니다 |


            두 모델의 파라미터는 동일합니다. 같은 `quality`에서도 실제 토큰 사용량은 약간 다를 수 있으므로 반환된
            `usage`를 기준으로 확인하세요.
          enum:
            - gpt-image-2.6-sunburst
            - gpt-image-2.6-flare
          default: gpt-image-2.6-sunburst
          example: gpt-image-2.6-sunburst
        prompt:
          type: string
          description: >-
            생성할 이미지 또는 입력 이미지의 편집 방법을 설명하는 프롬프트


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

            - 최대 `32,000`자(유니코드 코드 포인트 기준)

            - `prompt` 텍스트 자체를 UTF-8로 인코딩했을 때 `60,000`바이트 이하


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


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


            **권장 사항:** 프롬프트가 `8000`토큰을 초과하면 생성된 이미지가 기대와 다를 수 있으므로 프롬프트를 줄이는 것을
            권장합니다.
          example: 바다 위의 화려하고 아름다운 석양
          maxLength: 32000
        image_urls:
          type: array
          description: >-
            참조 이미지 목록. 공개 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`이면 참조 이미지를 입력할 수 없습니다
          items:
            type: string
            format: uri
          example:
            - https://example.com/image1.png
            - https://example.com/image2.png
        mask_url:
          type: string
          format: uri
          description: >-
            인페인팅 마스크 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`: 마스크와 참조 이미지의 크기가 일치하지 않습니다. 마스크를 참조 이미지와 동일한 픽셀 크기로 조정하세요.
          example: https://example.com/mask.png
        markup_url:
          type: string
          format: uri
          description: >-
            주석 레이어 이미지의 공개 URL. 원, 화살표, 낙서 등으로 수정할 위치를 표시하고 `prompt`로 구체적인 변경
            내용을 설명합니다. **이미지 편집 모드에서만 작동**합니다(`image_urls` 필수).


            **형식 요구사항:**

            - **투명 픽셀이 포함된 PNG여야 합니다.** 주석만 그리고 나머지 영역은 투명하게 유지하세요. 원본 이미지에 직접
            주석을 그리지 마세요

            - **첫 번째 참조 이미지와 크기가 정확히 일치**해야 합니다(너비 × 높이, 픽셀 단위)

            - 첫 번째 참조 이미지와 주석 레이어는 각각 너비 × 높이가 `16,777,216` px 이하여야 합니다

            - 파일 크기: `50MB` 이하


            **참고:**

            - 주석은 `image_urls`의 첫 번째 이미지에 적용되며 나머지 이미지는 참조용으로 사용됩니다

            - `mask_url`과 함께 사용할 수 없습니다

            - 일반 이미지 및 GIF 편집을 지원하며 SVG는 지원하지 않습니다

            - `model_params.markup_url`에 넣을 수도 있습니다. 두 위치에 모두 지정하면 최상위 값이 우선합니다

            - `prompt`에 유지할 내용도 함께 설명하는 것을 권장합니다. 예: "나머지는 그대로 유지하고 빨간 원은 제거하세요"
          example: https://example.com/markup.png
        size:
          type: string
          description: >-
            생성 이미지의 크기. 기본값은 `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을 반환하며 자동 축소하지 않습니다
          default: auto
          example: auto
        resolution:
          type: string
          description: >-
            해상도 티어 단축 파라미터. `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 |

            |---|---|---|---|

            | `1:1` | 1024×1024 | 2048×2048 | 2880×2880 |

            | `2:1` | 1456×720 | 2896×1456 | 3840×1920 \* |

            | `3:1` | 1776×592 | 3552×1184 | 3840×1280 \* |

            | `3:2` | 1248×832 | 2512×1680 | 3520×2352 |

            | `4:3` | 1184×880 | 2368×1776 | 3312×2480 \* |

            | `5:4` | 1152×912 | 2288×1824 | 3216×2576 |

            | `16:9` | 1360×768 | 2736×1536 | 3840×2160 (UHD) |

            | `21:9` | 1568×672 | 3136×1344 | 3840×1648 \* |


            \* 는 픽셀 예산 초과로 비율을 유지한 채 자동 축소된 조합을 나타냅니다. 값은 대소문자를 구분하지 않습니다.
          enum:
            - 1K
            - 2K
            - 4K
          default: 1K
          example: 1K
        quality:
          type: string
          description: >-
            렌더링 품질. 출력 토큰 수와 비용에 직접 영향을 줍니다. 기본값은 `medium`입니다.


            | 값 | 출력 토큰(1024²) | 이미지 출력 비용 비율(1024²) |

            |---|---|---|

            | `low` | 824 | ~0.57× |

            | `medium` | 1,449 | 1.0× |

            | `high` | 1,756 | ~1.21× |

            | `xhigh` | 3,122 | ~2.15× |

            | `max` | 7,024 | ~4.85× |


            **참고:**

            - 위 표는 이미지 출력 비용만 비교하며 입력 비용과 SVG 작성 모델 비용은 포함하지 않습니다

            - 표는 `1024×1024` 기준입니다. 출력 토큰 수는 총 픽셀 수와 종횡비에 따라 달라지므로 실제 값은 반환된
            `usage`를 확인하세요

            - GIF는 모든 프레임을 배열한 전체 이미지 기준으로 계산하며, SVG에서는 참조 이미지에 적용됩니다

            - 빠른 초안에는 `low`를 사용하고 완성본은 여러 설정을 비교해 세부 표현, 소요 시간, 비용의 균형을 조정하세요
          enum:
            - low
            - medium
            - high
            - xhigh
            - max
          default: medium
          example: medium
        complexity:
          type: string
          description: |-
            이미지를 생성하기 전 계획의 깊이. `quality`와 독립적이며 기본값은 `high`입니다.

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

            **참고:**
            - 설정이 높을수록 시간이 오래 걸리며 원치 않는 변경이 생길 수도 있습니다. 작업에 맞게 결과를 비교하세요
            - `complexity` 변경에는 추가 요금이 부과되지 않습니다
            - SVG에서는 참조 이미지에 적용됩니다
            - `model_params.complexity`에 넣을 수도 있습니다. 두 위치에 모두 지정하면 최상위 값이 우선합니다
          enum:
            - low
            - medium
            - high
          default: high
          example: high
        background:
          type: string
          description: |-
            출력 이미지의 알파 채널. 기본값은 `opaque`

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

            **참고:**
            - `transparent` 는 Preview 기능으로, 결과가 불안정할 수 있습니다
            - `transparent`를 사용할 때 `output_format`은 `png` 또는 `webp`만 가능합니다
            - `output_format`이 `gif` 또는 `svg`이면 `opaque`만 지원합니다
          enum:
            - opaque
            - transparent
          default: opaque
          example: opaque
        output_format:
          type: string
          description: >-
            출력 파일 형식. 기본값은 `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`)이 벡터
            이미지로 변환합니다. 작성 모델이 사용하는 토큰은 선택한 모델에 따라 별도로 과금됩니다
          enum:
            - png
            - jpeg
            - webp
            - gif
            - svg
          default: png
          example: png
        'n':
          type: integer
          description: >-
            생성할 이미지 개수, 각각 독립적으로 과금됩니다


            **참고:**

            - 텍스트 입력 토큰은 `n`에 비례하여 확대됩니다

            - `n > 1` 지원이 현재 불안정합니다. 1보다 큰 값을 지정해도 이미지가 1장만 반환되는 경우가 많습니다. 실제
            개수는 응답의 `results`를 기준으로 하며, 과금은 반환된 `usage`를 따릅니다. 여러 장이 필요하면 1장씩 여러
            번 요청하는 것을 권장합니다

            - `output_format`이 `gif` 또는 `svg`이면 `1`만 지정할 수 있습니다
          minimum: 1
          maximum: 10
          default: 1
          example: 1
        model_params:
          type: object
          description: >-
            모델 확장 파라미터. GIF 프레임 파라미터와 SVG 작성 모델 파라미터는 이 객체 안에 지정해야 합니다.


            - `frame_count`, `frame_duration_ms`는 `output_format=gif`에서만 사용할 수
            있습니다

            - `svg_model`, `svg_reasoning_effort`는 `output_format=svg`에서만 사용할 수
            있습니다

            - 출력 형식과 확장 파라미터가 맞지 않으면 HTTP 400을 반환하며, 이를 조용히 무시하지 않습니다
          properties:
            frame_count:
              type: integer
              description: >-
                GIF 애니메이션의 프레임 수. `output_format`이 `gif`일 때만 사용할 수 있으며 기본값은
                `9`입니다.


                모든 프레임을 배열한 하나의 큰 이미지로 생성합니다. 명시적으로 지정한 프레임의 너비와 높이는 모두 `16`의 양의
                정수 배수여야 합니다. 개별 프레임에는 일반 이미지의 최소 픽셀 수가 적용되지 않습니다. 아래 표의 변 길이 단위는
                픽셀입니다.


                | 프레임 수 | 프레임별 제한 | 크기 예시 |

                |---|---|---|

                | `2`~`8` | ≤ 1,036,800 픽셀; 한 변 ≤ 960, 다른 변 ≤ 1920 | `960x1072`
                |

                | `9` | ≤ 921,600 픽셀; 두 변 모두 ≤ 1280 | `1280x720` |

                | `10`~`12` | ≤ 691,200 픽셀; 한 변 ≤ 1280, 다른 변 ≤ 960 | `960x720` |

                | `13`~`16` | ≤ 518,400 픽셀; 두 변 모두 ≤ 960 | `720x720` |


                **프레임 배열 규칙(열 × 행):**

                - `2`~`8` 프레임: `4×2` 또는 `2×4`

                - `9` 프레임: `3×3`

                - `10`~`12` 프레임: `3×4` 또는 `4×3`, 필요한 경우 `4×4` 시도

                - `13`~`16` 프레임: `4×4`


                **다음 조건도 모두 충족해야 합니다:**

                - 하나 이상의 배열 방식에서 전체 이미지의 각 변 ≤ `3840` px, 총 픽셀 수 ≤ `8,294,400`,
                긴 변과 짧은 변의 비율 ≤ `3:1`이어야 합니다

                - `4×4` 배열을 선택하면 각 프레임은 `13`~`16` 프레임에 해당하는 픽셀 수 및 변 길이 상한을 충족해야
                합니다

                - 어떤 배열로도 배치할 수 없으면 HTTP 400을 반환합니다. 위 표의 픽셀 수 및 변 길이 상한만이 유일한
                제약 조건은 아닙니다


                `size`가 `auto`이면 각 프레임은 `512×512`이며 모든 프레임 수를 사용할 수 있습니다. 출력 토큰은
                배열된 전체 이미지 기준으로 계산하며 각 프레임의 토큰을 별도로 합산하지 않습니다.
              minimum: 2
              maximum: 16
              default: 9
              example: 9
            frame_duration_ms:
              type: integer
              description: >-
                GIF 각 프레임의 표시 시간(밀리초). `output_format`이 `gif`일 때만 사용할 수 있습니다.
                기본값은 `200`이며 10밀리초 단위로 조정됩니다.
              minimum: 20
              maximum: 2000
              default: 200
              example: 200
            svg_model:
              type: string
              description: >-
                참조 이미지를 SVG로 변환하는 작성 모델. `output_format`이 `svg`일 때만 사용할 수 있으며
                기본값은 `gpt-6.1-terra`입니다.


                **참고:**

                - 작성 모델이 사용하는 토큰은 선택한 모델에 따라 별도로 과금됩니다

                - 작업 결과의 `usage`에 `svg_model`, `svg_input_tokens`,
                `svg_output_tokens`가 반환됩니다

                - 작성 모델의 입력 및 출력 토큰은 별도 항목으로 반환되며 `usage.total_tokens`에 포함되지
                않습니다
              enum:
                - gpt-6.1-terra
                - gpt-6.1-sol
                - gpt-6-astra
                - gpt-6-sol
                - gpt-6-luna
              default: gpt-6.1-terra
              example: gpt-6.1-terra
            svg_reasoning_effort:
              type: string
              description: >-
                SVG 작성 모델의 추론 강도. `output_format`이 `svg`일 때만 사용할 수 있으며 생략하면 작성
                모델의 기본 설정인 `medium`을 사용합니다.


                | 작성 모델 | 가능한 값 |

                |---|---|

                | `gpt-6.1-terra`, `gpt-6-sol`, `gpt-6-luna` | `none`, `low`,
                `medium`, `high`, `xhigh`, `max` |

                | `gpt-6.1-sol`, `gpt-6-astra` | `low`, `medium`, `high`,
                `xhigh`, `max` |


                **참고:**

                - 추론 토큰은 작성 모델의 출력 토큰에 포함됩니다
              enum:
                - none
                - low
                - medium
                - high
                - xhigh
                - max
              example: medium
        callback_url:
          type: string
          description: >-
            작업 완료 후 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 상태 코드를 반환하면 성공으로 간주, 다른 상태 코드는 재시도를 트리거
          format: uri
          example: https://your-domain.com/webhooks/image-task-completed
    ImageGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: 작업 생성 타임스탬프
          example: 1757156493
        id:
          type: string
          description: 작업 ID
          example: task-unified-1757156493-imcg5zqt
        model:
          type: string
          description: 실제 사용된 모델 이름
          example: gpt-image-2.6-sunburst
        object:
          type: string
          enum:
            - image.generation.task
          description: 구체적인 작업 유형
        progress:
          type: integer
          description: 작업 진행률 (0-100)
          minimum: 0
          maximum: 100
          example: 1
        status:
          type: string
          description: >-
            작업 상태. 대기 중이거나 생성 중이면 `processing`을 반환하며 최종 상태는 `completed` 또는
            `failed`입니다.
          enum:
            - processing
            - completed
            - failed
          example: processing
        task_info:
          $ref: '#/components/schemas/TaskInfo'
          description: 비동기 작업 정보
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: 작업 출력 유형
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
          description: 사용량 및 과금 정보
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: 오류 코드 식별자
            message:
              type: string
              description: 오류 설명
            type:
              type: string
              description: 오류 유형
    TaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: 작업 취소 가능 여부
          example: true
        estimated_time:
          type: integer
          description: 예상 완료 시간(초)
          minimum: 0
          example: 100
    Usage:
      type: object
      description: 작업 생성 시의 선차감 정보입니다. 실제 사용량과 토큰 세부 내역은 작업 완료 후 작업 조회 API에서 확인하세요.
      properties:
        billing_rule:
          type: string
          description: >-
            과금 규칙. GPT Image 2.6는 1,000토큰 단위로 과금하며 이미지, 텍스트 입력, SVG 작성 모델 사용량은
            각각 해당 단가로 계산합니다.
          enum:
            - per_1k_tokens
          example: per_1k_tokens
        credits_reserved:
          type: number
          description: 예상 소비 크레딧 수
          minimum: 0
          example: 2.5
        user_group:
          type: string
          description: 사용자 그룹 카테고리
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        모든 API는 Bearer Token 인증이 필요합니다.

        **API Key 발급:**

        [API Key 관리 페이지](https://evolink.ai/dashboard/keys)에서 API Key를 발급받으세요.

        **요청 헤더에 추가:**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.