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

# OpenAI Images Generations API Antrag und Nutzung

> OpenAI generation API guide - Ace Data Cloud

Die OpenAI Images Generations API unterstützt derzeit verschiedene Modelle zur Bildgenerierung, darunter das klassische `dall-e-3`, das textbasierte Rendering mit stärkeren Fähigkeiten `gpt-image-1`, die neueste Generation **`gpt-image-2`** sowie die über dieselbe Schnittstelle zugänglichen Modelle der **`nano-banana` / `nano-banana-2-lite` / `nano-banana-2` / `nano-banana-pro`** Serie. Sie können alle qualitativ hochwertige Bilder basierend auf Textbeschreibungen generieren.

Dieses Dokument beschreibt hauptsächlich den Ablauf der Nutzung der OpenAI Images Generations API, mit der wir die Bildgenerierungsfunktionen der OpenAI-Serie einfach nutzen können.

## Antragsprozess

Um die OpenAI Images Generations API zu nutzen, müssen Sie zunächst im [Ace Data Cloud Dashboard](https://platform.acedata.cloud/console/applications) Ihr API-Token abrufen und für zukünftige Verwendung aufbewahren.

![](https://cdn.acedata.cloud/5hmkdg.jpg)

Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet.

**Ein API-Token reicht aus, um auf alle Dienste der Plattform zuzugreifen, es ist nicht erforderlich, für jeden Dienst separat einen Antrag zu stellen.** Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent zur kostenlosen Nutzung; wenn das Kontingent erschöpft ist, können Sie im [Dashboard](https://platform.acedata.cloud/console/coin) Ihr Guthaben aufladen.

> 📘 Vollständige Dokumentation: [OpenAI Images Generations API →](https://platform.acedata.cloud/documents/openai-images-generations)

## GPT-Image-2 Modell

`gpt-image-2` ist das neueste Bildgenerierungsmodell von OpenAI, das im Vergleich zu `dall-e-3` und `gpt-image-1` in folgenden Aspekten deutliche Verbesserungen aufweist:

* **Stärkere Befolgung von Anweisungen**: Es kann komplexe Anweisungen zu Komposition, Zählung, räumlichen Beziehungen usw. genau verstehen.
* **Klareres Text-Rendering**: In Szenarien wie Plakaten, Menüs, Infografiken, Logos usw. treten kaum Verwirrungen bei Englisch und Zahlen auf.
* **Reichhaltigere Stilvariationen**: Unterstützt nativ verschiedene Stile wie filmische Porträts, Vintage-Poster, Kinderillustrationen, Produktfotografie, Infografiken usw.
* **Nativ Unterstützung für mehrere Formate + hohe Auflösung**: Deckt 5 Formate (1:1, 4:3, 3:4, 16:9, 9:16) mit insgesamt 3 Auflösungen (1K / 2K / 4K) ab.

Die Aufrufmethode ist identisch mit anderen Modellen, Sie müssen lediglich das Feld `model` auf `gpt-image-2` setzen. Die `url` im Rückgabeergebnis ist ein dauerhaft auf `platform.cdn.acedata.cloud` gehosteter Bildlink, der direkt im Browser geöffnet oder in eine Webseite eingebettet werden kann.

### Offizielle Umleitung / Umgekehrte Variante (`:official` / `:reverse`)

`gpt-image-2` verwendet standardmäßig die umgekehrte Route. Durch den Suffix des Modellnamens können Sie die Route explizit auswählen:

* **`gpt-image-2:official`**: Offizielle Umleitungsroute. Unterstützt `n > 1` (gibt mehrere Bilder auf einmal zurück) und echte 2K / 4K Auflösung, **die Abrechnung erfolgt pro Bild, der Preis beträgt das Doppelte des Standardpreises von `gpt-image-2`**. Derzeit wird dies nur über den Kanal openai-hk bereitgestellt, wenn die Route nicht verfügbar ist, wird ein Fehler zurückgegeben, es erfolgt kein Downgrade auf die umgekehrte Route.
* **`gpt-image-2:reverse`**: Vollständig äquivalent zum Standard `gpt-image-2` (umgekehrte Route), um explizit die umgekehrte Route zu deklarieren, der Preis bleibt unverändert.

> Die nachfolgende Einschränkung „Über den `n` Parameter“ gilt nur für die Standard- / umgekehrte Route; `gpt-image-2:official` unterstützt `n > 1` und wird pro Bild abgerechnet.

### Unterstützte `size` Werte

`gpt-image-2` überprüft nur das Format von `size`, solange es nicht `auto` oder eine leere Zeichenkette ist, muss es `WIDTHxHEIGHT` entsprechen (z. B. `1024x1024`, `2048x1152`, `800x600`); jede andere Form führt zu einem 400 Fehler. **Alle Größen (1K / 2K / 4K / benutzerdefiniert) werden einheitlich pro Bild abgerechnet, es gibt keine Preisaufschläge für die Größe.**

Oben gibt es strenge Einschränkungen für benutzerdefinierte Größen: Breite und Höhe müssen Vielfache von 16 sein, die längere Seite ≤ 3840, die Gesamtpixelzahl ≤ 8.294.400. Überschreitungen werden von der Quelle abgelehnt und mit 4xx zurückgegeben.

| Verhältnis | 1K Empfehlung | 2K Empfehlung | 4K Empfehlung |
| ---------- | ------------- | ------------- | ------------- |
| 1:1        | `1024x1024`   | `2048x2048`   | `2880x2880`   |
| 4:3        | `1536x1024`   | `2048x1536`   | `3264x2448`   |
| 3:4        | `1024x1536`   | `1536x2048`   | `2448x3264`   |
| 16:9       | `1792x1024`   | `2048x1152`   | `3840x2160`   |
| 9:16       | `1024x1792`   | `1152x2048`   | `2160x3840`   |

> Sie können auch `size: "auto"` übergeben oder **das `size` Feld weglassen**, in diesem Fall wählt das Modell die Standardgröße selbst aus.
> Bei der 1K-Stufe garantiert die Quelle keine strikte Pixelanpassung – wenn Sie `1024x1024` übergeben, erhalten Sie möglicherweise `1254x1254`, das Verhältnis bleibt gleich. Wenn Sie es erneut als `size` übergeben, bleibt die Abrechnung unverändert.
> Ein 4K-Einzelaufruf benötigt normalerweise 4–8 Minuten, es wird empfohlen, dies zusammen mit dem `callback_url` für asynchrone Rückrufe zu verwenden.

> **Über den `n` Parameter**
> `gpt-image-2` unterstützt derzeit **nicht `n > 1`**: Dieser Parameter wird stillschweigend ignoriert, unabhängig davon, ob Sie `n=1` oder `n=10` übergeben, eine einzelne Anfrage gibt nur 1 Bild zurück und wird nur für 1 Bild abgerechnet. Wenn Sie mehrere Kandidatenbilder auf einmal erhalten möchten, **müssen Sie selbst mehrere Anfragen parallel stellen** (es wird empfohlen, gleichzeitig unterschiedliche `prompt` oder unterschiedliche `seed` zu übergeben, da sonst die erhaltenen Bilder sehr ähnlich sein könnten). Diese Einschränkung gilt auch für `gpt-image-1` / `gpt-image-1.5` sowie die Serien `nano-banana` / `nano-banana-2-lite` / `nano-banana-2` / `nano-banana-pro`. `dall-e-2` ist derzeit das einzige Modell, das nativ `n > 1` unterstützt; `dall-e-3` unterstützt nur `n = 1`.

Im Folgenden werden einige verschiedene reale Beispiele gezeigt, um die Fähigkeiten von `gpt-image-2` anschaulich zu erleben.

### Szenario 1: Filmisches Porträt

In den Eingabeaufforderungen können filmische Begriffe (35mm Film, geringe Tiefenschärfe, Neonlicht usw.) verwendet werden, um Atmosphäre und Textur präzise zu steuern.

Python Beispielaufrufcode:

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gpt-image-2",
    "prompt": "Ein filmisches Porträt einer jungen Frau, die nachts in einem Lebensmittelgeschäft steht, beleuchtet von sanften rosa und cyanfarbenen Neonlichtern durch das Fenster. Auf 35-mm-Film aufgenommen, geringe Schärfentiefe, leichter Filmkorn, melancholische Stimmung.",
    "size": "1024x1536"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Das Rückgabeergebnis sieht wie folgt aus:

```json theme={null}
{
  "success": true,
  "task_id": "ab58a5df-6f46-4874-bff6-93169e2849a3",
  "created": 1777048800,
  "data": [
    {
      "revised_prompt": "Ein filmisches Porträt einer jungen Frau, die nachts in einem Lebensmittelgeschäft steht, beleuchtet von sanften rosa und cyanfarbenen Neonlichtern durch das Fenster. Auf 35-mm-Film aufgenommen, geringe Schärfentiefe, leichter Filmkorn, melancholische Stimmung.",
      "url": "https://platform.cdn.acedata.cloud/gpt-image/ab58a5df-6f46-4874-bff6-93169e2849a3_0.png"
    }
  ]
}
```

Das generierte Bild sieht wie folgt aus:

<p>
  <img src="https://platform.cdn.acedata.cloud/gpt-image/ab58a5df-6f46-4874-bff6-93169e2849a3_0.png" width="500" className="m-auto" />
</p>

### Szenario zwei: Vintage-Reiseplakat (mit Textdarstellung)

`gpt-image-2` zeigt eine stabile Leistung in der Typografie und Textdarstellung und eignet sich hervorragend zur Erstellung von Plakaten, Menüs, Grußkarten und anderen Designs mit Text.

```python theme={null}
payload = {
    "model": "gpt-image-2",
    "prompt": "Ein Vintage-Reiseplakat der Amalfiküste, Italien. Stilisiertes Art-Déco-Illustration von klippenartigen, zitronengelben Häusern, die zu einem türkisfarbenen Meer hinabfallen, mit einem kleinen weißen Segelboot im Hafen. Fette Typografie oben liest AMALFI und unten ITALIA 1958. Eingeschränkte Farbpalette: Creme, Meerblau, Zitronengelb, Terrakotta. Leichte Papierkorntextur.",
    "size": "1024x1536"
}
```

Das Bild im `url`-Feld des Rückgabeergebnisses sieht wie folgt aus:

<p>
  <img src="https://platform.cdn.acedata.cloud/gpt-image/c6061f92-3fae-498e-af8e-688e7f415ba3_0.png" width="500" className="m-auto" />
</p>

Man kann sehen, dass das Modell nicht nur den visuellen Stil des Art-Déco-Plakats genau wiedergegeben hat, sondern auch die Titeltexte `AMALFI` und `ITALIA 1958` klar und korrekt dargestellt wurden.

### Szenario drei: Komplexe Komposition und Zählung

Der folgende Hinweis dient dazu, die Fähigkeit des Modells zu testen, strukturierte Anweisungen zu „Menge“ und „Position“ zu befolgen.

```python theme={null}
payload = {
    "model": "gpt-image-2",
    "prompt": "Ein Holzregal mit drei Regalböden: Auf dem obersten Regal sollte ein Buch sein. Auf dem zweiten Regal sollten drei Bücher sein. Auf dem unteren Regal sollten sieben Bücher sein. Sanfte warme Beleuchtung, fotorealistisch, gemütliche Bibliotheksatmosphäre.",
    "size": "1024x1024"
}
```

Das generierte Bild sieht wie folgt aus:

<p>
  <img src="https://platform.cdn.acedata.cloud/gpt-image/64a3b932-a082-4cad-9f85-9d30474b104d_0.png" width="500" className="m-auto" />
</p>

Man kann sehen, dass die Anzahl der Bücher auf den drei Regalen (1 / 3 / 7) vollständig mit dem Hinweis übereinstimmt, was in der Zeit von `dall-e-3` schwer stabil zu erreichen war.

### Szenario vier: Illustrationsstil (Querformat)

Durch die Angabe von Kunstmedien und emotionalen Schlüsselwörtern kann das Modell dazu angeregt werden, stilisierte Illustrationen zu erzeugen.

```python theme={null}
payload = {
    "model": "gpt-image-2",
    "prompt": "Eine sanfte, poetische Kinderbuchillustration eines kleinen Fuchses, der unter einem leuchtenden Pilz in einem mondbeschienenen Wald ein Buch liest. Aquarell- und Bleistifttextur, sanfte Pastellfarben, traumhafte Atmosphäre, handgezeichnetes Gefühl.",
    "size": "1536x1024"
}
```

Die generierte Querformat-Illustration sieht wie folgt aus:

![](https://platform.cdn.acedata.cloud/gpt-image/6cd57e69-d237-4cc1-a666-759a93964a08_0.png)

### Asynchron und Rückruf

`gpt-image-2` benötigt in der Regel 60 bis 90 Sekunden für einen einzelnen Aufruf. Wenn Sie keine dauerhafte Verbindung wünschen, können Sie den in diesem Artikel später beschriebenen `callback_url`-Asynchron-Rückrufmechanismus verwenden. Der Aufrufprozess ist identisch mit dem anderer Modelle.

## Nano Banana Modellreihe

Die `nano-banana`-Reihe ist ein auf Gemini basierendes Bildgenerierungsmodell, das über dasselbe `/openai/images/generations`-Interface integriert ist. Es ist kein Wechsel des Endpunkts erforderlich, ändern Sie einfach `model` in eines der untenstehenden Modelle.

| Modell               | Abrechnung (Credits / Aufruf) | Anwendungsbereich                                                                       |
| -------------------- | ----------------------------- | --------------------------------------------------------------------------------------- |
| `nano-banana`        | 0.14                          | Allgemeine Bildgenerierung, schnellste Geschwindigkeit, niedrigste Kosten               |
| `nano-banana-2-lite` | 0.14                          | Gemini 3.1 leichtes Bildmodell, unterstützt nur 1K, niedrige Latenz bei der Bildausgabe |
| `nano-banana-2`      | 0.28                          | Deutliche Verbesserung von Qualität und Details                                         |
| `nano-banana-pro`    | 0.35                          | Flaggschiff der Reihe, beste Komposition, Details und Text                              |

> **Wichtig: Unterstützter Parameterbereich**
> Nano Banana wird über eine Anpassungsschicht in das OpenAI-Protokoll integriert und unterstützt im Vergleich zu `gpt-image-*` nur die folgenden Parameter: `model`, `prompt`, `size`.
>
> * `size` wird gemäß der folgenden Tabelle in das interne `aspect_ratio` abgebildet. Nicht aufgeführte Größen werden auf `1:1` zurückgestuft:
>   * `1024x1024` / `512x512` / `256x256` → `1:1`
>   * `1792x1024` → `16:9`
>   * `1024x1792` → `9:16`
> * Unterstützt keine Parameter wie `n`, `quality`, `style`, `response_format`, `background`, `output_format` usw.; diese werden ignoriert, wenn sie ausgefüllt sind.
> * Die Rückgabestruktur folgt dem OpenAI-Format (`data[].url`), aber `created` ist fest auf `0` gesetzt, und `b64_json` wird nicht zurückgegeben, `revised_prompt` ist immer gleich dem ursprünglichen `prompt`.

### Grundlegender Aufruf

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "nano-banana",
    "prompt": "ein kleiner roter Apfel auf einem weißen Tisch, fotorealistisch",
    "size": "1024x1024"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Das Rückgabeergebnis sieht wie folgt aus:

```json theme={null}
{
  "created": 0,
  "data": [
    {
      "url": "https://platform.cdn.acedata.cloud/nanobanana/6870b330-65c4-436c-bb80-819fdae7a7a4.png",
      "revised_prompt": "ein kleiner roter Apfel auf einem weißen Tisch, fotorealistisch"
    }
  ]
}
```

生成te Bilder können direkt über das zurückgegebene `url` Feld aufgerufen werden:

<p>
  <img src="https://platform.cdn.acedata.cloud/nanobanana/6870b330-65c4-436c-bb80-819fdae7a7a4.png" width="500" className="m-auto" />
</p>

### Upgrade auf das Flaggschiff-Modell `nano-banana-pro`

Ändern Sie einfach `model` in `nano-banana-pro`, die anderen Parameter bleiben unverändert:

```python theme={null}
payload = {
    "model": "nano-banana-pro",
    "prompt": "abstract painting",
    "size": "1024x1024"
}
```

Beispielantwort:

```json theme={null}
{
  "created": 0,
  "data": [
    {
      "url": "https://platform.cdn.acedata.cloud/nanobanana/6227fcc9-3442-4aa3-a76c-4a4441a99649.png",
      "revised_prompt": "abstract painting"
    }
  ]
}
```

<p>
  <img src="https://platform.cdn.acedata.cloud/nanobanana/6227fcc9-3442-4aa3-a76c-4a4441a99649.png" width="500" className="m-auto" />
</p>

### Asynchrone Rückruf

Die `callback_url` asynchrone Rückruffunktion ist auch für nano-banana wirksam, der Aufrufprozess ist identisch mit anderen Modellen, siehe den Abschnitt [Asynchrone Rückrufe](#asynchrone-rückrufe) weiter unten.

## Grundlegende Nutzung

Nun können Sie die entsprechenden Inhalte im Interface ausfüllen, wie im Bild gezeigt:

<p>
  <img src="https://cdn.acedata.cloud/zv58ug.png" width="500" className="m-auto" />
</p>

Bei der ersten Nutzung dieser Schnittstelle müssen wir mindestens drei Inhalte ausfüllen, einer ist `authorization`, den Sie direkt aus der Dropdown-Liste auswählen können. Ein weiterer Parameter ist `model`, `model` ist die Modellkategorie, die wir von der OpenAI DALL-E-Website auswählen, hier haben wir hauptsächlich 1 Modell, Details finden Sie in den von uns bereitgestellten Modellen. Der letzte Parameter ist `prompt`, `prompt` ist das Stichwort, das wir eingeben, um das Bild zu generieren.

Gleichzeitig können Sie auf der rechten Seite den entsprechenden Aufrufcode sehen, den Sie kopieren und direkt ausführen oder einfach auf die Schaltfläche „Try“ klicken können, um einen Test durchzuführen.

<p>
  <img src="https://cdn.acedata.cloud/pbss4f.png" width="500" className="m-auto" />
</p>

Python Beispielaufrufcode:

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "dall-e-3",
    "prompt": "A cute baby sea otter"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Nach dem Aufruf stellen wir fest, dass das Rückgabeergebnis wie folgt aussieht:

```json theme={null}
{
  "created": 1721626477,
  "data": [
    {
      "revised_prompt": "A delightful image showcasing a young sea otter, who is born brown, with wide charming eyes. It is delightfully lying on its back, paddling in the calm sea waters. Its dense, velvety fur appears wet and shimmering, capturing the essence of its habitat. The small creature curiously plays with a sea shell with its small paws, looking absolutely innocent and charming in its natural environment.",
      "url": "https://dalleprodsec.blob.core.windows.net/private/images/5d98aa7c-80c6-4523-b571-fc606ad455b9/generated_00.png?se=2024-07-23T05%3A34%3A48Z&sig=GAz%2Bi3%2BkHOQwAMhxcv22tBM%2FaexrxPgT9V0DbNrL4ik%3D&ske=2024-07-23T08%3A41%3A10Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-07-16T08%3A41%3A10Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02"
    }
  ]
}
```

Die Rückgabeergebnisse enthalten mehrere Felder, die wie folgt beschrieben werden:

* `created `, die ID der Bildgenerierung, die zur eindeutigen Identifizierung dieser Aufgabe dient.
* `data`, die Informationen über das Ergebnis der Bildgenerierung enthält.

Dabei enthält `data` die spezifischen Informationen über die vom Modell generierten Bilder, und der `url` darin ist der detaillierte Link zum generierten Bild, wie im Bild gezeigt.

<p>
  <img src="https://cdn.acedata.cloud/dz7u0x.png" width="500" className="m-auto" />
</p>

## Bildqualitätsparameter `quality`

Als nächstes wird erklärt, wie einige detaillierte Parameter für die Bildgenerierungsergebnisse festgelegt werden, wobei der Bildqualitätsparameter `quality` zwei Arten umfasst, die erste `standard` bedeutet, dass ein Standardbild generiert wird, die andere `hd` bedeutet, dass das erstellte Bild feinere Details und größere Konsistenz aufweist.

Hier wird der Bildqualitätsparameter auf `standard` gesetzt, die spezifische Einstellung ist im folgenden Bild dargestellt:

<p>
  <img src="https://cdn.acedata.cloud/1q303w.png" width="500" className="m-auto" />
</p>

Gleichzeitig können Sie auf der rechten Seite den entsprechenden Aufrufcode sehen, den Sie kopieren und direkt ausführen oder einfach auf die Schaltfläche „Try“ klicken können, um einen Test durchzuführen.

<p>
  <img src="https://cdn.acedata.cloud/c0ps6i.png" width="500" className="m-auto" />
</p>

Python Beispielaufrufcode:

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "dall-e-3",
    "prompt": "A cute baby sea otter",
    "quality": "standard"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Nach dem Aufruf stellen wir fest, dass das Rückgabeergebnis wie folgt aussieht:

```json theme={null}
{
  "created": 1721636023,
  "data": [
    {
      "revised_prompt": "A cute baby sea otter is lying playfully on its back in the water, with its fur looking glossy and soft. One of its tiny paws is reaching out curiously, and it has an expression of pure joy and warmth on its face as it looks up to the sky. Its body is surrounded by bubbles from its playful twirling in the water. A gentle breeze is playing with its fur making it look more charming. The scene portrays the tranquility and charm of marine life.",
      "url": "https://dalleprodsec.blob.core.windows.net/private/images/a93ee5e7-3abd-4923-8d79-dc9ef126da46/generated_00.png?se=2024-07-23T08%3A13%3A55Z&sig=wTXGYvUOwUIkaB2CxjK9ww%2FHjS8OwYUWcYInXYKwcAM%3D&ske=2024-07-23T11%3A32%3A05Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-07-16T11%3A32%3A05Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02"
    }
  ]
}
```

Die Rückgabeergebnisse sind mit den Inhalten der grundlegenden Nutzung identisch, und Sie können sehen, dass das generierte Bild mit dem Bildqualitätsparameter `standard` wie im folgenden Bild dargestellt ist:

<p>
  <img src="https://cdn.acedata.cloud/j5v15b.png" width="500" className="m-auto" />
</p>

与上述相同操作，仅需将图片质量参数设置为 `hd` ，可以得到如下图所示的图片：

<p>
  <img src="https://cdn.acedata.cloud/vjpbqr.png" width="500" className="m-auto" />
</p>

可以看到 `hd` 比 `standard` 生成的图片具有更精细的细节和更大的一致性。

## 图片大小尺寸参数 `size`

我们还可以设置生成图片的尺寸大小，我们可以进行下面的设置。

下面设置图片的尺寸大小为 `1024 * 1024` ，具体设置如下图：

<p>
  <img src="https://cdn.acedata.cloud/dx5rwh.png" width="500" className="m-auto" />
</p>

同时您可以注意到右侧有对应的调用代码生成，您可以复制代码直接运行，也可以直接点击「Try」按钮进行测试。

<p>
  <img src="https://cdn.acedata.cloud/0sbybl.png" width="500" className="m-auto" />
</p>

Python 样例调用代码：

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "dall-e-3",
    "prompt": "A cute baby sea otter"
    "size": "1024x1024"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

调用之后，我们发现返回结果如下：

```json theme={null}
{
  "created": 1721636652,
  "data": [
    {
      "revised_prompt": "A delightful depiction of a baby sea otter. The small mammal is captured in its natural habitat in the ocean, floating on its back. It has thick brown fur that is sleek and wet from the sea water. Its eyes are closed as if it is enjoying a moment of deep relaxation. The water around it is calm, reflecting the peacefulness of the scene. The background should hint at a diverse marine ecosystem, with visible strands of kelp floating on the surface, suggesting the baby otter's preferred environment.",
      "url": "https://dalleprodsec.blob.core.windows.net/private/images/9d625ac6-fd2b-42a9-84a6-8c99eb357ccf/generated_00.png?se=2024-07-23T08%3A24%3A24Z&sig=AXtYXowEakGxfRp8LhC2DwqL%2F07LhEDW40oCP%2BdTO8s%3D&ske=2024-07-23T18%3A00%3A45Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-07-16T18%3A00%3A45Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02"
    }
  ]
}
```

返回的结果与基本使用的内容一致，可以看到图片的尺寸大小为 `1024 * 1024` 的生成图片如下图所示：

<p>
  <img src="https://cdn.acedata.cloud/o4pvvx.png" width="500" className="m-auto" />
</p>

与上述相同操作，仅需将图片的尺寸大小为 `1792 * 1024` ，可以得到如下图所示的图片：

![](https://cdn.acedata.cloud/4pilae.png)

可以看到图片的尺寸大小很明显不一样，另外还可以设置更多尺寸大小，详情信息参考我们官网文档。

## 图片风格参数 `style`

图片风格参数 `style` 包含俩个参数，第一种 `vivid` 表示生成的图片是更加生动的，另一种 `natural` 表示生成的图片更加的自然一点。

下面设置图片风格参数为 `vivid` ，具体设置如下图：

<p>
  <img src="https://cdn.acedata.cloud/609l9i.png" width="500" className="m-auto" />
</p>

同时您可以注意到右侧有对应的调用代码生成，您可以复制代码直接运行，也可以直接点击「Try」按钮进行测试。

<p>
  <img src="https://cdn.acedata.cloud/ee3u9o.png" width="500" className="m-auto" />
</p>

Python 样例调用代码：

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "dall-e-3",
    "prompt": "A cute baby sea otter",
    "style": "vivid"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

调用之后，我们发现返回结果如下：

```json theme={null}
{
  "created": 1721637086,
  "data": [
    {
      "revised_prompt": "A baby sea otter with soft, shiny fur and sparkling eyes floating playfully on calm ocean waters. This adorable creature is trippingly frolicking amidst small, gentle waves under a bright, clear, sunny sky. The tranquility of the sea contrasts subtly with the delightful energy of this young otter. The critter gamely clings to a tiny piece of driftwood, its small paws adorably enveloping the floating object.",
      "url": "https://dalleprodsec.blob.core.windows.net/private/images/6e48f701-7fd3-4356-839e-a2f6f0fe82d9/generated_00.png?se=2024-07-23T08%3A31%3A37Z&sig=4percxqTbUR1j3BQmkhvj%2FAhHzInKI%2FqiTo1MP69coI%3D&ske=2024-07-27T10%3A39%3A55Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-07-20T10%3A39%3A55Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02"
    }
  ]
}
```

返回的结果与基本使用的内容一致，可以看到图片风格参数为 `vivid` 的生成图片如下图所示：

<p>
  <img src="https://cdn.acedata.cloud/e0rpc3.png" width="500" className="m-auto" />
</p>

与上述相同操作，仅需将图片风格参数为 `natural` ，可以得到如下图所示的图片：

<p>
  <img src="https://cdn.acedata.cloud/q9tqwu.png" width="500" className="m-auto" />
</p>

可以看到 `vivid` 比 `natural` 生成的图片具有更加生动逼真。

## 图片链接的格式参数 `response_format`

最后一个图片链接的格式参数 `response_format` 也有俩种，第一种 `b64_json` 是对图片链接进行 Base64 编码，另一种 `url` 就是普通的图片链接，可以直接查看图片。

下面设置图片链接的格式参数为 `url` ，具体设置如下图：

<p>
  <img src="https://cdn.acedata.cloud/2zbgrg.png" width="500" className="m-auto" />
</p>

同时您可以注意到右侧有对应的调用代码生成，您可以复制代码直接运行，也可以直接点击「Try」按钮进行测试。

<p>
  <img src="https://cdn.acedata.cloud/a9exmp.png" width="500" className="m-auto" />
</p>

Python 样例调用代码：

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "dall-e-3",
    "prompt": "Ein süßes Baby-Seelöwen",
    "response_format": "url"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Nach dem Aufruf haben wir festgestellt, dass das Rückgabeergebnis wie folgt aussieht:

```json theme={null}
{
  "created": 1721637575,
  "data": [
    {
      "revised_prompt": "Eine charmante Darstellung eines Baby-Seelöwen. Der Seelöwe wird gesehen, wie er friedlich auf dem Rücken inmitten der sanften, blauen Ozeanwellen ruht. Das Fell des Baby-Seelöwen ist eine liebenswerte Mischung aus sanften graubraunen Farbtönen, die subtil im gedämpften Sonnenlicht schimmert. Seine kleinen Pfoten berühren sich, leicht zum Himmel gehoben, als ob er mit einem unsichtbaren Objekt spielt. Seine runden, ausdrucksvollen Augen sind weit vor Neugier, sprühen vor Leben und Unschuld. Verwenden Sie einen realistischen Stil, um den natürlichen Lebensraum des Seelöwen und sein adorabel flauschiges Äußeres hervorzurufen.",
      "url": "https://dalleprodsec.blob.core.windows.net/private/images/87792c5f-8b6d-412e-81dd-f1a1baa19bd2/generated_00.png?se=2024-07-23T08%3A39%3A47Z&sig=zzRAn30TqIKHdLVqZPUUuSJdjCYpoJdaGU6BeoA76Jo%3D&ske=2024-07-23T13%3A32%3A13Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-07-16T13%3A32%3A13Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02"
    }
  ]
}
```

Das zurückgegebene Ergebnis stimmt mit dem grundlegenden Inhalt überein, und man kann sehen, dass der Formatparameter des Bildlinks für `url` der generierte Bildlink ist [Bild-URL](https://dalleprodsec.blob.core.windows.net/private/images/87792c5f-8b6d-412e-81dd-f1a1baa19bd2/generated_00.png?se=2024-07-23T08%3A39%3A47Z\&sig=zzRAn30TqIKHdLVqZPUUuSJdjCYpoJdaGU6BeoA76Jo%3D\&ske=2024-07-23T13%3A32%3A13Z\&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96\&sks=b\&skt=2024-07-16T13%3A32%3A13Z\&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d\&skv=2020-10-02\&sp=r\&spr=https\&sr=b\&sv=2020-10-02), der direkt zugänglich ist, der Bildinhalt ist wie im folgenden Bild dargestellt:

<p>
  <img src="https://cdn.acedata.cloud/33hs4z.png" width="500" className="m-auto" />
</p>

Mit der gleichen Vorgehensweise, indem man den Formatparameter des Bildlinks auf `b64_json` setzt, kann man das Ergebnis des Base64-codierten Bildlinks erhalten, das spezifische Ergebnis ist wie im folgenden Bild dargestellt:

```json theme={null}
{
  "created": 1721638071,
  "data": [
    {
      "b64_json": "iVBORw0..............v//AQEAAP4AAAD+AAADAQAAAwEEA/4D//8Q/Pbw64mKbVTFoQAAAABJRU5ErkJggg==",
      "revised_prompt": "Ein charmantes Bild eines jungen Baby-Seelöwen. Der Seelöwe schwebt sanft auf einem ruhigen blauen Meer und sonnt sich in den warmen, goldenen Sonnenstrahlen, die von einem klaren Himmel darüber strömen. Das Fell des Seelöwen ist ein reiches schokoladenbraun und sieht unglaublich weich und flauschig aus. Die Augen des Seelöwen sind hell und ausdrucksvoll, gefüllt mit kindlicher Neugier und Freude. Er hat kleine, aufgerichtete Ohren und eine knopfartige Nase, die zu seiner allgemeinen Niedlichkeit beiträgt. Im Meer um ihn herum sind funkelnde Wassertropfen zu sehen, die vom Sonnenlicht belebt werden, der Anblick ist sicherlich ein erfreulicher."
    }
  ]
}
```

## Asynchrone Rückrufe

Da die OpenAI Images Generations API möglicherweise relativ lange benötigt, um Bilder zu generieren, bleibt die HTTP-Anfrage bei längerer Nichtreaktion verbunden, was zu einem zusätzlichen Verbrauch von Systemressourcen führt. Daher bietet diese API auch Unterstützung für asynchrone Rückrufe.

Der gesamte Prozess ist: Wenn der Client die Anfrage startet, wird zusätzlich ein `callback_url`-Feld angegeben. Nachdem der Client die API-Anfrage gestartet hat, gibt die API sofort ein Ergebnis zurück, das ein `task_id`-Feld enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, werden die Ergebnisse der generierten Bilder in Form von POST JSON an die vom Client angegebene `callback_url` gesendet, wobei auch das `task_id`-Feld enthalten ist, sodass die Aufgabenergebnisse über die ID miteinander verknüpft werden können.

Lassen Sie uns anhand eines Beispiels verstehen, wie dies konkret funktioniert.

Zunächst ist der Webhook-Rückruf ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten ihn durch die URL ihres eigenen HTTP-Servers ersetzen. Hier verwenden wir zur Demonstration eine öffentliche Webhook-Beispielwebsite [https://webhook.site/](https://webhook.site/), auf der Sie eine Webhook-URL erhalten können, wie im Bild gezeigt:

![](https://cdn.acedata.cloud/cjjfly.png)

Kopieren Sie diese URL, um sie als Webhook zu verwenden. In diesem Beispiel lautet die URL `https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab`.

Als Nächstes können wir das Feld `callback_url` auf die oben genannte Webhook-URL setzen und die entsprechenden Parameter wie im folgenden Code gezeigt ausfüllen:

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/images/generations"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "dall-e-3",
    "prompt": "Ein süßes Baby-Seelöwen",
    "callback_url": "https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Wenn Sie auf Ausführen klicken, können Sie sofort ein Ergebnis erhalten, wie folgt:

```json theme={null}
{
  "task_id": "6a97bf49-df50-4129-9e46-119aa9fca73c"
}
```

Nach einer kurzen Wartezeit können wir die Ergebnisse der generierten Bilder an der Webhook-URL beobachten, der Inhalt sieht wie folgt aus:

```json theme={null}
{
  "success": true,
  "task_id": "6a97bf49-df50-4129-9e46-119aa9fca73c",
  "trace_id": "9b4b1ff3-90f2-470f-b082-1061ec2948cc",
  "data": {
    "created": 1721626477,
    "data": [
      {
        "revised_prompt": "Ein erfreuliches Bild, das einen jungen Seelöwen zeigt...",
        "url": "https://dalleprodsec.blob.core.windows.net/private/images/..."
      }
    ]
  }
}
```

Man kann sehen, dass das Ergebnis ein `task_id`-Feld enthält, und das `data`-Feld die gleichen Bildgenerierungsergebnisse wie bei der synchronen Anfrage enthält. Durch das `task_id`-Feld kann die Aufgabe verknüpft werden.

## Fehlerbehandlung

Bei der API-Anfrage, wenn ein Fehler auftritt, gibt die API die entsprechenden Fehlercodes und Informationen zurück. Beispielsweise:

* `400 token_mismatched`：Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
* `400 api_not_implemented`：Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
* `401 invalid_token`：Unbefugt, ungültiges oder fehlendes Autorisierungstoken.
* `429 too_many_requests`：Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
* `500 api_error`：Interner Serverfehler, etwas ist auf dem Server schiefgegangen.

### Fehlerantwort Beispiel

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "Abruf fehlgeschlagen"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Bildgenerierungs-API von OpenAI Images Generations einfach nutzen können, um die Bildgenerierungsfunktionen von OpenAI DALL-E zu verwenden. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.
