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

# Qwen-Image 3.0

> Qwen-Image 3.0 text-to-image and image editing in a single endpoint. Pass `image_list` to edit reference images (1-3), or omit it for pure text-to-image. Always returns a single image.

**Pricing** — output tier plus a surcharge per reference image:

| What | Tokens | USD |
|---|---|---|
| Output, 1K or 2K | 1.75 | $0.035 |
| Each reference image | 0.19 | $0.0039 |

Both tiers cost the same on this model, so `image_size` only changes the output size. Example: 2 reference images = 1.75 + 2 x 0.19 = 2.13 tokens.

For higher quality use `/api/v1/qwen-image-3-pro`, where the 2K tier costs twice as much as 1K.

Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use `custom_callback_url`) to get the generated image.



## OpenAPI

````yaml POST /api/v1/qwen-image-3
openapi: 3.1.0
info:
  title: GoEnhance API
  description: ''
  version: 1.0.0
servers:
  - url: https://api.goenhance.ai
security:
  - bearerAuth: []
tags:
  - name: Basic
  - name: Video2Video
paths:
  /api/v1/qwen-image-3:
    post:
      tags:
        - ImageAPI
      summary: Qwen-Image 3.0
      description: >-
        Qwen-Image 3.0 text-to-image and image editing in a single endpoint.
        Pass `image_list` to edit reference images (1-3), or omit it for pure
        text-to-image. Always returns a single image.


        **Pricing** — output tier plus a surcharge per reference image:


        | What | Tokens | USD |

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

        | Output, 1K or 2K | 1.75 | $0.035 |

        | Each reference image | 0.19 | $0.0039 |


        Both tiers cost the same on this model, so `image_size` only changes the
        output size. Example: 2 reference images = 1.75 + 2 x 0.19 = 2.13
        tokens.


        For higher quality use `/api/v1/qwen-image-3-pro`, where the 2K tier
        costs twice as much as 1K.


        Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use
        `custom_callback_url`) to get the generated image.
      parameters:
        - name: Authorization
          in: header
          description: ''
          required: false
          example: '{{Authorization}}'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                  minLength: 1
                  maxLength: 2000
                  description: Text prompt describing the image.
                ratio:
                  type: string
                  enum:
                    - auto
                    - '1:1'
                    - '16:9'
                    - '9:16'
                    - '4:3'
                    - '3:4'
                    - '2:3'
                    - '3:2'
                    - '1:2'
                    - '2:1'
                    - '1:4'
                    - '4:1'
                    - '1:8'
                    - '8:1'
                  description: >-
                    Aspect ratio. Defaults to auto, which lets the model pick
                    the resolution from the prompt. Note: 1:8 and 8:1 are only
                    produced at the 1K tier.
                  default: auto
                image_size:
                  type: string
                  enum:
                    - 1K
                    - 2K
                  default: 2K
                  description: >-
                    Output resolution tier, together with ratio it decides the
                    exact pixel size. See the pricing note above — it also
                    decides what you pay.
                image_list:
                  type: array
                  items:
                    type: object
                    properties:
                      url:
                        type: string
                        format: uri
                    required:
                      - url
                  description: >-
                    Optional reference images for image editing, [{"url":
                    "https://..."}]. Up to 3 images, each under 10MB. The array
                    order is the order the prompt refers to them in. Each one
                    adds 0.19 tokens.
                  minItems: 1
                  maxItems: 3
                negative_prompt:
                  type: string
                  maxLength: 2000
                  description: Optional. Describes what should not appear in the image.
                seed:
                  type: integer
                  minimum: 0
                  maximum: 2147483647
                  description: Optional. Fixing the seed makes results more reproducible.
                prompt_extend_mode:
                  type: string
                  enum:
                    - direct
                    - agent
                  default: direct
                  description: >-
                    Prompt rewriting mode. `agent` rewrites more thoroughly but
                    is text-to-image only — sending it together with image_list
                    is rejected.
                custom_callback_url:
                  type: string
                  format: uri
                  description: >-
                    Optional. A publicly accessible HTTPS URL. When the task
                    status changes (processing / success / failed), GoEnhance
                    sends a POST request to this URL. The request body is
                    identical to the response of GET /api/v1/jobs/detail. If
                    your server does not respond with HTTP 200, the notification
                    is retried up to 3 times, with a 3-second timeout per
                    attempt.
                  example: https://your-server.com/goenhance/callback
              required:
                - prompt
            example:
              prompt: A serene Japanese garden at dawn, soft light
              ratio: '16:9'
              image_size: 2K
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                    properties:
                      img_uuid:
                        type: string
                    required:
                      - img_uuid
                required:
                  - code
                  - msg
                  - data
              examples:
                '1':
                  summary: Success
                  value:
                    code: 0
                    msg: Success
                    data:
                      img_uuid: c12b656c-747a-44fd-9c80-add79b0c52d5
                '2':
                  summary: Insufficient tokens
                  value:
                    code: 100
                    msg: tokens is not enough
          headers: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                required:
                  - code
                  - msg
          headers: {}
      deprecated: false
      security: []
components: {}

````