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

# GPT Image 2.6 Generación de imágenes

> - GPT Image 2.6 (gpt-image-2.6-sunburst / gpt-image-2.6-flare) admite generación de texto a imagen, imagen a imagen, edición de imágenes y edición guiada por anotaciones, con salida en GIF animado y SVG vectorial
- Procesamiento asíncrono: use el ID de tarea devuelto para [consultar la tarea](/es/api-manual/task-management/get-task-detail)
- Los enlaces de las imágenes generadas son válidos durante 24 horas. Guarde los resultados cuanto antes



## OpenAPI

````yaml es/api-manual/image-series/gpt-image-2.6/gpt-image-2.6-image-generation.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: gpt-image-2.6 API
  description: >-
    Crear tareas de imagen usando modelos de IA con soporte para múltiples
    modelos y configuraciones de parámetros
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Producción
security:
  - bearerAuth: []
tags:
  - name: Generación de imágenes
    description: APIs relacionadas con generación de imágenes por IA
paths:
  /v1/images/generations:
    post:
      tags:
        - Generación de imágenes
      summary: gpt-image-2.6 API
      description: >-
        - GPT Image 2.6 (gpt-image-2.6-sunburst / gpt-image-2.6-flare) admite
        generación de texto a imagen, imagen a imagen, edición de imágenes y
        edición guiada por anotaciones, con salida en GIF animado y SVG
        vectorial

        - Procesamiento asíncrono: use el ID de tarea devuelto para [consultar
        la tarea](/es/api-manual/task-management/get-task-detail)

        - Los enlaces de las imágenes generadas son válidos durante 24 horas.
        Guarde los resultados cuanto antes
      operationId: createImageGenerationGptImage26
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              text_to_image:
                summary: Texto a imagen (simple)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Una hermosa puesta de sol colorida sobre el océano
              text_to_image_hd:
                summary: Texto a imagen (HD 16:9)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    Plano amplio cinematográfico de un horizonte urbano
                    futurista al atardecer
                  size: '16:9'
                  resolution: 4K
                  quality: high
                  'n': 1
                  complexity: high
              text_to_image_pixel:
                summary: Texto a imagen (píxeles explícitos)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Diseño de logo minimalista
                  size: 1024x1024
                  quality: medium
              image_edit:
                summary: Imagen a imagen / Edición
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Añade un gatito lindo junto a ella
                  size: '1:1'
                  resolution: 1K
                  quality: medium
                  image_urls:
                    - https://example.com/input.png
                  callback_url: https://your-domain.com/webhook/image-done
              image_inpaint:
                summary: Inpainting (con máscara)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Reemplaza el cielo con un cielo estrellado
                  size: '1:1'
                  resolution: 1K
                  quality: medium
                  image_urls:
                    - https://example.com/input.png
                  mask_url: https://example.com/mask.png
              markup_edit:
                summary: Edición guiada por anotaciones
                value:
                  model: gpt-image-2.6-flare
                  prompt: >-
                    Cambie el jarrón dentro del círculo rojo a cerámica de color
                    azul cobalto liso, mantenga todo lo demás sin cambios y
                    elimine el círculo rojo
                  quality: medium
                  image_urls:
                    - https://example.com/kitchen.png
                  markup_url: https://example.com/markup.png
              batch_generation:
                summary: Generación por lotes
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Un lindo robot estilo pixel art
                  size: '1:1'
                  resolution: 2K
                  quality: high
                  'n': 4
              gif_animation:
                summary: GIF animado
                value:
                  model: gpt-image-2.6-flare
                  prompt: >-
                    Un farol que se balancea suavemente con la brisa nocturna,
                    en un bucle continuo sin saltos
                  output_format: gif
                  size: auto
                  quality: medium
                  model_params:
                    frame_count: 9
                    frame_duration_ms: 200
              svg_vector:
                summary: Imagen vectorial SVG
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    Un logotipo de estilo plano para una panadería, con espigas
                    de trigo y un emblema circular
                  output_format: svg
                  quality: medium
                  model_params:
                    svg_model: gpt-6.1-terra
              gif_animation_pixel:
                summary: GIF animado (tamaño explícito por fotograma)
                value:
                  model: gpt-image-2.6-flare
                  prompt: >-
                    Un gatito que parpadea de forma natural, en un bucle
                    continuo sin saltos
                  output_format: gif
                  size: 720x720
                  quality: low
                  model_params:
                    frame_count: 16
                    frame_duration_ms: 200
      responses:
        '200':
          description: Tarea de imagen creada con éxito
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageGenerationResponse'
        '400':
          description: Parámetros de solicitud inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: No autenticado, token inválido o expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Cuota insuficiente, se requiere recarga
          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: Acceso denegado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: gpt-image-2.6-sunburst'
                  type: invalid_request_error
        '429':
          description: Límite de frecuencia excedido
          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: Error interno del servidor
          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: >-
            Nombre del modelo de generación de imágenes, con mayor estabilidad y
            control para usos comerciales


            | ID del modelo | Uso recomendado |

            |---|---|

            | `gpt-image-2.6-sunburst` | Mayor nivel de detalle para trabajos
            visuales de precisión |

            | `gpt-image-2.6-flare` | Generación más rápida para iterar con
            agilidad |


            Ambos modelos aceptan exactamente los mismos parámetros. El consumo
            real de tokens puede variar ligeramente con el mismo nivel de
            `quality`; tome como referencia el `usage` devuelto.
          enum:
            - gpt-image-2.6-sunburst
            - gpt-image-2.6-flare
          default: gpt-image-2.6-sunburst
          example: gpt-image-2.6-sunburst
        prompt:
          type: string
          description: >-
            Prompt que describe la imagen que desea generar o cómo editar la
            imagen de entrada


            **Límites de longitud (deben cumplirse ambos):**

            - Hasta `32.000` caracteres (contados como puntos de código Unicode)

            - El propio texto de `prompt` no debe superar los `60.000` bytes al
            codificarse en UTF-8


            Cada carácter puede ocupar una cantidad distinta de bytes en UTF-8.
            Utilice el número real de bytes tras la codificación.


            Si se supera cualquiera de los límites, acorte el prompt antes de
            volver a enviarlo.


            **Recomendación:** Si el prompt supera los `8000` tokens, la imagen
            generada puede no coincidir con lo esperado; se recomienda acortar
            el prompt.
          example: Una hermosa puesta de sol colorida sobre el océano
          maxLength: 32000
        image_urls:
          type: array
          description: >-
            Imágenes de referencia como URLs públicas, para funciones de imagen
            a imagen y edición de imágenes


            **Nota:**

            - Número de imágenes de entrada por solicitud: `1~16`

            - Tamaño de una sola imagen: no más de `50MB`

            - Píxeles de una sola imagen: ancho × alto no más de `178.956.970`
            px

            - Longitud de lado de una sola imagen: ancho / alto sin superar
            `23170` px cada uno; al superarlo pueden producirse errores

            - Formatos de archivo admitidos: `.jpeg`, `.jpg`, `.png`, `.webp`

            - Las URLs de imagen deben ser directamente accesibles por el
            servidor, o la URL de imagen debe activar la descarga directa al
            acceder (generalmente estas URLs terminan con extensiones de archivo
            de imagen, como `.png`, `.jpg`)

            - En escenarios de imagen a imagen / edición de imagen, las imágenes
            de referencia enviadas generan consumo adicional de tokens de imagen
            de entrada

            - Con `markup_url`, las anotaciones se aplican a la primera imagen y
            las demás sirven como referencias; la primera imagen debe tener un
            ancho × alto ≤ `16.777.216` px

            - No se admiten imágenes de referencia cuando `output_format` es
            `svg`
          items:
            type: string
            format: uri
          example:
            - https://example.com/image1.png
            - https://example.com/image2.png
        mask_url:
          type: string
          format: uri
          description: >-
            URL de la máscara de inpainting — marca la región de la imagen de
            referencia que se va a regenerar. **Solo válida en modo de edición
            de imagen** (debe combinarse con `image_urls`); en texto-a-imagen
            puro, la máscara se ignora silenciosamente.


            **Requisitos de formato:**

            - **Debe ser un PNG con canal alfa**: píxeles transparentes (`alpha
            < 255`) = áreas a regenerar, píxeles opacos = preservados

            - **Las dimensiones de la máscara deben coincidir exactamente con
            las de la imagen de referencia** (ancho × alto en píxeles)

            - Una máscara por solicitud


            **Nota:**

            - Se requiere al menos una imagen de referencia en `image_urls`; una
            máscara sola no tiene efecto

            - No se puede combinar con `markup_url`

            - Errores comunes:
                - `Invalid mask image format - mask image missing alpha channel`: la imagen subida no tiene canal alfa (JPEG, PNG opaco, etc.). Reexporta la máscara como PNG con regiones transparentes.
                - `Invalid mask image format - mask size does not match image size`: las dimensiones de la máscara no coinciden con la imagen de referencia. Redimensiona la máscara a las mismas dimensiones en píxeles que tu imagen de referencia.
          example: https://example.com/mask.png
        markup_url:
          type: string
          format: uri
          description: >-
            URL pública de la capa de anotaciones. Marque con círculos, flechas
            o trazos las zonas que desea modificar en la imagen de referencia y
            describa los cambios en `prompt`. **Solo se aplica en el modo de
            edición de imágenes** (requiere `image_urls`).


            **Requisitos de formato:**

            - **Debe ser un PNG con píxeles transparentes**: dibuje únicamente
            las anotaciones y deje el resto transparente. No dibuje directamente
            sobre la imagen original

            - **Las dimensiones deben coincidir exactamente con las de la
            primera imagen de referencia** (ancho × alto en píxeles)

            - Tanto la primera imagen de referencia como la capa de anotaciones
            deben tener un ancho × alto ≤ `16.777.216` px

            - Tamaño del archivo: no más de `50MB`


            **Nota:**

            - Las anotaciones se aplican a la primera imagen de `image_urls`;
            las demás sirven como referencias

            - No se puede combinar con `mask_url`

            - Admite edición de imágenes convencionales y GIF, pero no SVG

            - También puede enviarse como `model_params.markup_url`; si se
            proporcionan ambos valores, tiene prioridad el de nivel superior

            - En `prompt`, indique también qué debe conservarse, por ejemplo,
            "mantenga el resto sin cambios y elimine el círculo rojo"
          example: https://example.com/markup.png
        size:
          type: string
          description: >-
            Dimensiones de la imagen generada. Por defecto `auto`. Las imágenes
            convencionales y las imágenes de referencia para SVG comparten las
            reglas siguientes; GIF utiliza las reglas independientes del
            apartado ④.


            **① Imágenes convencionales / referencia para SVG: formato de
            proporción (15 opciones)**


            - `1:1`: Cuadrado

            - `1:2` / `2:1`: Vertical / horizontal extremo

            - `1:3` / `3:1`: Ultra vertical / horizontal (límite 3:1)

            - `2:3` / `3:2`: Vertical / horizontal estándar

            - `3:4` / `4:3`: Vertical / horizontal clásico

            - `4:5` / `5:4`: Comunes en redes sociales

            - `9:16` / `16:9`: Pantalla ancha móvil / escritorio

            - `9:21` / `21:9`: Ultra-ancha


            **② Imágenes convencionales / referencia para SVG: píxeles
            explícitos**: `WxH` (o `W×H`), p. ej. `1024x1024`, `1536x1024`,
            `3840×2160`


            - Ancho y alto deben ser múltiplos de `16`

            - Rango de cada borde: `[16, 3840]`

            - Presupuesto de píxeles: `655.360 ≤ width × height ≤ 8.294.400`
            (aprox. 0,65 MP ~ 8,29 MP)

            - Relación de aspecto: `≤ 3:1`


            **③ Imágenes convencionales / referencia para SVG: `auto`**: El
            modelo decide el tamaño automáticamente (en este caso `resolution`
            no se aplica)


            **④ Salida GIF**: `size` indica las dimensiones de cada fotograma.
            Solo admite `auto` y dimensiones explícitas en píxeles, no
            proporciones.


            - Con `auto`, cada fotograma mide `512×512`

            - El ancho y el alto explícitos de cada fotograma deben ser
            múltiplos positivos de `16`

            - El mínimo de `655.360` píxeles para imágenes convencionales no se
            aplica a cada fotograma GIF; por ejemplo, `512x512` es válido

            - La imagen que reúne todos los fotogramas debe cumplir los límites
            de lados, píxeles totales y relación de aspecto; consulte las
            distribuciones y los límites por fotograma en
            `model_params.frame_count`

            - `resolution` no se aplica


            **Tratamiento de valores fuera de rango:**

            - Para imágenes convencionales / referencia para SVG, una
            combinación de proporción + `resolution` que exceda el presupuesto
            se reduce proporcionalmente al máximo permitido (p. ej. 4K 2:1 →
            3840×1920)

            - Las dimensiones explícitas de fotogramas GIF que superen los
            límites devuelven HTTP 400 y no se reducen automáticamente
          default: auto
          example: auto
        resolution:
          type: string
          description: >-
            Parámetro rápido de nivel de resolución, solo efectivo cuando `size`
            está en formato de proporción; en formato de píxeles explícito y en
            la salida GIF este campo se ignora


            **Reglas de presupuesto de píxeles** (las dimensiones se calculan a
            partir del recuento total de píxeles objetivo y la proporción de
            `size`, alineadas a múltiplos de 16):


            - `1K`: ~1 MP (1024² = 1.048.576 píxeles)

            - `2K`: ~4 MP (2048² = 4.194.304 píxeles)

            - `4K`: ~8,29 MP (3840×2160 = 8.294.400 píxeles, el máximo)


            **Tamaños de salida horizontal / cuadrado** (los tamaños verticales
            son el horizontal con ancho/alto intercambiados, p. ej. `2:3` =
            `3:2` invertido):


            | Proporción | 1K | 2K | 4K |

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

            | `1:1` | 1024×1024 | 2048×2048 | 2880×2880 |

            | `2:1` | 1456×720 | 2896×1456 | 3840×1920 \* |

            | `3:1` | 1776×592 | 3552×1184 | 3840×1280 \* |

            | `3:2` | 1248×832 | 2512×1680 | 3520×2352 |

            | `4:3` | 1184×880 | 2368×1776 | 3312×2480 \* |

            | `5:4` | 1152×912 | 2288×1824 | 3216×2576 |

            | `16:9` | 1360×768 | 2736×1536 | 3840×2160 (UHD) |

            | `21:9` | 1568×672 | 3136×1344 | 3840×1648 \* |


            \* Indica combinaciones que se reducen automáticamente para caber en
            el presupuesto de píxeles. Los valores no distinguen
            mayúsculas/minúsculas.
          enum:
            - 1K
            - 2K
            - 4K
          default: 1K
          example: 1K
        quality:
          type: string
          description: >-
            Calidad de renderizado, que afecta directamente al número de tokens
            de salida y al costo. Por defecto `medium`


            | Valor | Tokens de salida (1024²) | Costo relativo de salida de
            imagen (1024²) |

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

            | `low` | 824 | ~0,57× |

            | `medium` | 1.449 | 1,0× |

            | `high` | 1.756 | ~1,21× |

            | `xhigh` | 3.122 | ~2,15× |

            | `max` | 7.024 | ~4,85× |


            **Nota:**

            - La tabla compara únicamente el costo de salida de imagen, sin
            incluir la entrada ni el modelo autor de SVG

            - Los valores corresponden a `1024×1024`; los tokens de salida
            varían con el total de píxeles y la relación de aspecto. Consulte el
            `usage` devuelto para conocer el consumo real

            - En GIF, los tokens se calculan sobre la imagen que reúne todos los
            fotogramas; en SVG, la calidad se aplica a la imagen de referencia

            - Use `low` para borradores rápidos. Para recursos finales, compare
            niveles para equilibrar detalle, latencia y costo
          enum:
            - low
            - medium
            - high
            - xhigh
            - max
          default: medium
          example: medium
        complexity:
          type: string
          description: >-
            Profundidad de planificación antes de generar la imagen,
            independiente de `quality`. Por defecto `high`


            - `low`: Adecuado para cambios locales, como sustituir el fondo o
            cambiar el texto de un cartel

            - `medium`: Equilibrado

            - `high`: Adecuado para imágenes con mucho texto, composiciones
            complejas o relaciones complejas entre objetos


            **Nota:**

            - Los niveles más altos tardan más y pueden introducir cambios no
            deseados; compare los resultados para su tarea

            - Cambiar `complexity` no genera un cargo adicional

            - En SVG, se aplica a la imagen de referencia

            - También puede enviarse como `model_params.complexity`; si se
            proporcionan ambos valores, tiene prioridad el de nivel superior
          enum:
            - low
            - medium
            - high
          default: high
          example: high
        background:
          type: string
          description: >-
            Canal alfa de la imagen de salida. Valor predeterminado `opaque`


            - `opaque`: Fondo opaco, sin canal alfa

            - `transparent`: Conserva el canal alfa


            **Nota:**

            - `transparent` es una función en Preview y los resultados pueden
            ser inestables

            - Al usar `transparent`, `output_format` debe ser `png` o `webp`

            - Si `output_format` es `gif` o `svg`, solo se admite `opaque`
          enum:
            - opaque
            - transparent
          default: opaque
          example: opaque
        output_format:
          type: string
          description: >-
            Formato del archivo de salida. Por defecto `png`


            - `png`: Sin pérdida, admite fondos transparentes

            - `jpeg`: Compresión con pérdida y archivos más pequeños

            - `webp`: Equilibra tamaño y calidad; también admite transparencia

            - `gif`: GIF animado; consulte `model_params` para el número y la
            duración de los fotogramas

            - `svg`: Imagen vectorial SVG, adecuada para logotipos, iconos y
            gráficos que necesitan escalar sin pérdida


            **Nota:**

            - Si `background` es `transparent`, solo se permite `png` o `webp`

            - `gif` admite generación de texto a imagen y edición de imágenes

            - Con `gif` y `svg`, `n` debe ser `1`

            - `svg` solo admite generación de texto a imagen

            - Para crear un SVG, primero se genera una imagen de referencia y
            luego un modelo autor (`model_params.svg_model`) la convierte en
            gráficos vectoriales. Los tokens del modelo autor se facturan por
            separado según sus tarifas
          enum:
            - png
            - jpeg
            - webp
            - gif
            - svg
          default: png
          example: png
        'n':
          type: integer
          description: >-
            Cantidad de imágenes a generar, cada una facturada de forma
            independiente


            **Nota:**

            - Los tokens de entrada de texto escalan proporcionalmente con `n`

            - El soporte de `n > 1` es poco fiable por ahora: aun con un valor
            mayor que 1, a menudo solo se devuelve una imagen. El número real es
            el de `results` en la respuesta y la facturación sigue el `usage`
            devuelto. Si necesita varias imágenes, envíe varias solicitudes de
            una sola imagen

            - Cuando `output_format` es `gif` o `svg`, este valor debe ser `1`
          minimum: 1
          maximum: 10
          default: 1
          example: 1
        model_params:
          type: object
          description: >-
            Parámetros específicos del modelo. Los parámetros de fotogramas GIF
            y del autor de SVG deben enviarse en este objeto.


            - `frame_count` y `frame_duration_ms` solo se permiten con
            `output_format=gif`

            - `svg_model` y `svg_reasoning_effort` solo se permiten con
            `output_format=svg`

            - Los parámetros incompatibles con el formato de salida devuelven
            HTTP 400; no se ignoran silenciosamente
          properties:
            frame_count:
              type: integer
              description: >-
                Número de fotogramas del GIF. Solo disponible cuando
                `output_format` es `gif`. Por defecto `9`.


                Todos los fotogramas se generan juntos en una imagen combinada.
                El ancho y el alto explícitos de cada fotograma deben ser
                múltiplos positivos de `16`; los fotogramas individuales no
                están sujetos al mínimo de píxeles de las imágenes
                convencionales. Las longitudes de los lados de la tabla se
                expresan en píxeles.


                | Fotogramas | Límites por fotograma | Tamaño de ejemplo |

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

                | `2`~`8` | ≤ 1.036.800 píxeles; un lado ≤ 960 y el otro ≤ 1920
                | `960x1072` |

                | `9` | ≤ 921.600 píxeles; ambos lados ≤ 1280 | `1280x720` |

                | `10`~`12` | ≤ 691.200 píxeles; un lado ≤ 1280 y el otro ≤ 960
                | `960x720` |

                | `13`~`16` | ≤ 518.400 píxeles; ambos lados ≤ 960 | `720x720` |


                **Distribución de la cuadrícula (columnas × filas):**

                - `2`~`8` fotogramas: `4×2` o `2×4`

                - `9` fotogramas: `3×3`

                - `10`~`12` fotogramas: `3×4` o `4×3`; se prueba `4×4` si es
                necesario

                - `13`~`16` fotogramas: `4×4`


                **Además, deben cumplirse estas condiciones:**

                - Al menos una distribución debe mantener cada lado de la imagen
                combinada ≤ `3840` px, el total de píxeles ≤ `8.294.400` y la
                relación de aspecto ≤ `3:1`

                - Con una distribución `4×4`, cada fotograma debe cumplir los
                límites de área y lados indicados para `13`~`16` fotogramas

                - Si ninguna distribución disponible permite encajarlos, se
                devuelve HTTP 400; los límites de área y lados de la tabla no
                son las únicas restricciones


                Con `size=auto`, cada fotograma mide `512×512`, válido para
                cualquier número de fotogramas admitido. Los tokens de salida se
                calculan sobre la imagen combinada, no sumando los de cada
                fotograma.
              minimum: 2
              maximum: 16
              default: 9
              example: 9
            frame_duration_ms:
              type: integer
              description: >-
                Duración de cada fotograma GIF en milisegundos. Solo disponible
                cuando `output_format` es `gif`. Por defecto `200`, redondeada a
                incrementos de 10 milisegundos
              minimum: 20
              maximum: 2000
              default: 200
              example: 200
            svg_model:
              type: string
              description: >-
                Modelo autor de SVG, que convierte la imagen de referencia en
                SVG. Solo disponible cuando `output_format` es `svg`. Por
                defecto `gpt-6.1-terra`


                **Nota:**

                - Los tokens del modelo autor se facturan por separado según las
                tarifas del modelo seleccionado

                - El `usage` del resultado de la tarea incluye `svg_model`,
                `svg_input_tokens` y `svg_output_tokens`

                - Los tokens de entrada y salida del modelo autor se muestran
                por separado y no se incluyen en `usage.total_tokens`
              enum:
                - gpt-6.1-terra
                - gpt-6.1-sol
                - gpt-6-astra
                - gpt-6-sol
                - gpt-6-luna
              default: gpt-6.1-terra
              example: gpt-6.1-terra
            svg_reasoning_effort:
              type: string
              description: >-
                Intensidad de razonamiento del modelo autor de SVG. Solo
                disponible cuando `output_format` es `svg`. Si se omite, se
                utiliza el nivel predeterminado del modelo autor: `medium`


                | Modelo autor | Valores permitidos |

                |---|---|

                | `gpt-6.1-terra`, `gpt-6-sol`, `gpt-6-luna` | `none`, `low`,
                `medium`, `high`, `xhigh`, `max` |

                | `gpt-6.1-sol`, `gpt-6-astra` | `low`, `medium`, `high`,
                `xhigh`, `max` |


                **Nota:**

                - Los tokens de razonamiento se incluyen en los tokens de salida
                del modelo autor
              enum:
                - none
                - low
                - medium
                - high
                - xhigh
                - max
              example: medium
        callback_url:
          type: string
          description: >-
            Dirección de callback HTTPS después de completar la tarea


            **Momento del callback:**

            - Se activa cuando la tarea se completa, falla o se cancela

            - Se envía después de completar la confirmación de facturación


            **Restricciones de seguridad:**

            - Solo se admite el protocolo HTTPS

            - El callback a direcciones IP internas está prohibido (127.0.0.1,
            10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - La longitud de la URL no debe exceder `2048` caracteres


            **Mecanismo de callback:**

            - Tiempo de espera: `10` segundos

            - Máximo `3` reintentos en caso de fallo (reintentos después de `1`
            segundo/`2` segundos/`4` segundos)

            - El formato del cuerpo de respuesta del callback es consistente con
            el formato de respuesta de la API de consulta de tareas

            - La dirección de callback que devuelve un código de estado 2xx se
            considera exitosa, otros códigos de estado activarán reintentos
          format: uri
          example: https://your-domain.com/webhooks/image-task-completed
    ImageGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Marca de tiempo de creación de la tarea
          example: 1757156493
        id:
          type: string
          description: ID de tarea
          example: task-unified-1757156493-imcg5zqt
        model:
          type: string
          description: Nombre del modelo usado realmente
          example: gpt-image-2.6-sunburst
        object:
          type: string
          enum:
            - image.generation.task
          description: Tipo específico de tarea
        progress:
          type: integer
          description: Porcentaje de progreso de la tarea (0-100)
          minimum: 0
          maximum: 100
          example: 1
        status:
          type: string
          description: >-
            Estado de la tarea. Las tareas en cola y en generación devuelven
            `processing`; el estado final es `completed` o `failed`.
          enum:
            - processing
            - completed
            - failed
          example: processing
        task_info:
          $ref: '#/components/schemas/TaskInfo'
          description: Información de tarea asíncrona
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Tipo de salida de la tarea
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
          description: Información de uso y facturación
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identificador de código de error
            message:
              type: string
              description: Descripción del error
            type:
              type: string
              description: Tipo de error
    TaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Si la tarea puede ser cancelada
          example: true
        estimated_time:
          type: integer
          description: Tiempo estimado de finalización (segundos)
          minimum: 0
          example: 100
    Usage:
      type: object
      description: >-
        Información de la reserva de créditos al crear la tarea. Consulte la
        tarea una vez completada para obtener el consumo real y los detalles de
        tokens.
      properties:
        billing_rule:
          type: string
          description: >-
            Regla de facturación. GPT Image 2.6 se factura por cada 1.000
            tokens. El uso de imagen, la entrada de texto y el uso del modelo
            autor de SVG se liquidan por separado según sus tarifas
            correspondientes.
          enum:
            - per_1k_tokens
          example: per_1k_tokens
        credits_reserved:
          type: number
          description: Créditos consumidos estimados
          minimum: 0
          example: 2.5
        user_group:
          type: string
          description: Categoría de grupo de usuarios
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Todas las APIs requieren autenticación Bearer Token.


        **Obtener API Key:**


        Visita la [Página de gestión de API
        Key](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Agregar al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

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