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

# GPT Image 2.6 Fixed

> Generate or edit images with GPT Image 2.6 Flare or Sunburst at a fixed per-image price by resolution.

> [!TIP]
>
> 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`.
> 2. Regardless of whether `callback_url` is provided, you can retrieve the response result through the unified [Query Task Status](https://docs.poyo.ai/api-manual/task-management/status.md) endpoint.

GPT Image 2.6 Fixed runs GPT Image 2.6 Flare or Sunburst with per-image pricing based on `resolution`, instead of token-based pricing. Choose the variant with `version`: Flare is tuned for speed, and Sunburst for more detailed visuals and more precise, consistent edits. Add reference images to edit or guide the output.

## Models

* **gpt-image-2.6-fixed** — GPT Image 2.6 Flare or Sunburst with per-image pricing

## Required parameters

* `prompt` (string): Image description, 1–32000 characters.

## Optional parameters

* `version` (string): `flare` or `sunburst`. Default is `flare`.
* `resolution` (string): `1K`, `2K`, or `4K`. Default is `1K`.
* `size` (string): `auto`, `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `5:4`, `4:5`, or `21:9`. Default is `1:1`.
* `image_urls` (array of strings): Up to 16 reference image URLs.

## Output

A finished task returns the generated image in `files` with `file_type: image`.

## Examples

* **Text to image with Flare at 2K** — sets `prompt`, `version`, `resolution`, `size`.
* **Edit with a reference image using Sunburst** — sets `prompt`, `version`, `image_urls`.

## Notes

* `n` and `num_images` are not supported. Each task returns one image.
* `image_urls` must be an array, even for one image.
* Output is a raster image. Complexity control, SVG output, animated GIF output, and markup-guided edits are not available on this endpoint.


## OpenAPI

````yaml api-manual/image-series/gpt-image-2-6-fixed.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: GPT Image 2.6 Fixed
  description: GPT Image 2.6 Flare or Sunburst with per-image pricing.
  version: 1.0.0
servers:
  - url: https://api.poyo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      summary: Submit a GPT Image 2.6 Fixed task
      operationId: submit_gpt_image_2_6_fixed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitRequest'
            examples:
              text:
                summary: Text to image with Flare
                value:
                  model: gpt-image-2.6-fixed
                  input:
                    prompt: A paper-cut illustration of a city at sunrise
                    version: flare
                    size: '16:9'
              edit:
                summary: Edit with a reference image using Sunburst
                value:
                  model: gpt-image-2.6-fixed
                  input:
                    prompt: Turn this product photo into a clean studio shot on white
                    version: sunburst
                    image_urls:
                      - https://example.com/product.jpg
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - Invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    SubmitRequest:
      type: object
      additionalProperties: false
      required:
        - model
        - input
      properties:
        model:
          type: string
          enum:
            - gpt-image-2.6-fixed
          description: Public model identifier.
        callback_url:
          type: string
          format: uri
          description: Optional webhook URL for task completion or failure notifications.
        input:
          type: object
          additionalProperties: false
          required:
            - prompt
          properties:
            prompt:
              type: string
              minLength: 1
              maxLength: 32000
              description: Text description of the image. Must contain non-whitespace text.
            version:
              type: string
              enum:
                - flare
                - sunburst
              default: flare
              description: Model variant.
            size:
              type: string
              enum:
                - auto
                - '1:1'
                - '16:9'
                - '9:16'
                - '4:3'
                - '3:4'
                - '3:2'
                - '2:3'
                - '5:4'
                - '4:5'
                - '21:9'
              default: '1:1'
              description: Aspect ratio. Custom pixel sizes are not accepted.
            image_urls:
              type: array
              items:
                type: string
                format: uri
              maxItems: 16
              description: >-
                Optional reference images, up to 16. Each item must be a
                publicly accessible HTTP or HTTPS URL.
    SubmitResponse:
      type: object
      required:
        - code
        - data
      properties:
        code:
          type: integer
          example: 200
          enum:
            - 200
            - 400
            - 401
            - 402
            - 403
            - 404
            - 408
            - 429
            - 500
            - 502
            - 503
          description: >-
            Business status code. `200` means success; any other value means the
            request failed. Always check this field: some validation errors
            return HTTP 200 with `code: 400` in the body.


            - `200`: Success

            - `400`: Invalid request parameters

            - `401`: Missing or invalid API key

            - `402`: Insufficient credits

            - `403`: Permission denied

            - `404`: Resource not found

            - `408`: Request timeout

            - `429`: Rate limit exceeded

            - `500`: Internal server error

            - `502`: Upstream service error

            - `503`: Service unavailable


            See [Error Codes](/api-manual/error-codes) for details.
        data:
          type: object
          required:
            - task_id
            - status
            - created_time
          properties:
            task_id:
              type: string
              example: task-unified-1793176000-example
            status:
              type: string
              enum:
                - not_started
                - running
                - finished
                - failed
              example: not_started
              description: >-
                Task status. Always `not_started` right after submission. Use
                [Query Task Status](/api-manual/task-management/status) or
                `callback_url` to get later states.


                - `not_started`: Queued, waiting to be processed

                - `running`: Being generated

                - `finished`: Completed; results are in `files` or `output`

                - `failed`: Failed; details are in `error_message`
            created_time:
              type: string
              format: date-time
              example: '2026-10-28T10:30:00'
    ErrorResponse:
      type: object
      required:
        - code
        - error
      properties:
        code:
          type: integer
          example: 400
          enum:
            - 200
            - 400
            - 401
            - 402
            - 403
            - 404
            - 408
            - 429
            - 500
            - 502
            - 503
          description: >-
            Business status code. `200` means success; any other value means the
            request failed. Always check this field: some validation errors
            return HTTP 200 with `code: 400` in the body.


            - `200`: Success

            - `400`: Invalid request parameters

            - `401`: Missing or invalid API key

            - `402`: Insufficient credits

            - `403`: Permission denied

            - `404`: Resource not found

            - `408`: Request timeout

            - `429`: Rate limit exceeded

            - `500`: Internal server error

            - `502`: Upstream service error

            - `503`: Service unavailable


            See [Error Codes](/api-manual/error-codes) for details.
        error:
          type: object
          required:
            - message
            - type
          properties:
            message:
              type: string
              example: Invalid request parameters
            type:
              type: string
              example: validation_error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        All API endpoints require Bearer Token authentication.


        Create an API key: sign in to PoYo, open **Dashboard → API Key** at
        [poyo.ai/dashboard/api-key](https://poyo.ai/dashboard/api-key), and
        click to create a key.


        Add it to the request header:


        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

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