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

# GPT-Image-2.6 Bildgenerierung

> Bilder mit Flare und Sunburst asynchron erstellen und bearbeiten: Markup, animierte GIFs und SVG-Ausgabe.

Bildgenerierung, Bearbeitung, GIF und SVG verwenden `POST /v1/images/generations`. Lesen Sie `data[0].task_id` aus der Antwort und fragen Sie anschließend die Aufgabe ab, um die Datei-URLs zu erhalten.

```bash cURL theme={null}
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "gpt-image-2.6-flare",
  "prompt": "A cozy reading nook by a rainy window, warm lamp light",
  "size": "1:1",
  "resolution": "1k",
  "quality": "medium",
  "n": 1
}'
```

```python Python theme={null}
import requests

response = requests.post(
    "https://api.apimart.ai/v1/images/generations",
    headers={"Authorization": "Bearer <token>"},
    json={
        "model": "gpt-image-2.6-flare",
        "prompt": "A cozy reading nook by a rainy window, warm lamp light",
        "size": "1:1",
        "resolution": "1k",
        "quality": "medium",
        "n": 1
    },
)
response.raise_for_status()
print(response.json()["data"][0]["task_id"])
```

```javascript JavaScript theme={null}
const response = await fetch("https://api.apimart.ai/v1/images/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer <token>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "gpt-image-2.6-flare",
    "prompt": "A cozy reading nook by a rainy window, warm lamp light",
    "size": "1:1",
    "resolution": "1k",
    "quality": "medium",
    "n": 1
  }),
});
if (!response.ok) throw new Error(await response.text());
const result = await response.json();
console.log(result.data[0].task_id);
```

```json 200 theme={null}
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KXXXXXXXXXXXXXXX"
    }
  ]
}
```

## Authentifizierung

**Authorization** `string` *required*

