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

# Qwen 이미지 편집 Plus

> - Qwen (qwen-image-edit-plus) 모델은 이미지 편집, 이미지-이미지 등의 모드를 지원합니다
- 비동기 처리 모드, 반환된 작업 ID로 [조회](/ko/api-manual/task-management/get-task-detail)
- 생성된 이미지 링크는 24시간 동안 유효하며, 즉시 저장해 주세요



## OpenAPI

````yaml ko/api-manual/image-series/qwen/qwen-image-edit-plus.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: qwen-image-edit-plus 인터페이스
  description: 간소화된 모델 매개변수 구성으로 Qwen 모델을 사용한 이미지 편집
  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: qwen-image-edit-plus 인터페이스
      description: >-
        - Qwen (qwen-image-edit-plus) 모델은 이미지 편집, 이미지-이미지 등의 모드를 지원합니다

        - 비동기 처리 모드, 반환된 작업 ID로
        [조회](/ko/api-manual/task-management/get-task-detail)

        - 생성된 이미지 링크는 24시간 동안 유효하며, 즉시 저장해 주세요
      operationId: createQwenImageEditPlusGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QwenImageEditRequest'
            examples:
              image_edit:
                summary: 이미지 편집
                value:
                  model: qwen-image-edit-plus
                  prompt: Replace the background of this image
      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: qwen-image-edit-plus'
                  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:
    QwenImageEditRequest:
      type: object
      required:
        - model
        - prompt
        - image_urls
      properties:
        model:
          type: string
          description: 모델 이름
          enum:
            - qwen-image-edit-plus
          default: qwen-image-edit-plus
          example: qwen-image-edit-plus
        prompt:
          type: string
          description: 생성할 이미지 또는 입력 이미지 편집 방법을 설명하는 프롬프트, 2000 토큰 제한
          example: Replace the background of this image
          maxLength: 2000
        image_urls:
          type: array
          description: |-
            참조 이미지 URL 목록

            **참고:**
            - 요청당 최대 입력 이미지 수: `3`개
            - 이미지 너비와 높이는 각각 `512`~`4096` 픽셀이어야 합니다
            - 이미지 크기: 최대 `10MB`
            - 지원 형식: `.jpg`, `.jpeg`, `.png`, `.webp`
            - 이미지 URL은 서버에서 직접 접근 가능해야 합니다
          items:
            type: string
            format: uri
          example:
            - https://example.com/image1.png
            - https://example.com/image2.png
        'n':
          type: integer
          description: |-
            생성할 이미지 수를 지정합니다, `[1,6]` 사이의 정수 값을 지원합니다

            **참고:**
            - 각 요청은 `n` 값에 따라 선불 과금되며, 실제 과금은 생성된 이미지 수를 기준으로 합니다
          minimum: 1
          maximum: 6
          default: 1
          example: 1
        negative_prompt:
          type: string
          description: |-
            이미지에서 보고 싶지 않은 콘텐츠를 설명하는 네거티브 프롬프트, 출력을 제한하는 데 사용

            **참고:**
            - 중국어와 영어를 지원하며, 최대 길이 `500`자, 각 한자/글자는 한 글자로 계산, 초과 시 자동으로 잘림
          maxLength: 500
          example: >-
            low resolution, error, worst quality, low quality, mutilated, extra
            fingers, bad proportions
        size:
          type: string
          description: |-
            생성된 이미지 크기, **픽셀 형식** 지원:
            - 너비 x 높이, 예: `1024x1024`, `1024x1536`, `1536x1024` 및 범위 내 기타 값
            - 너비와 높이 범위: `[512, 2048]` 픽셀
            - 설정하지 않으면 출력 이미지는 원본 이미지와 유사한 화면 비율을 유지하며, `1024x1024` 해상도에 가깝습니다

            **참고:**
            - 이 파라미터는 출력 이미지 수 `n`이 `1`일 때만 사용 가능하며, 그렇지 않으면 오류가 반환됩니다
          pattern: ^[0-9]+x[0-9]+$
          example: 1024x1024
        prompt_extend:
          type: boolean
          description: >-
            지능형 프롬프트 재작성 활성화 여부. 활성화 시 대규모 모델을 사용하여 긍정 프롬프트를 최적화하며, 단순하거나 설명이
            부족한 프롬프트의 결과를 크게 개선합니다. 기본값은 `true`입니다
          default: true
          example: true
        watermark:
          type: boolean
          description: 이미지 오른쪽 하단에 "Qwen-Image" 워터마크를 추가할지 여부. 기본값은 `false`입니다
          default: false
          example: false
        seed:
          type: integer
          description: >-
            초기 확산 상태를 결정하는 기반으로 사용되는 랜덤 시드, 기본값 랜덤. 시드가 동일한 양의 정수이고 다른 모든 매개변수가
            일치하면 생성된 콘텐츠가 일관된 결과를 가질 수 있습니다
          minimum: 0
          maximum: 2147483647
          example: 12345
        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: qwen-image-edit-plus
        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: 30
    Usage:
      type: object
      description: 사용량 및 과금 정보
      properties:
        billing_rule:
          type: string
          description: 과금 규칙
          enum:
            - per_call
            - per_token
            - per_second
          example: per_call
        credits_reserved:
          type: number
          description: 예상 소비 크레딧
          minimum: 0
          example: 1
        user_group:
          type: string
          description: 사용자 그룹 카테고리
          enum:
            - default
            - vip
          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
        ```

````