> ## 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.

# Nanobanana 2.1 이미지 생성

> - Nano Banana 2.1 (gemini-nano-banana-2.1)은 텍스트 기반 이미지 생성, 이미지 기반 이미지 생성, 이미지 편집, 여러 이미지 합성을 지원하며 `1K`, `2K`, `4K` 해상도로 출력할 수 있습니다
- 비동기 처리: 반환된 작업 ID로 [작업을 조회](/ko/api-manual/task-management/get-task-detail)하세요
- 생성된 이미지 링크는 24시간 동안 유효합니다. 이미지를 빠르게 저장하세요
- 과금: 출력 이미지는 해상도별, 입력 이미지는 이미지별, 웹 검색과 이미지 검색은 실제 검색 횟수에 따라 과금됩니다. 프롬프트 텍스트, 텍스트 출력, 사고 과정은 토큰 단위로 과금됩니다. 실제 요금은 작업 조회에서 반환되는 `usage`를 기준으로 합니다



## OpenAPI

````yaml ko/api-manual/image-series/nanobanana/nanobanana-2.1/nanobanana-2.1-image-generate.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: Nano Banana 2.1 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: Nano Banana 2.1 API
      description: >-
        - Nano Banana 2.1 (gemini-nano-banana-2.1)은 텍스트 기반 이미지 생성, 이미지 기반 이미지
        생성, 이미지 편집, 여러 이미지 합성을 지원하며 `1K`, `2K`, `4K` 해상도로 출력할 수 있습니다

        - 비동기 처리: 반환된 작업 ID로 [작업을
        조회](/ko/api-manual/task-management/get-task-detail)하세요

        - 생성된 이미지 링크는 24시간 동안 유효합니다. 이미지를 빠르게 저장하세요

        - 과금: 출력 이미지는 해상도별, 입력 이미지는 이미지별, 웹 검색과 이미지 검색은 실제 검색 횟수에 따라 과금됩니다. 프롬프트
        텍스트, 텍스트 출력, 사고 과정은 토큰 단위로 과금됩니다. 실제 요금은 작업 조회에서 반환되는 `usage`를 기준으로 합니다
      operationId: createImageGenerationNanoBanana21
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              text_to_image:
                summary: 텍스트에서 이미지로
                value:
                  model: gemini-nano-banana-2.1
                  prompt: 풀밭에서 노는 고양이
                  size: '16:9'
                  quality: 2K
              image_edit:
                summary: 이미지 기반 생성 / 이미지 편집
                value:
                  model: gemini-nano-banana-2.1
                  prompt: 이미지 속 고양이를 시바견으로 바꾸고 배경과 조명은 그대로 유지해 주세요
                  quality: 2K
                  image_urls:
                    - https://example.com/image1.png
              web_search:
                summary: 웹 검색을 활용한 생성
                value:
                  model: gemini-nano-banana-2.1
                  prompt: 이번 주말 도쿄의 날씨 인포그래픽. 평면적인 디자인으로 만들고 텍스트는 선명하고 읽기 쉽게 해 주세요
                  size: '16:9'
                  quality: 2K
                  model_params:
                    web_search: true
      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: gemini-nano-banana-2.1'
                  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: 이미지 생성 모델 이름, 공식 채널, 더 나은 안정성과 제어성, 상업적 시나리오에 적합
          example: gemini-nano-banana-2.1
          enum:
            - gemini-nano-banana-2.1
          default: gemini-nano-banana-2.1
        prompt:
          type: string
          description: 생성할 이미지 또는 입력 이미지를 편집할 방법을 설명하는 프롬프트. 최대 `4000` 토큰
          example: 풀밭에서 노는 고양이
        size:
          type: string
          description: 생성된 이미지의 화면 비율, 기본값은 `auto`
          enum:
            - auto
            - '1:1'
            - '1:4'
            - '4:1'
            - '1:8'
            - '8:1'
            - '2:3'
            - '3:2'
            - '3:4'
            - '4:3'
            - '4:5'
            - '5:4'
            - '9:16'
            - '16:9'
            - '21:9'
          default: auto
        quality:
          type: string
          description: >-
            생성 이미지의 해상도. 기본값은 `2K`


            **참고:**

            - 해상도에 따라 요금이 다릅니다. 출력 이미지는 선택한 해상도로 과금되므로 이 파라미터를 명시적으로 지정하는 것을
            권장합니다
          enum:
            - 1K
            - 2K
            - 4K
          default: 2K
        image_urls:
          type: array
          description: >-
            이미지 기반 생성, 이미지 편집 및 여러 이미지 합성에 사용할 참조 이미지 URL 목록


            **참고:**

            - 요청당 최대 `14`개의 입력 이미지 지원

            - 이미지 크기: `20MB` 이하

            - 지원 파일 형식: `.jpeg`, `.jpg`, `.png`, `.webp`

            - 이미지 URL은 서버에서 직접 접근할 수 있거나 접근 시 이미지를 바로 다운로드할 수 있어야 합니다(이러한 URL은
            일반적으로 `.png`, `.jpg` 등의 이미지 확장자로 끝납니다)

            - 입력 이미지는 이미지별로 과금됩니다
          items:
            type: string
            format: uri
          maxItems: 14
          example:
            - https://example.com/image1.png
            - https://example.com/image2.png
        model_params:
          type: object
          description: 모델 확장 매개변수
          properties:
            web_search:
              type: boolean
              description: >-
                웹 검색 활성화 여부. 기본값은 `false`입니다. 활성화하면 이미지 생성 전에 모델이 웹에서 최신 정보를
                검색합니다


                **참고:**

                - 모델이 실제로 수행한 검색 횟수에 따라 과금됩니다. 한 요청에서 여러 번 검색할 수 있습니다
              default: false
              example: true
            image_search:
              type: boolean
              description: >-
                이미지 검색 활성화 여부. 기본값은 `false`입니다. 활성화하면 이미지 생성 전에 모델이 웹에서 시각적 참조로
                사용할 이미지를 검색합니다


                **참고:**

                - 모델이 실제로 수행한 검색 횟수에 따라 과금됩니다. 한 요청에서 여러 번 검색할 수 있습니다
              default: false
              example: true
            thinking_level:
              type: string
              description: |-
                이미지 생성 전 모델의 사고 깊이를 조절하는 사고 수준. 기본값은 `auto`

                - `auto`: 별도로 지정하지 않고 모델이 결정
                - `min`: 최소한의 사고, 가장 빠른 생성
                - `medium`: 균형 잡힌 사고
                - `high`: 깊이 있는 사고

                **참고:**
                - 사고 과정에서 생성된 토큰은 텍스트 출력으로 과금됩니다
              enum:
                - auto
                - min
                - medium
                - high
              default: auto
              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: 1757165031
        id:
          type: string
          description: 작업 ID
          example: task-unified-1757165031-uyujaw3d
        model:
          type: string
          description: 실제 사용된 모델 이름
          example: gemini-nano-banana-2.1
        object:
          type: string
          enum:
            - image.generation.task
          description: 특정 작업 유형
        progress:
          type: integer
          description: 작업 진행률 (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: 작업 상태
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        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: 45
    Usage:
      type: object
      description: 사용량 및 과금 정보
      properties:
        billing_rule:
          type: string
          description: 과금 규칙
          enum:
            - per_call
            - per_image
            - per_token
            - per_second
          example: per_image
        credits_reserved:
          type: number
          description: 예상 소비 크레딧
          minimum: 0
          example: 3.0845
        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.