Verwenden Sie ein Bearer-Token. Schlüssel erhalten Sie auf der [API-Schlüsselseite](https://apimart.ai/keys).

```text theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Modellauswahl

| Modell | Einsatz |
| - | - |
| `gpt-image-2.6-flare` | Schnellere Generierung für kurze Iterationszyklen; die empfohlene Standardwahl. |
| `gpt-image-2.6-sunburst` | Priorisiert Details und konsistente Bearbeitungen, besonders bei mehreren Bearbeitungsschritten mit `medium` / `high`. |

Tokenpreise und Verbrauch bei gleichen Einstellungen sind identisch. Entscheiden Sie nach Geschwindigkeit und Detailanforderungen.

## Anfrageparameter

**model** `string` *required*

Modellname: `gpt-image-2.6-flare` oder `gpt-image-2.6-sunburst`.

**prompt** `string` *required*

Anweisungen zur Generierung oder Bearbeitung, maximal 32.000 Zeichen. Beschreiben Sie Motiv, Komposition sowie gewünschte Änderungen und zu erhaltende Elemente.

**size** `string` (default: auto)

Standbilder und SVG unterstützen 15 Seitenverhältnisse, Pixelmaße wie `1600x1200` oder `auto`. Explizites `auto` überlässt die Wahl dem Anbieter. Bei Bearbeitungen ohne dieses Feld bestimmen das Seitenverhältnis des ersten Eingabebildes und `resolution` die Größe. Für GIF gelten die separaten Regeln unten.

**resolution** `string` (default: 1k)

`1k` / `2k` / `4k`, kleingeschrieben. Bestimmt zusammen mit einem Seitenverhältnis in `size` die Pixelmaße; bei exakten Pixelmaßen ignoriert.

**quality** `string` (default: auto)

`low` / `medium` / `high` / `xhigh` / `max` / `auto`. Andere Werte führen bei der Übermittlung zu HTTP 400. Ohne Angabe oder bei `auto` wählt das Modell die Qualitätsstufe automatisch. Die gewählte Stufe kann variieren und ist nicht auf `low` festgelegt. Geben Sie eine Stufe explizit an, wenn Sie eine feste Einstellung benötigen.

Ohne Angabe oder bei `auto` wird der Betrag für die Qualitätsstufe `max` reserviert. Die endgültige Abrechnung erfolgt nach der tatsächlich gewählten Stufe.

**n** `integer` (default: 1)

Ganzzahl von `1` bis `4`; bei GIF die Anzahl der Animationen. SVG erfordert `1`. Explizite Werte wie `0`, negative Zahlen oder Werte über `4` führen zu HTTP 400 und werden nicht durch den Standardwert ersetzt.

**output\_format** `string` (default: png)

`png` / `jpeg` / `webp` / `gif` / `svg`. GIF und SVG unterstützen nur die Generierung aus Text. Andere Werte führen bei der Übermittlung zu HTTP 400.

**output\_compression** `integer`

Ganzzahl von `0` bis `100`, nur für `jpeg` / `webp`. Werte außerhalb dieses Bereichs oder die Kombination mit `png` / `gif` / `svg` führen bei der Übermittlung zu HTTP 400.

**background** `string`

`transparent` / `opaque` / `auto`; ohne Angabe gilt der Standard des Anbieters. Explizites `transparent` ist nur mit `png` / `webp` zulässig. SVG hat standardmäßig einen transparenten Hintergrund; lassen Sie das Feld dort weg.

**moderation** `string` (default: low)

Stufe der Inhaltsmoderation: `auto` / `low`. Andere Werte führen bei der Übermittlung zu HTTP 400.

**image\_urls** `string[]`

Bis zu 16 Referenzbilder; ihre Angabe aktiviert den Bearbeitungsmodus. Verwenden Sie öffentlich erreichbare HTTP(S)-Bild-URLs. Lokale Dateien zuerst über die [Bild-Upload-API](https://docs.apimart.ai/de/api-reference/uploads/images.md) hochladen und die zurückgegebene `url` verwenden.

**mask\_url** `string`

Maske für lokale Bearbeitungen; erfordert `image_urls`. Verwenden Sie ein PNG mit Alphakanal und denselben Abmessungen wie das erste Bild. Vollständig transparente Bereiche werden bearbeitet. Bild-URL oder PNG-Data-URL möglich. Nicht mit Markup kombinierbar; unveränderte Pixel außerhalb der Maske sind nicht garantiert.

**complexity** `string`

Planungsintensität: `low` / `medium` / `high`, beim Anbieter standardmäßig `high`, unabhängig von der Renderqualität `quality`. `low` eignet sich für gezielte Änderungen, `high` für viel Text, komplexe Layouts oder Objektbeziehungen; stärkere Planung kann langsamer sein oder zusätzliche Änderungen erzeugen. Keine separate Gebühr; nur 2.6 unterstützt diesen Parameter.

**safety\_identifier** `string`

Optionaler stabiler Endnutzerbezeichner, maximal 128 Zeichen; empfohlen wird ein Hash des Benutzernamens oder der E-Mail. APIMart leitet ihn standardmäßig nicht weiter, sondern nur bei Freigabe durch den Kanal. Er ist für die Nutzung nicht erforderlich.

## Größen für Standbilder und SVG

Bei exakten Pixelmaßen müssen beide Seiten Vielfache von 16 sein: maximal 3840 pro Seite, Verhältnis der längsten zur kürzesten Seite höchstens 3:1 und insgesamt 655.360–8.294.400 Pixel. Auflösungen über 2560×1440 sind experimentell. Die Zuordnung entspricht GPT-Image-2.5; diese Standbildgrenzen gelten nicht direkt für einzelne GIF-Frames.

| `size` | `1k` | `2k` | `4k` |
| - | - | - | - |
| `1:1` | 1024×1024 | 2048×2048 | 2880×2880 |
| `3:2` | 1536×1024 | 2048×1360 | 3520×2336 |
| `2:3` | 1024×1536 | 1360×2048 | 2336×3520 |
| `4:3` | 1024×768 | 2048×1536 | 3312×2480 |
| `3:4` | 768×1024 | 1536×2048 | 2480×3312 |
| `5:4` | 1280×1024 | 2560×2048 | 3216×2576 |
| `4:5` | 1024×1280 | 2048×2560 | 2576×3216 |
| `16:9` | 1536×864 | 2048×1152 | 3840×2160 |
| `9:16` | 864×1536 | 1152×2048 | 2160×3840 |
| `2:1` | 2048×1024 | 2688×1344 | 3840×1920 |
| `1:2` | 1024×2048 | 1344×2688 | 1920×3840 |
| `21:9` | 2016×864 | 2688×1152 | 3840×1648 |
| `9:21` | 864×2016 | 1152×2688 | 1648×3840 |
| `3:1` | 1536×512 | 3072×1024 | 3840×1280 |
| `1:3` | 512×1536 | 1024×3072 | 1280×3840 |

## Bildbearbeitung und Masken

Die folgende Anfrage bearbeitet einen Bereich des ersten Bildes. Ohne `mask_url` wird das gesamte Bild gemäß Prompt bearbeitet. Ohne `size` bestimmen das Seitenverhältnis des ersten Bildes und `resolution` die Ausgabegröße. Ersetzen Sie Beispiel-URLs durch erreichbare Bilddateien.

```json theme={null}
{
  "model": "gpt-image-2.6-sunburst",
  "prompt": "Replace the fully transparent masked area with a gold ribbon. Preserve the product and the rest of the background.",
  "image_urls": [
    "https://example.com/product.png"
  ],
  "mask_url": "https://example.com/product-mask.png",
  "resolution": "2k",
  "quality": "high",
  "complexity": "low"
}
```

## Bearbeitung mit Markup

Übergeben Sie `markup_url` als HTTPS- oder Base64-Data-URL. Der Alias `markup` akzeptiert einen String oder ein Objekt `{"image_url":"..."}`. `file_id` wird nicht unterstützt.

* `image_urls` ist erforderlich. Markup gilt für das erste Bild; weitere Bilder dienen als Referenzen.
* Verwenden Sie eine separate transparente PNG-Ebene mit exakt denselben Abmessungen wie das erste Bild. Zeichnen Sie Markierungen nicht direkt in das Original.
* Erstes Bild und Ebene dürfen jeweils höchstens 16.777.216 Pixel enthalten; die Ebene darf maximal 50 MB groß sein.
* Nicht mit `mask_url` kombinieren. Die Ebene verursacht keine Bildtokens, die Anfrage kann jedoch zusätzliche Texttokens benötigen.

```json theme={null}
{
  "model": "gpt-image-2.6-flare",
  "prompt": "Recolor the striped vase inside the red circle to solid cobalt blue ceramic. Keep everything else unchanged. Remove the red circle.",
  "image_urls": [
    "https://example.com/kitchen.webp"
  ],
  "markup_url": "https://example.com/vase-circle-overlay.png",
  "quality": "medium"
}
```

## Animierte GIFs

Setzen Sie `output_format: "gif"`. Nur Generierung aus Text: `image_urls`, `mask_url`, `markup_url`, `markup` und `output_compression` nicht übergeben.

| Parameter | Standard | Beschreibung |
| - | - | - |
| `frame_count` | `9` | Ganzzahl **2–16**. APIMart erlaubt derzeit maximal 16 Frames; die 64 Frames der Anbieteranleitung gelten hier nicht. |
| `frame_duration_ms` | `200` | Dauer pro Frame in ganzen Millisekunden, mindestens 20, auf Schritte von 10 ms gerundet. |
| `size` | `auto` | Pixelmaße **jedes Frames**, beide Seiten als Vielfache von 16. Ohne Angabe oder mit `auto` derzeit 512×512. Seitenverhältnisse wie `1:1` sind nicht zulässig. |

Der Anbieter ordnet Frames auf einem Bildraster an: 4×2 für 2–8 Frames, 3×3 für 9, 4×3 für 10–12 und 4×4 für 13–16. Zeilen und Spalten können für eine möglichst quadratische Form getauscht werden. Das gesamte Raster muss pro Seite höchstens 3840, insgesamt höchstens 8.294.400 Pixel und ein Seitenverhältnis von höchstens 3:1 haben. Andernfalls wird die Anfrage mit 400 abgelehnt.

> [!WARNING]
>
> `512x512` erlaubt alle 2–16 Frames, `768x768` höchstens 12. Bereits 2 Frames mit `1024x1024` überschreiten die Seitenlängengrenze des Rasters. Jede Animation wird anhand des gesamten Rasters abgerechnet; `n > 1` erzeugt mehrere separat berechnete Animationen.

```json theme={null}
{
  "model": "gpt-image-2.6-sunburst",
  "prompt": "A paper lantern swaying gently in the night breeze, seamless loop",
  "output_format": "gif",
  "frame_count": 9,
  "frame_duration_ms": 200,
  "quality": "low"
}
```

## SVG-Ausgabe

**svg** `object`

Setzen Sie `output_format: "svg"`. Das Bildmodell erzeugt zunächst ein Referenzbild; anschließend erstellt das Textmodell aus `svg.model` das SVG.

**svg**

**model** `string` *required*

Erforderlich. Wählen Sie ein Modell mit Texttokenpreisen auf der Plattform, etwa `gpt-5.4-mini` oder `gpt-5.6-sol`.

**reasoning** `object`

**reasoning**

**effort** `string`

Optional: `none` / `minimal` / `low` / `medium` / `high` / `xhigh` / `max`. Zulässige Werte hängen vom Textmodell ab. Empfohlen: weglassen, um dessen Standard zu verwenden.

* Nur Generierung aus Text mit `n` gleich 1. Referenzbilder, Masken, Markup und `output_compression` sind nicht erlaubt.
* `quality` und `complexity` gelten für das Zwischenbild. Die Ausgabe ist ein statisches `.svg` ohne Skripte, externe Ressourcen oder eingebettete Bitmaps.
* Zusätzlich zur Bildgenerierung wird der Textverbrauch von `svg.model` berechnet. Konten mit Festpreis pro Bild unterstützen SVG derzeit nicht; die Anfrage liefert 400.

```json theme={null}
{
  "model": "gpt-image-2.6-flare",
  "prompt": "A minimalist bakery logo with a wheat stalk, flat colors",
  "output_format": "svg",
  "svg": {
    "model": "gpt-5.4-mini"
  },
  "size": "1:1",
  "quality": "low",
  "n": 1
}
```

## Aufgabenergebnisse abfragen

Fragen Sie die [Aufgabenstatus-API](https://docs.apimart.ai/de/api-reference/tasks/status.md) alle 2–5 Sekunden ab, bis `completed` oder `failed` erreicht ist. Senden Sie währenddessen keine erneute Generierungsanfrage.

```bash theme={null}
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01KXXXXXXXXXXXXXXX \
  --header 'Authorization: Bearer <token>'
```

Nach Abschluss stehen die Datei-URLs unter `data.result.images[].url[]`; laden Sie die Dateien zeitnah herunter. Das Beispiel zeigt nur wesentliche Felder. Bei `failed` prüfen Sie `data.error.message`. Mehrere Aufgaben können über `POST /v1/tasks/batch` abgefragt werden.

```json theme={null}
{
  "code": 200,
  "data": {
    "id": "task_01KXXXXXXXXXXXXXXX",
    "status": "completed",
    "progress": 100,
    "result": {
      "images": [
        {
          "url": [
            "https://upload.apimart.ai/f/image/example.png"
          ]
        }
      ]
    }
  }
}
```

### SVG-Verbrauch und Antwortbeispiel

In Antworten auf Aufgabenabfragen enthält `data.usage.svg_usage` den Verbrauch des Textmodells, das das SVG erstellt. Die übrigen Tokenfelder in `data.usage` gehören zum Bildmodell für das Referenzbild. Beide Teile werden nach den Abrechnungsregeln des jeweiligen Modells erfasst.

| Feld | Typ | Beschreibung |
| - | - | - |
| `model` | string | Textmodell, das tatsächlich für die SVG-Erstellung verwendet wurde. |
| `input_tokens` | integer | Eingabetokens des Textmodells. |
| `output_tokens` | integer | Ausgabetokens des Textmodells einschließlich Reasoning-Tokens. |
| `reasoning_tokens` | integer | Der für Reasoning verwendete Anteil der Ausgabetokens; nicht erneut zu `output_tokens` addieren. |

Das Beispiel zeigt die wesentlichen Felder einer SVG-Aufgabenantwort. Die Tokenwerte veranschaulichen die Feldbeziehungen und stellen keinen festen Verbrauch dar.

```json theme={null}
{
  "code": 200,
  "data": {
    "id": "task_01KXXXXXXXXXXXXXXX",
    "status": "completed",
    "progress": 100,
    "result": {
      "images": [
        {
          "url": [
            "https://upload.apimart.ai/f/image/example.svg"
          ]
        }
      ]
    },
    "usage": {
      "input_tokens": 40,
      "output_tokens": 1800,
      "total_tokens": 1840,
      "svg_usage": {
        "model": "gpt-5.4-mini",
        "input_tokens": 1200,
        "output_tokens": 800,
        "reasoning_tokens": 200
      }
    }
  }
}
```

## Häufige Parameterfehler

Die folgenden Parameterfehler führen bei der Übermittlung synchron zu HTTP 400. Es wird keine Aufgabe erstellt und keine Gebühr erhoben. Korrigieren Sie die Parameter vor dem erneuten Senden.

| Fehler | Lösung |
| - | - |
| `quality "ultra" is not supported by gpt-image-2.6-flare` | Verwenden Sie `low` / `medium` / `high` / `xhigh` / `max` / `auto`; andere Werte wie `ultra` werden nicht unterstützt. |
| `` `n` must be an integer from 1 to 4 `` | Setzen Sie `n` auf eine Ganzzahl von 1 bis 4; `0`, negative Werte und Werte über 4 sind ungültig. |
| `output_compression must be an integer from 0 to 100` | Setzen Sie `output_compression` auf eine Ganzzahl von 0 bis 100. |
| `output_compression is only supported with output_format jpeg or webp` | Kompression nur für JPEG / WebP verwenden; den Parameter für PNG / GIF / SVG entfernen. |
| `moderation "xxx" is not supported` | Setzen Sie `moderation` auf `low` oder `auto`. |
| `markup requires image_urls` | `image_urls` ergänzen und die Ebene an das erste Bild anpassen. |
| `markup cannot be combined with mask` | Entweder Markup oder eine Maske verwenden. |
| `frame_count must be an integer from 2 to 16` | `frame_count` als Ganzzahl von 2 bis 16 angeben. |
| `no supported sheet fits N GIF frames at size WxH` | Framegröße oder Anzahl verringern; keine Seitenverhältnisnamen verwenden. |
| `output_format=svg requires svg.model` | Ein `svg`-Objekt mit einem unterstützten Textmodell angeben. |
| `output_format=svg requires n=1` | Für SVG `n: 1` setzen. |
| `background=transparent requires an alpha-capable output_format` | Explizite Transparenz erfordert PNG / WebP; bei SVG das Feld weglassen. |

## Nicht unterstützte Parameter und Abrechnung

`stream`, `partial_images`, `input_fidelity`, `prompt_rewriter` und `response_format` nicht senden. Die API liefert asynchrone Aufgaben und CDN-Datei-URLs, keine gestreamten Teilbilder oder Base64-Bildantworten. `frame_count` / `frame_duration_ms` gelten nur für GIF, die `svg`-Konfiguration nur für SVG.

Flare und Sunburst haben dieselbe Preisstruktur. GPT-Image-2.6 verbraucht bei `low` / `medium` mehr Tokens als 2.5; ältere Kostenschätzungen daher nicht unverändert übernehmen. Aktuelle Preise stehen auf der [APIMart-Preisseite](https://apimart.ai/pricing) oder unter `/api/pricing`. Hier werden keine festen Preise aufgeführt.

Funktionen des Anbieters beschreibt die [OpenAI-Anleitung zur Bildgenerierung](https://developers.openai.com/api/docs/guides/image-generation). Für APIMart gelten die hier dokumentierten Endpunkte, asynchronen Antworten und Grenzen.


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