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

> - GPT Image 2.6 (gpt-image-2.6-sunburst / gpt-image-2.6-flare) unterstützt Text-zu-Bild, Bild-zu-Bild, Bildbearbeitung und annotationsgestützte Bearbeitung sowie die Ausgabe animierter GIFs und SVG-Vektorgrafiken
- Asynchrone Verarbeitung: Verwenden Sie die zurückgegebene Aufgaben-ID, um [den Status abzufragen](/de/api-manual/task-management/get-task-detail)
- Die Links zu den generierten Bildern sind 24 Stunden gültig. Speichern Sie die Ergebnisse möglichst bald



## OpenAPI

````yaml de/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: >-
    Bildaufgaben mit KI-Modellen erstellen, mit Unterstützung für mehrere
    Modelle und Parameterkonfigurationen
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Produktion
security:
  - bearerAuth: []
tags:
  - name: Bildgenerierung
    description: APIs für KI-Bildgenerierung
paths:
  /v1/images/generations:
    post:
      tags:
        - Bildgenerierung
      summary: gpt-image-2.6 API
      description: >-
        - GPT Image 2.6 (gpt-image-2.6-sunburst / gpt-image-2.6-flare)
        unterstützt Text-zu-Bild, Bild-zu-Bild, Bildbearbeitung und
        annotationsgestützte Bearbeitung sowie die Ausgabe animierter GIFs und
        SVG-Vektorgrafiken

        - Asynchrone Verarbeitung: Verwenden Sie die zurückgegebene Aufgaben-ID,
        um [den Status
        abzufragen](/de/api-manual/task-management/get-task-detail)

        - Die Links zu den generierten Bildern sind 24 Stunden gültig. Speichern
        Sie die Ergebnisse möglichst bald
      operationId: createImageGenerationGptImage26
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              text_to_image:
                summary: Text zu Bild (einfach)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Ein wunderschöner bunter Sonnenuntergang über dem Ozean
              text_to_image_hd:
                summary: Text zu Bild (HD 16:9)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    Filmische Weitwinkelaufnahme einer futuristischen
                    Stadtsilhouette in der Abenddämmerung
                  size: '16:9'
                  resolution: 4K
                  quality: high
                  'n': 1
                  complexity: high
              text_to_image_pixel:
                summary: Text zu Bild (explizite Pixel)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Minimalistisches Logo-Design
                  size: 1024x1024
                  quality: medium
              image_edit:
                summary: Bild zu Bild / Bearbeitung
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Füge eine süße Katze neben ihr hinzu
                  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 (mit Maske)
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Ersetze den Himmel durch einen Sternenhimmel
                  size: '1:1'
                  resolution: 1K
                  quality: medium
                  image_urls:
                    - https://example.com/input.png
                  mask_url: https://example.com/mask.png
              markup_edit:
                summary: Annotationsgestützte Bearbeitung (Markup)
                value:
                  model: gpt-image-2.6-flare
                  prompt: >-
                    Ändere die Vase im roten Kreis in eine Keramikvase in reinem
                    Kobaltblau. Lasse den Rest unverändert und entferne den
                    roten Kreis.
                  quality: medium
                  image_urls:
                    - https://example.com/kitchen.png
                  markup_url: https://example.com/markup.png
              batch_generation:
                summary: Batch-Generierung
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: Ein süßer Roboter im Pixel-Art-Stil
                  size: '1:1'
                  resolution: 2K
                  quality: high
                  'n': 4
              gif_animation:
                summary: Animiertes GIF
                value:
                  model: gpt-image-2.6-flare
                  prompt: >-
                    Eine Laterne schwingt sanft im nächtlichen Wind, mit einer
                    nahtlosen Schleife.
                  output_format: gif
                  size: auto
                  quality: medium
                  model_params:
                    frame_count: 9
                    frame_duration_ms: 200
              svg_vector:
                summary: SVG-Vektorgrafik
                value:
                  model: gpt-image-2.6-sunburst
                  prompt: >-
                    Ein Logo im Flat-Design für eine Bäckerei, mit Weizenähren
                    und einem runden Emblem.
                  output_format: svg
                  quality: medium
                  model_params:
                    svg_model: gpt-6.1-terra
              gif_animation_pixel:
                summary: Animiertes GIF (explizite Frame-Größe)
                value:
                  model: gpt-image-2.6-flare
                  prompt: >-
                    Eine kleine Katze blinzelt mit natürlichen Bewegungen in
                    einer nahtlosen Schleife.
                  output_format: gif
                  size: 720x720
                  quality: low
                  model_params:
                    frame_count: 16
                    frame_duration_ms: 200
      responses:
        '200':
          description: Bildaufgabe erfolgreich erstellt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageGenerationResponse'
        '400':
          description: Ungültige Anfrageparameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Nicht authentifiziert, Token ungültig oder abgelaufen
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Unzureichendes Guthaben, Aufladung erforderlich
          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: Zugriff verweigert
          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: Ratenlimit überschritten
          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: Interner Serverfehler
          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: >-
            Name des Bildgenerierungsmodells, mit besserer Stabilität und
            Steuerbarkeit für kommerzielle Anwendungen


            | Modell-ID | Positionierung |

            |---|---|

            | `gpt-image-2.6-sunburst` | Höhere Detailtreue, geeignet für
            anspruchsvolle visuelle Gestaltung |

            | `gpt-image-2.6-flare` | Schnellere Bildgenerierung, geeignet für
            schnelle Iterationen |


            Beide Modelle haben exakt dieselben Parameter. Bei derselben
            `quality`-Stufe kann der tatsächliche Token-Verbrauch leicht
            abweichen; maßgeblich ist das zurückgegebene `usage`.
          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, der das zu generierende Bild beschreibt oder wie das
            Eingabebild bearbeitet werden soll


            **Längenbegrenzungen (beide müssen eingehalten werden):**

            - Maximal `32.000` Zeichen (gezählt als Unicode-Codepunkte)

            - Der Text von `prompt` selbst darf nach der UTF-8-Kodierung
            höchstens `60.000` Bytes umfassen


            Verschiedene Zeichen belegen unterschiedlich viele UTF-8-Bytes.
            Maßgeblich ist die tatsächliche Byteanzahl nach der Kodierung.


            Wenn eine der Grenzen überschritten wird, kürzen Sie den Prompt vor
            dem erneuten Senden.


            **Empfehlung:** Wenn der Prompt `8000` Tokens überschreitet,
            entspricht das generierte Bild möglicherweise nicht den Erwartungen;
            eine Kürzung des Prompts wird empfohlen.
          example: Ein wunderschöner bunter Sonnenuntergang über dem Ozean
          maxLength: 32000
        image_urls:
          type: array
          description: >-
            Liste der Referenzbilder für Bild-zu-Bild und Bildbearbeitung.
            Unterstützt öffentliche URLs.


            **Hinweise:**

            - Anzahl der Eingabebilder pro Anfrage: `1–16`

            - Dateigröße pro Bild: maximal `50MB`

            - Pixelzahl pro Bild: Breite × Höhe maximal `178.956.970` px

            - Seitenlänge pro Bild: Breite und Höhe jeweils maximal `23170` px;
            größere Werte können Probleme verursachen

            - Unterstützte Formate: `.jpeg`, `.jpg`, `.png`, `.webp`

            - Bei URLs muss der Server direkt auf das Bild zugreifen können,
            oder beim Aufruf muss der Download direkt beginnen. Solche URLs
            enden häufig mit einer Bilddateiendung wie `.png` oder `.jpg`.

            - Bei Bild-zu-Bild und Bildbearbeitung verursachen die
            Referenzbilder zusätzlichen Verbrauch von Bild-Eingabe-Tokens.

            - Bei Verwendung von `markup_url` beziehen sich die Markierungen auf
            das erste Bild; weitere Bilder dienen als Referenzen. Die Pixelzahl
            des ersten Bildes darf `16.777.216` px nicht überschreiten.

            - Bei `output_format=svg` werden keine Referenzbilder unterstützt.
          items:
            type: string
            format: uri
          example:
            - https://example.com/image1.png
            - https://example.com/image2.png
        mask_url:
          type: string
          format: uri
          description: >-
            Inpainting-Maske URL — markiert die Region des Referenzbildes, die
            neu generiert werden soll. **Nur im Bildbearbeitungsmodus wirksam**
            (muss zusammen mit `image_urls` verwendet werden); bei reiner
            Text-zu-Bild-Generierung wird die Maske stillschweigend ignoriert.


            **Format-Anforderungen:**

            - **Muss ein PNG mit Alphakanal sein**: transparente Pixel (`alpha <
            255`) = neu zu generierende Bereiche, undurchsichtige Pixel =
            bleiben erhalten

            - **Maskenabmessungen müssen exakt mit dem Referenzbild
            übereinstimmen** (Breite × Höhe in Pixeln)

            - Eine Maske pro Anfrage


            **Hinweis:**

            - Mindestens ein Referenzbild in `image_urls` ist erforderlich; eine
            Maske allein hat keine Wirkung

            - Häufige Fehler:
                - `Invalid mask image format - mask image missing alpha channel`: Das hochgeladene Bild hat keinen Alphakanal (JPEG, undurchsichtiges PNG usw.). Exportieren Sie die Maske erneut als PNG mit transparenten Bereichen.
                - `Invalid mask image format - mask size does not match image size`: Die Maskenabmessungen stimmen nicht mit dem Referenzbild überein. Skalieren Sie die Maske auf die gleichen Pixelabmessungen wie Ihr Referenzbild.
            - Nicht zusammen mit `markup_url` verwendbar.
          example: https://example.com/mask.png
        markup_url:
          type: string
          format: uri
          description: >-
            Öffentliche URL der Markierungsebene. Markieren Sie zu bearbeitende
            Stellen im Referenzbild mit Kreisen, Pfeilen oder Skizzen und
            beschreiben Sie die Änderung in `prompt`. **Nur im
            Bildbearbeitungsmodus verfügbar** (`image_urls` muss ebenfalls
            angegeben werden).


            **Format-Anforderungen:**

            - **PNG mit transparenten Pixeln erforderlich**: Zeichnen Sie nur
            die Markierungen und lassen Sie den Rest transparent. Zeichnen Sie
            nicht direkt auf das Originalbild.

            - **Die Abmessungen müssen exakt mit denen des ersten Referenzbildes
            übereinstimmen** (Breite × Höhe in Pixeln).

            - Das erste Referenzbild und die Markierungsebene dürfen jeweils
            höchstens `16.777.216` px enthalten.

            - Dateigröße: maximal `50MB`


            **Hinweise:**

            - Die Markierungen beziehen sich auf das erste Bild in `image_urls`;
            weitere Bilder dienen als Referenzen.

            - Nicht zusammen mit `mask_url` verwendbar.

            - Unterstützt die Bearbeitung normaler Bilder und GIFs, nicht jedoch
            SVG.

            - Kann auch unter `model_params.markup_url` angegeben werden. Sind
            beide Werte vorhanden, hat der Wert auf oberster Ebene Vorrang.

            - Beschreiben Sie in `prompt` auch, was erhalten bleiben soll,
            beispielsweise „Lasse den Rest unverändert und entferne den roten
            Kreis“.
          example: https://example.com/markup.png
        size:
          type: string
          description: >-
            Abmessungen des generierten Bildes, standardmäßig `auto`. Normale
            Bilder und SVG-Referenzbilder verwenden die folgenden Regeln; für
            GIFs gelten die separaten Regeln in Abschnitt ④.


            **① Normale Bilder / SVG-Referenzbilder: Seitenverhältnis (15
            Varianten)**


            - `1:1`: quadratisch

            - `1:2` / `2:1`: sehr hoch / sehr breit

            - `1:3` / `3:1`: extrem hoch / extrem breit (Grenze 3:1)

            - `2:3` / `3:2`: Standard-Hochformat / -Querformat

            - `3:4` / `4:3`: klassisches Hochformat / Querformat

            - `4:5` / `5:4`: häufig für soziale Medien verwendet

            - `9:16` / `16:9`: Smartphone- / Desktop-Breitbild

            - `9:21` / `21:9`: ultrabreit


            **② Normale Bilder / SVG-Referenzbilder: explizite
            Pixelabmessungen**: `WxH` (oder `W×H`), z. B. `1024x1024`,
            `1536x1024`, `3840×2160`


            - Breite und Höhe müssen Vielfache von `16` sein.

            - Bereich pro Seite: `[16, 3840]`

            - Pixelbudget: `655.360 ≤ width × height ≤ 8.294.400` (ca. 0,65 MP
            bis 8,29 MP)

            - Seitenverhältnis: `≤ 3:1`


            **③ Normale Bilder / SVG-Referenzbilder: `auto`**: Das Modell
            bestimmt die Abmessungen automatisch (`resolution` hat dabei keine
            Wirkung).


            **④ GIF-Ausgabe**: `size` gibt die Abmessungen jedes einzelnen
            Frames an. Unterstützt werden nur `auto` und explizite
            Pixelabmessungen, keine Seitenverhältnisse.


            - Bei `auto` hat jeder Frame `512×512` Pixel.

            - Explizite Frame-Breite und -Höhe müssen positive Vielfache von
            `16` sein.

            - Die Mindestpixelzahl von `655.360` für normale Bilder gilt nicht
            für einzelne GIF-Frames. Beispielsweise ist `512x512` zulässig.

            - Das aus allen Frames zusammengesetzte Bild muss die Grenzen für
            Seitenlänge, Gesamtpixelzahl und Seitenverhältnis einhalten. Raster
            und Frame-Obergrenzen finden Sie unter `model_params.frame_count`.

            - `resolution` hat keine Wirkung.


            **Bei Überschreitung der Grenzen:**

            - Überschreitet die Kombination aus Seitenverhältnis und
            `resolution` bei normalen Bildern / SVG-Referenzbildern das Budget,
            wird proportional auf das Maximum verkleinert (z. B. 4K 2:1 →
            3840×1920).

            - Zu große explizite GIF-Frame-Abmessungen führen direkt zu HTTP 400
            und werden nicht automatisch verkleinert.
          default: auto
          example: auto
        resolution:
          type: string
          description: >-
            Schneller Parameter für die Auflösungsstufe. Wirkt nur, wenn `size`
            als Seitenverhältnis angegeben wird; bei expliziten Pixelabmessungen
            und GIF-Ausgabe wird dieses Feld ignoriert.


            **Pixel-Budget-Regel** (die Abmessungen werden aus der
            Ziel-Pixelzahl und dem `size`-Verhältnis berechnet und auf Vielfache
            von 16 ausgerichtet):


            - `1K`: ~1 MP (1024² = 1.048.576 Pixel)

            - `2K`: ~4 MP (2048² = 4.194.304 Pixel)

            - `4K`: ~8,29 MP (3840×2160 = 8.294.400 Pixel, das Maximum)


            **Querformat-/Quadrat-Ausgabegrößen** (Hochformat-Maße sind die
            Breite/Höhe des entsprechenden Querformats vertauscht, z. B. `2:3` =
            `3:2` umgekehrt):


            | Verhältnis | 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 \* |


            \* Markiert Kombinationen, die wegen des Pixel-Budgets automatisch
            herunterskaliert werden. Werte sind
            Groß-/Kleinschreibungsunabhängig.
          enum:
            - 1K
            - 2K
            - 4K
          default: 1K
          example: 1K
        quality:
          type: string
          description: >-
            Rendering-Qualität, die sich direkt auf die Anzahl der
            Ausgabe-Tokens und die Kosten auswirkt. Standard: `medium`.


            | Wert | Ausgabe-Tokens (1024²) | Verhältnis der Bildausgabekosten
            (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× |


            **Hinweise:**

            - Die Tabelle vergleicht nur die Bildausgabekosten, ohne
            Eingabekosten und Kosten des SVG-Autormodells.

            - Die Werte beziehen sich auf `1024×1024`. Die Anzahl der
            Ausgabe-Tokens hängt von der Gesamtpixelzahl und dem
            Seitenverhältnis ab. Maßgeblich ist das zurückgegebene `usage`.

            - Bei GIFs wird das aus allen Frames zusammengesetzte Bild
            berechnet; bei SVG beeinflusst dieser Parameter das Referenzbild.

            - Verwenden Sie `low` für schnelle Entwürfe. Vergleichen Sie für
            fertige Ergebnisse mehrere Stufen, um Details, Laufzeit und Kosten
            abzuwägen.
          enum:
            - low
            - medium
            - high
            - xhigh
            - max
          default: medium
          example: medium
        complexity:
          type: string
          description: >-
            Planungstiefe vor der Bildgenerierung, unabhängig von `quality`.
            Standard: `high`.


            - `low`: geeignet für lokale Änderungen wie einen anderen
            Hintergrund oder geänderten Text auf einem Schild

            - `medium`: ausgewogen

            - `high`: geeignet für textreiche Bilder, komplexe Layouts oder
            komplexe Beziehungen zwischen Objekten


            **Hinweise:**

            - Höhere Stufen benötigen mehr Zeit und können unerwünschte
            Änderungen verursachen. Vergleichen Sie die Ergebnisse je nach
            Aufgabe.

            - Für Änderungen an `complexity` fallen keine zusätzlichen Gebühren
            an.

            - Bei SVG beeinflusst dieser Parameter das Referenzbild.

            - Kann auch unter `model_params.complexity` angegeben werden. Sind
            beide Werte vorhanden, hat der Wert auf oberster Ebene Vorrang.
          enum:
            - low
            - medium
            - high
          default: high
          example: high
        background:
          type: string
          description: >-
            Hintergrundkanal des Ausgabebildes, standardmäßig `opaque`.


            - `opaque`: undurchsichtiger Hintergrund ohne Alphakanal

            - `transparent`: Alphakanal bleibt erhalten


            **Hinweise:**

            - `transparent` ist derzeit eine Preview-Funktion; die Ergebnisse
            können instabil sein.

            - Bei `transparent` muss `output_format` entweder `png` oder `webp`
            sein.

            - Bei `output_format=gif` oder `svg` ist nur `opaque` zulässig.
          enum:
            - opaque
            - transparent
          default: opaque
          example: opaque
        output_format:
          type: string
          description: >-
            Dateiformat der Ausgabe, standardmäßig `png`.


            - `png`: verlustfrei, unterstützt transparente Hintergründe

            - `jpeg`: verlustbehaftete Komprimierung für kleinere Dateien

            - `webp`: ausgewogenes Verhältnis von Dateigröße und Qualität,
            unterstützt ebenfalls Transparenz

            - `gif`: animiertes GIF; Anzahl und Dauer der Frames werden unter
            `model_params` eingestellt

            - `svg`: SVG-Vektorgrafik, geeignet für Logos, Symbole und andere
            verlustfrei skalierbare Grafiken


            **Hinweise:**

            - Bei `background=transparent` sind nur `png` und `webp` zulässig.

            - `gif` unterstützt Text-zu-Bild und Bildbearbeitung.

            - Bei `gif` und `svg` muss `n` auf `1` gesetzt sein.

            - `svg` unterstützt nur Text-zu-Bild.

            - Für SVG erzeugt das Bildmodell zunächst ein Referenzbild. Das
            Autormodell (`model_params.svg_model`) wandelt es anschließend in
            eine Vektorgrafik um. Dessen Token-Verbrauch wird separat nach dem
            gewählten Modell abgerechnet.
          enum:
            - png
            - jpeg
            - webp
            - gif
            - svg
          default: png
          example: png
        'n':
          type: integer
          description: >-
            Anzahl der zu generierenden Bilder. Jedes Bild wird separat
            abgerechnet.


            **Hinweise:**

            - Die Texteingabe-Tokens steigen proportional zu `n`.

            - Die Unterstützung für `n > 1` ist derzeit unzuverlässig: Auch bei
            einem Wert größer als 1 wird möglicherweise nur ein Bild
            zurückgegeben. Maßgeblich sind die tatsächliche Anzahl in `results`
            und das zurückgegebene `usage` für die Abrechnung. Wenn Sie mehrere
            Bilder benötigen, empfehlen sich mehrere Einzelbildanfragen.

            - Bei `output_format=gif` oder `svg` ist nur `1` zulässig.
          minimum: 1
          maximum: 10
          default: 1
          example: 1
        model_params:
          type: object
          description: >-
            Modellspezifische Zusatzparameter. GIF-Frame-Parameter und Parameter
            des SVG-Autormodells müssen in diesem Objekt angegeben werden.


            - `frame_count` und `frame_duration_ms` sind nur bei
            `output_format=gif` zulässig.

            - `svg_model` und `svg_reasoning_effort` sind nur bei
            `output_format=svg` zulässig.

            - Passen Ausgabeformat und Zusatzparameter nicht zusammen, wird HTTP
            400 zurückgegeben; die Parameter werden nicht stillschweigend
            ignoriert.
          properties:
            frame_count:
              type: integer
              description: >-
                Anzahl der Frames des animierten GIFs. Nur bei
                `output_format=gif` verfügbar, standardmäßig `9`.


                Alle Frames werden als ein zusammengesetztes Bild generiert.
                Explizite Frame-Breite und -Höhe müssen positive Vielfache von
                `16` sein; die Mindestpixelzahl normaler Bilder gilt nicht für
                einzelne Frames. Alle Seitenlängen in der Tabelle sind in Pixeln
                angegeben.


                | Frames | Grenzen pro Frame | Beispielgröße |

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

                | `2`–`8` | ≤ 1.036.800 Pixel; eine Seite ≤ 960, die andere ≤
                1920 | `960x1072` |

                | `9` | ≤ 921.600 Pixel; beide Seiten ≤ 1280 | `1280x720` |

                | `10`–`12` | ≤ 691.200 Pixel; eine Seite ≤ 1280, die andere ≤
                960 | `960x720` |

                | `13`–`16` | ≤ 518.400 Pixel; beide Seiten ≤ 960 | `720x720` |


                **Rasterregeln (Spalten × Zeilen):**

                - `2`–`8` Frames: `4×2` oder `2×4`

                - `9` Frames: `3×3`

                - `10`–`12` Frames: `3×4` oder `4×3`, bei Bedarf `4×4`

                - `13`–`16` Frames: `4×4`


                **Zusätzlich müssen alle folgenden Bedingungen erfüllt sein:**

                - Mindestens ein Raster muss ein Gesamtbild mit höchstens `3840`
                px pro Seite, höchstens `8.294.400` Pixeln und einem
                Seitenverhältnis von höchstens `3:1` ergeben.

                - Beim Raster `4×4` gelten pro Frame die Flächen- und
                Seitenlängengrenzen der Zeile für `13`–`16` Frames.

                - Passt kein verfügbares Raster, wird HTTP 400 zurückgegeben.
                Die Flächen- und Seitenlängengrenzen der Tabelle sind nicht die
                einzigen Einschränkungen.


                Bei `size=auto` hat jeder Frame `512×512` Pixel; dies ist für
                alle zulässigen Frame-Anzahlen verfügbar. Die Ausgabe-Tokens
                werden für das gesamte zusammengesetzte Bild berechnet, nicht
                als Summe separat berechneter Frames.
              minimum: 2
              maximum: 16
              default: 9
              example: 9
            frame_duration_ms:
              type: integer
              description: >-
                Anzeigedauer jedes GIF-Frames in Millisekunden. Nur bei
                `output_format=gif` verfügbar, standardmäßig `200`; auf Schritte
                von 10 Millisekunden gerundet.
              minimum: 20
              maximum: 2000
              default: 200
              example: 200
            svg_model:
              type: string
              description: >-
                SVG-Autormodell, das das Referenzbild in SVG überträgt. Nur bei
                `output_format=svg` verfügbar, standardmäßig `gpt-6.1-terra`.


                **Hinweise:**

                - Der Token-Verbrauch des Autormodells wird separat nach dem
                gewählten Modell abgerechnet.

                - Das `usage` des Aufgabenergebnisses enthält `svg_model`,
                `svg_input_tokens` und `svg_output_tokens`.

                - Die Eingabe- und Ausgabe-Tokens des Autormodells werden
                separat aufgeführt und sind nicht in `usage.total_tokens`
                enthalten.
              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: >-
                Reasoning-Stufe des SVG-Autormodells. Nur bei
                `output_format=svg` verfügbar. Ohne Angabe wird die
                Standardstufe `medium` des Autormodells verwendet.


                | Autormodell | Zulässige Werte |

                |---|---|

                | `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` |


                **Hinweis:**

                - Reasoning-Tokens sind in den Ausgabe-Tokens des Autormodells
                enthalten.
              enum:
                - none
                - low
                - medium
                - high
                - xhigh
                - max
              example: medium
        callback_url:
          type: string
          description: >-
            HTTPS-Callback-Adresse nach Aufgabenabschluss


            **Callback-Zeitpunkt:**

            - Wird ausgelöst, wenn die Aufgabe abgeschlossen, fehlgeschlagen
            oder abgebrochen wurde

            - Wird nach Abschluss der Abrechnungsbestätigung gesendet


            **Sicherheitsbeschränkungen:**

            - Nur HTTPS-Protokoll wird unterstützt

            - Callback an interne IP-Adressen ist verboten (127.0.0.1, 10.x.x.x,
            172.16-31.x.x, 192.168.x.x, usw.)

            - URL-Länge darf `2048` Zeichen nicht überschreiten


            **Callback-Mechanismus:**

            - Timeout: `10` Sekunden

            - Maximal `3` Wiederholungsversuche bei Fehler (Wiederholung nach
            `1` Sekunde/`2` Sekunden/`4` Sekunden)

            - Das Format des Callback-Antwortkörpers entspricht dem
            Antwortformat der Aufgabenabfrage-API

            - Ein 2xx-Statuscode der Callback-Adresse gilt als erfolgreich,
            andere Statuscodes lösen eine Wiederholung aus
          format: uri
          example: https://your-domain.com/webhooks/image-task-completed
    ImageGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Zeitstempel der Aufgabenerstellung
          example: 1757156493
        id:
          type: string
          description: Aufgaben-ID
          example: task-unified-1757156493-imcg5zqt
        model:
          type: string
          description: Tatsächlich verwendeter Modellname
          example: gpt-image-2.6-sunburst
        object:
          type: string
          enum:
            - image.generation.task
          description: Spezifischer Aufgabentyp
        progress:
          type: integer
          description: Aufgabenfortschritt in Prozent (0-100)
          minimum: 0
          maximum: 100
          example: 1
        status:
          type: string
          description: >-
            Aufgabenstatus. Wartende und laufende Aufgaben werden einheitlich
            als `processing` zurückgegeben; der Endstatus ist `completed` oder
            `failed`.
          enum:
            - processing
            - completed
            - failed
          example: processing
        task_info:
          $ref: '#/components/schemas/TaskInfo'
          description: Asynchrone Aufgabeninformationen
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Ausgabetyp der Aufgabe
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
          description: Nutzungs- und Abrechnungsinformationen
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Fehlercode-Identifikator
            message:
              type: string
              description: Fehlerbeschreibung
            type:
              type: string
              description: Fehlertyp
    TaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Ob die Aufgabe abgebrochen werden kann
          example: true
        estimated_time:
          type: integer
          description: Geschätzte Fertigstellungszeit (Sekunden)
          minimum: 0
          example: 100
    Usage:
      type: object
      description: >-
        Informationen zur vorläufigen Reservierung bei der Aufgabenerstellung.
        Den tatsächlichen Verbrauch und die Token-Details erhalten Sie nach
        Abschluss über die Aufgabenabfrage.
      properties:
        billing_rule:
          type: string
          description: >-
            Abrechnungsregel. GPT Image 2.6 wird pro 1.000 Tokens abgerechnet.
            Bild-Tokens, Texteingabe-Tokens und die Nutzung des SVG-Autormodells
            werden zu ihren jeweiligen Tarifen separat abgerechnet.
          enum:
            - per_1k_tokens
          example: per_1k_tokens
        credits_reserved:
          type: number
          description: Geschätzt verbrauchte Credits
          minimum: 0
          example: 2.5
        user_group:
          type: string
          description: Benutzergruppenkategorie
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Alle Endpunkte erfordern die Authentifizierung mit einem Bearer-Token.


        **API Key erhalten:**


        Besuchen Sie die
        [API-Key-Verwaltung](https://evolink.ai/dashboard/keys), um Ihren API
        Key zu erhalten.


        **Fügen Sie bei Anfragen folgenden Header hinzu:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

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