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

# OpenAI Images Edits

Create an edited or extended image from one or more source images and a prompt. The endpoint follows the official OpenAI Images API request and response shape for `POST /v1/images/edits`.

Documentation translated from the <a href="https://developers.openai.com/api/reference/resources/images/methods/edit" target="_blank">official documentation</a>.

Supported models include `gpt-image-2`, `gpt-image-1.5`, `gpt-image-1`, and `dall-e-2`.

<Note>
  Since OpenAI image editing is a synchronous response and takes a relatively long time, it is recommended to use the **[https://api.ttapi.org](https://api.ttapi.org)** gateway.
</Note>


## OpenAPI

````yaml openapi/en/openai.json POST /v1/images/edits
openapi: 3.1.0
info:
  title: Open AI API DOCS
  version: 1.0.0
  description: TTAPI OpenAI API service
servers:
  - url: https://api.ttapi.io
security: []
paths:
  /v1/images/edits:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditsRequest'
      responses:
        '200':
          description: Request successful, returns Base64 format image generation results
          content:
            application/json:
              schema:
                type: object
                properties:
                  created:
                    type: integer
                    description: Generation timestamp (seconds)
                    example: 1713833628
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        b64_json:
                          type: string
                          description: Base64 encoded string of generated image
                          example: >-
                            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpSItDnaQIpKhOlkQVFIwU8CR1NZBLi4iFg8B4R33PTK77Z22p22e+628923923f/jH53eV73923/...
                      required:
                        - b64_json
                    description: Image generation result list
                  usage:
                    type: object
                    description: Token usage (must return for Base64 format)
                    properties:
                      input_tokens:
                        type: integer
                        description: Input token count
                        example: 50
                      input_tokens_details:
                        type: object
                        properties:
                          image_tokens:
                            type: integer
                            description: Image token count
                            example: 40
                          text_tokens:
                            type: integer
                            description: Text token count
                            example: 10
                        required:
                          - image_tokens
                          - text_tokens
                        example:
                          image_tokens: 40
                          text_tokens: 10
                      output_tokens:
                        type: integer
                        description: Output token count
                        example: 50
                      total_tokens:
                        type: integer
                        description: Total token count
                        example: 100
                    required:
                      - input_tokens
                      - input_tokens_details
                      - output_tokens
                      - total_tokens
                    example:
                      input_tokens: 50
                      input_tokens_details:
                        image_tokens: 40
                        text_tokens: 10
                      output_tokens: 50
                      total_tokens: 100
                required:
                  - created
                  - data
                  - usage
                example:
                  created: 1713833628
                  data:
                    - b64_json: >-
                        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpSItDnaQIpKhOlkQVFIwU8CR1NZBLi4iFg8B4R33PTK77Z22p22e+628923923f/jH53eV73923/...
                  usage:
                    total_tokens: 100
                    input_tokens: 50
                    output_tokens: 50
                    input_tokens_details:
                      text_tokens: 10
                      image_tokens: 40
        '400':
          $ref: '#/components/responses/400Response'
        '401':
          $ref: '#/components/responses/401Response'
      security:
        - CustomApiKey: []
components:
  schemas:
    EditsRequest:
      type: object
      properties:
        images:
          type: array
          items:
            type: object
            properties:
              file_id:
                type: string
                description: The File API ID of an uploaded image.
              image_url:
                type: string
                description: A fully qualified URL or base64-encoded data URL.
                format: uri
          description: >-
            Input image references to edit. For GPT Image models, you can
            provide up to 16 images. Each object should provide either `file_id`
            or `image_url`.
        prompt:
          type: string
          description: >-
            Text prompt describing the desired edit. GPT Image models support up
            to 32,000 characters; `dall-e-2` supports up to 1,000 characters.
        mask:
          type: object
          properties:
            file_id:
              type: string
              description: The File API ID of an uploaded mask image.
            image_url:
              type: string
              description: A fully qualified URL or base64-encoded data URL.
              format: uri
          description: >-
            Optional mask image reference. Provide exactly one of `file_id` or
            `image_url`.
        background:
          type: string
          description: >-
            Sets the transparency of the output image background. Applies only
            to GPT Image models. Choose `transparent`, `opaque`, or `auto`
            (default). Transparent backgrounds require `png` or `webp` output
            format.
          enum:
            - transparent
            - opaque
            - auto
          default: auto
        input_fidelity:
          type: string
          description: >-
            Controls how closely the output preserves details from the input
            image. Choose `high` or `low`; defaults to `low`. Applies only to
            GPT Image models.
          enum:
            - high
            - low
          default: low
        model:
          type: string
          description: The model to use for image editing.
          enum:
            - gpt-image-1.5
            - gpt-image-1
            - gpt-image-2
        moderation:
          type: string
          description: Moderation level for GPT Image models. Choose `low` or `auto`.
          enum:
            - low
            - auto
          default: auto
        'n':
          type: integer
          description: Number of images to generate, default 1. Available range `1-10`.
        output_compression:
          type: integer
          description: >-
            Compression level for generated images (0-100). Applies only to GPT
            Image models with `output_format` set to `webp` or `jpeg`; defaults
            to 100.
          default: 100
        output_format:
          type: string
          description: >-
            Return format for generated images. Applies only to GPT Image
            models. Choose `png` (default), `jpeg`, or `webp`.
          enum:
            - png
            - jpeg
            - webp
          default: png
        partial_images:
          type: integer
          description: >-
            Number of partial images to return in the streaming response, from
            `0` to `3`; defaults to 0. Available only when `stream` is `true`.
          default: 0
        quality:
          type: string
          description: >-
            Image quality. `auto` (default) automatically selects the best
            quality for the model. 


            GPT Image models support `high`, `medium`, and `low`; 


            `dall-e-2` only supports `standard`.
          default: auto
        response_format:
          type: string
          description: >-
            Return data format. Only `dall-e-2` supports `url` or `b64_json`;
            URLs are valid for 60 minutes. GPT Image models always return
            `b64_json`.
          enum:
            - url
            - b64_json
        size:
          type: string
          description: >-
            Image size. 


            GPT Image models support `1024x1024`, `1536x1024`, `1024x1536`, and
            `auto` (default); 


            `dall-e-2` supports `256x256`, `512x512`, `1024x1024`.
          default: auto
        stream:
          type: boolean
          description: >-
            Whether to stream edit progress. When enabled, use `partial_images`
            to receive partial image events.
          default: false
        user:
          type: string
          description: >-
            A unique identifier representing your end-user, which can help
            OpenAI monitor and detect abuse.
      required:
        - images
        - prompt
        - model
  responses:
    400Response:
      description: Parameter error
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: '"prompt" cannot be empty.'
              data:
                type: object
            required:
              - status
              - message
    401Response:
      description: Authorization failed
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: Wrong TT-API-KEY or email is not activated.
            required:
              - status
              - message
  securitySchemes:
    CustomApiKey:
      type: apiKey
      in: header
      name: TT-API-KEY
      description: >-
        You can obtain your API key from the <a
        href='https://dashboard.ttapi.io' target='_blank'>TTAPI Dashboard</a>.

````