> ## Documentation Index
> Fetch the complete documentation index at: https://germeytechnology-docs-remove-4o-image-nav.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenAI Images Generations API Ansökan och Användning

> OpenAI generation 集成指南 - Ace Data Cloud

OpenAI Images Generations API stöder för närvarande flera bildgenereringsmodeller, inklusive den klassiska `dall-e-3`, den textrenderande `gpt-image-1` med starkare förmåga, den senaste generationen **`gpt-image-2`**, samt **`nano-banana` / `nano-banana-2` / `nano-banana-pro`** serien som nås via samma gränssnitt. Alla kan generera högkvalitativa bilder baserat på textbeskrivningar.

Detta dokument beskriver huvudsakligen användningsprocessen för OpenAI Images Generations API, som gör det enkelt att använda OpenAI-seriens bildgenereringsfunktioner.

## Ansökningsprocess

För att använda OpenAI Images Generations API kan du först gå till sidan [OpenAI Images Generations API](https://platform.acedata.cloud/documents/openai-images-generations) och klicka på knappen "Acquire" för att få de nödvändiga autentiseringsuppgifterna:

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

Om du inte är inloggad eller registrerad kommer du automatiskt att omdirigeras till inloggningssidan där du kan registrera dig och logga in. Efter inloggning återvänder du automatiskt till denna sida.

Vid första ansökan får du en gratis kvot som gör att du kan använda API:et kostnadsfritt.

## GPT-Image-2 Modell

`gpt-image-2` är OpenAIs nya generation av bildgenereringsmodell, som jämfört med `dall-e-3` och `gpt-image-1` har tydliga förbättringar inom följande områden:

* **Starkare efterlevnad av instruktioner**: Kan exakt förstå komplexa kompositioner, räkning, positionsrelationer och andra strukturerade instruktioner.
* **Klarare textrendering**: Engelska och siffror i affischer, menyer, infografik och logotyper visas nästan utan fel.
* **Rikare stiluttryck**: Stödjer ursprungligen flera stilar såsom filmiska porträtt, retroaffischer, barnillustrationer, produktfotografi och infografik.
* **Inbyggt stöd för flera proportioner + hög upplösning**: Täcker 5 proportioner (1:1, 4:3, 3:4, 16:9, 9:16) med 3 upplösningsnivåer (1K / 2K / 4K).

Anropssättet är helt identiskt med andra modeller, du behöver bara sätta fältet `model` till `gpt-image-2`. I returvärdet är `url` en permanent bildlänk hostad på `platform.cdn.acedata.cloud`, som kan öppnas direkt i webbläsare eller bäddas in på webbsidor.

### Stödda `size` värden

`gpt-image-2` kontrollerar endast formatet på `size`. Så länge det inte är `auto` eller en tom sträng måste det matcha `WIDTHxHEIGHT` (t.ex. `1024x1024`, `2048x1152`, `800x600`); andra format ger 400-fel. **Alla storlekar (1K / 2K / 4K / anpassade) debiteras per bild, ingen extra kostnad för storlek.**

Upstream har hårda begränsningar för anpassade storlekar: bredd och höjd måste vara multiplar av 16, längsta sidan ≤ 3840, total pixelantal ≤ 8,294,400. Överskrids detta avvisas förfrågan med 4xx.

| Proportion | 1K Rekommenderad | 2K Rekommenderad | 4K Rekommenderad |
| ---------- | ---------------- | ---------------- | ---------------- |
| 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`      |

> Du kan också ange `size: "auto"` eller **utelämna `size`-fältet**, då väljer modellen standardstorlek själv.
>
> Vid 1K-nivå garanteras inte strikt pixeljustering — om du skickar `1024x1024` kan du få `1254x1254`, proportionen bibehålls. Om du skickar tillbaka denna som `size` ändras inte debiteringen.
>
> 4K-anrop tar vanligtvis 4–8 minuter, rekommenderas att använda `callback_url` för asynkron återkoppling.

> **Om `n`-parametern**
>
> `gpt-image-2` stöder för närvarande **inte `n > 1`**: denna parameter ignoreras tyst, oavsett om du skickar `n=1` eller `n=10` returneras bara en bild per anrop och debiteras för en bild. Om du behöver flera bilder samtidigt, gör flera parallella anrop (helst med olika `prompt` eller `seed`, annars kan bilderna bli mycket lika). Samma begränsning gäller för `gpt-image-1` / `gpt-image-1.5` samt `nano-banana` / `nano-banana-2` / `nano-banana-pro`. `dall-e-2` är för närvarande den enda modellen som inbyggt stödjer `n > 1`; `dall-e-3` stödjer endast `n = 1`.

Nedan visas några verkliga exempel för att intuitivt visa `gpt-image-2` kapacitet.

### Scenario 1: Filmiskt porträtt

I prompten kan du använda filmtermer (35mm film, kort skärpedjup, neonljus etc.) för att exakt styra atmosfär och känsla.

Python-exempel:

```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": "A cinematic portrait of a young woman standing in a convenience store at night, illuminated by soft pink and cyan neon signs through the window. Shot on 35mm film, shallow depth of field, slight grain, melancholic mood.",
    "size": "1024x1536"
}

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

Returvärde:

```json theme={null}
{
  "success": true,
  "task_id": "ab58a5df-6f46-4874-bff6-93169e2849a3",
  "created": 1777048800,
  "data": [
    {
      "revised_prompt": "A cinematic portrait of a young woman standing in a convenience store at night, illuminated by soft pink and cyan neon signs through the window. Shot on 35mm film, shallow depth of field, slight grain, melancholic mood.",
      "url": "https://platform.cdn.acedata.cloud/gpt-image/ab58a5df-6f46-4874-bff6-93169e2849a3_0.png"
    }
  ]
}
```

Genererad bild:

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

### Scenario 2: Retro reseaffisch (med textrendering)

`gpt-image-2` är stabil i typografi och layout, perfekt för affischer, menyer, gratulationskort med text.

```python theme={null}
payload = {
    "model": "gpt-image-2",
    "prompt": "A vintage travel poster of the Amalfi Coast, Italy. Stylized art-deco illustration of cliffside lemon-yellow houses cascading down to a turquoise sea, with a small white sailboat in the harbor. Bold typography at the top reads AMALFI and at the bottom ITALIA 1958. Limited color palette: cream, sea-blue, lemon yellow, terracotta. Slight paper-grain texture.",
    "size": "1024x1536"
}
```

Bild från `url` i returvärdet:

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

Modellen återger tydligt Art Deco-stilen och texten `AMALFI` och `ITALIA 1958` är korrekt och klart renderad.

### Scenario 3: Komplex komposition och räkning

Denna prompt testar modellens förmåga att följa strukturerade instruktioner om antal och position.

```python theme={null}
payload = {
    "model": "gpt-image-2",
    "prompt": "A wooden bookshelf consisting of three shelves: On the top shelf, there should be one book. On the second shelf, there should be three books. On the bottom shelf, there should be seven books. Soft warm lighting, photorealistic, cozy library atmosphere.",
    "size": "1024x1024"
}
```

Genererad bild:

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

Antalet böcker (1 / 3 / 7) på de tre hyllorna stämmer helt med prompten, något som var svårt att uppnå stabilt under `dall-e-3`-eran.

### Scenario 4: Illustrationsstil (landskapsformat)

Genom att specificera konstnärligt medium och stämningsord kan modellen generera stiliserade illustrationer.

```python theme={null}
payload = {
    "model": "gpt-image-2",
    "prompt": "A soft, poetic children's book illustration of a small fox reading a book under a glowing mushroom in a moonlit forest. Watercolor and pencil texture, gentle pastel colors, dreamy atmosphere, hand-drawn feel.",
    "size": "1536x1024"
}
```

Genererad landskapsillustration:

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

### Asynkron och callback

`gpt-image-2` tar vanligtvis 60–90 sekunder per anrop. Om du inte vill hålla en lång anslutning kan du använda `callback_url`-mekanismen för asynkron återkoppling. Anropsflödet är identiskt med andra modeller.

## Nano Banana Serien

`nano-banana` serien är bildgenereringsmodeller baserade på Gemini, tillgängliga via samma `/openai/images/generations`-endpoint utan att byta endpoint, bara ändra `model` till någon av nedanstående:

| Modell            | Debitering (Credits / anrop) | Användningsområde                                         |
| ----------------- | ---------------------------- | --------------------------------------------------------- |
| `nano-banana`     | 0.14                         | Vanlig bildgenerering, snabbast och billigast             |
| `nano-banana-2`   | 0.28                         | Tydligt förbättrad kvalitet och detaljer                  |
| `nano-banana-pro` | 0.35                         | Flaggskepp i serien, bästa komposition, detaljer och text |

> **Viktigt: stödda parametrar**
>
> Nano Banana använder en adapter för OpenAI-protokollet och stöder endast följande parametrar jämfört med `gpt-image-*`: `model`, `prompt`, `size`.
>
> * `size` mappas enligt tabell nedan till intern `aspect_ratio`; ej listade storlekar faller tillbaka till `1:1`:
>   * `1024x1024` / `512x512` / `256x256` → `1:1`
>   * `1792x1024` → `16:9`
>   * `1024x1792` → `9:16`
> * Stöder inte `n`, `quality`, `style`, `response_format`, `background`, `output_format`; dessa ignoreras om angivna.
> * Returformat följer OpenAI-standard (`data[].url`), men `created` är alltid `0`, `b64_json` returneras inte, och `revised_prompt` är alltid lika med original `prompt`.

### Grundläggande anrop

```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": "a small red apple on a white table, photoreal",
    "size": "1024x1024"
}

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

Returvärde:

```json theme={null}
{
  "created": 0,
  "data": [
    {
      "url": "https://platform.cdn.acedata.cloud/nanobanana/6870b330-65c4-436c-bb80-819fdae7a7a4.png",
      "revised_prompt": "a small red apple on a white table, photoreal"
    }
  ]
}
```

Genererad bild kan nås direkt via `url`:

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

### Uppgradera till flaggskeppsmodellen `nano-banana-pro`

Byt bara `model` till `nano-banana-pro`, övriga parametrar är oförändrade:

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

Exempel på retur:

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

### Asynkron callback

`callback_url`-mekanismen fungerar även för nano-banana, anropsflödet är identiskt med andra modeller, se avsnittet [Asynkron callback](#asynkron-callback) nedan.

## Grundläggande användning

Du kan fylla i motsvarande fält i gränssnittet, som visas nedan:

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

Vid första användningen behöver du minst fylla i tre fält: `authorization` väljs direkt från dropdown-menyn, `model` som är den OpenAI DALL-E modellkategori du vill använda (här finns huvudsakligen en modell, se våra modeller för detaljer), och `prompt` som är texten för bildgenerering.

Till höger visas motsvarande genererade anropskod som du kan kopiera och köra, eller testa direkt med knappen "Try".

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

Python-exempel:

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

Returvärde:

```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"
    }
  ]
}
```

Returvärdet innehåller flera fält:

* `created`: ID för bildgenereringsuppdraget, unikt för denna uppgift.
* `data`: innehåller bildgenereringsresultatet.

I `data` finns detaljer om genererad bild, där `url` är bildens detaljlänk, som visas nedan:

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

## Bildkvalitetsparameter `quality`

Här beskrivs hur du ställer in detaljerade parametrar för bildgenerering, där `quality` har två värden: `standard` för standardbild och `hd` för bild med finare detaljer och högre konsistens.

Exempel på inställning av `quality` till `standard`:

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

Till höger visas motsvarande anropskod som kan kopieras eller testas direkt.

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

Python-exempel:

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

Returvärde:

```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"
    }
  ]
}
```

Resultatet är liknande grundanvändningen, bilden med `quality` satt till `standard` visas nedan:

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

Samma anrop med `quality` satt till `hd` ger bilden nedan:

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

`hd`-bilden har finare detaljer och högre konsistens än `standard`.

## Bildstorleksparameter `size`

Du kan också ange bildens storlek.

Exempel med `size` satt till `1024x1024`:

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

Till höger visas motsvarande kod som kan kopieras eller testas.

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

Python-exempel:

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

Returvärde:

```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"
    }
  ]
}
```

Bild med storlek `1024x1024` visas nedan:

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

Samma anrop med storlek `1792x1024` ger följande bild:

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

Storleken är tydligt annorlunda. Fler storlekar finns, se vår officiella dokumentation.

## Bildstilsparameter `style`

`style` har två värden: `vivid` för mer livfulla bilder och `natural` för mer naturliga bilder.

Exempel med `style` satt till `vivid`:

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

Till höger visas anropskod som kan kopieras eller testas.

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

Python-exempel:

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

Returvärde:

```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"
    }
  ]
}
```

Bild med `style` satt till `vivid` visas nedan:

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

Samma anrop med `style` satt till `natural` ger följande bild:

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

`vivid` ger mer levande och realistiska bilder än `natural`.

## Bildlänkens formatparameter `response_format`

Den sista parametern `response_format` har två värden: `b64_json` som kodar bilden i Base64, och `url` som är en vanlig bildlänk.

Exempel med `response_format` satt till `url`:

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

Till höger visas anropskod som kan kopieras eller testas.

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

Python-exempel:

```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_format": "url"
}

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

Returvärde:

```json theme={null}
{
  "created": 1721637575,
  "data": [
    {
      "revised_prompt": "A charming depiction of a baby sea otter. The otter is seen resting serenely on its back amidst the gentle, blue ocean waves. The baby otter's fur is an endearing mix of soft greyish brown shades, glinting subtly in the muted sunlight. Its small paws are touching, lifted slightly towards the sky as if playing with an unseen object. Its round, expressive eyes are wide in curiosity, sparking with life and innocence. Use a realistic style to evoke the otter's natural habitat and its adorably fluffy exterior.",
      "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"
    }
  ]
}
```

Bildlänken med `response_format` satt till `url` är direkt åtkomlig, bilden visas nedan:

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

Samma anrop med `response_format` satt till `b64_json` ger Base64-kodad bild enligt nedan:

```json theme={null}
{
  "created": 1721638071,
  "data": [
    {
      "b64_json": "iVBORw0..............v//AQEAAP4AAAD+AAADAQAAAwEEA/4D//8Q/Pbw64mKbVTFoQAAAABJRU5ErkJggg==",
      "revised_prompt": "A charming image of a young baby sea otter. The otter is gently floating on a calm blue sea, basking in the warm, golden rays of sunlight streaming down from a clear sky above. The otter's fur is a rich chocolate brown, and it looks incredibly soft and fluffy. The otter's eyes are bright and expressive, filled with childlike curiosity and joy. It has small, pricked ears and a button-like nose which adds to its overall cuteness. In the sea around it, twinkling droplets of water can be seen, pepped up by the sunlight, the sight is certainly a delightful one."
    }
  ]
}
```

## Asynkron callback

Eftersom bildgenerering kan ta tid och API-förfrågan kan hålla anslutningen öppen och belasta systemresurser, stödjer API:et asynkron callback.

Flödet är: klienten skickar med `callback_url` i förfrågan, API returnerar omedelbart ett svar med `task_id` som identifierar uppgiften. När uppgiften är klar skickar API en POST med JSON till `callback_url` med samma `task_id` för att koppla ihop resultatet.

Exempel:

Webhook callback är en HTTP-tjänst som kan ta emot förfrågningar. Byt ut URL:en mot din egen server. För demonstration används [https://webhook.site/](https://webhook.site/) som genererar en publik webhook-URL:

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

Kopiera URL:en, t.ex. `https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab`.

Skicka sedan anrop med `callback_url` satt till denna URL:

```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",
    "callback_url": "https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab"
}

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

Svar:

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

Efter en stund kan du se resultatet på webhook-sidan:

```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": "A delightful image showcasing a young sea otter...",
        "url": "https://dalleprodsec.blob.core.windows.net/private/images/..."
      }
    ]
  }
}
```

Resultatet innehåller `task_id` och `data` med samma bildgenereringsresultat som synkront anrop, vilket möjliggör koppling via uppgifts-ID.

## Felhantering

Vid fel returnerar API lämplig felkod och meddelande, t.ex.:

* `400 token_mismatched`: Felaktig förfrågan, saknade eller ogiltiga parametrar.
* `400 api_not_implemented`: Felaktig förfrågan, saknade eller ogiltiga parametrar.
* `401 invalid_token`: Obehörig, ogiltig eller saknad token.
* `429 too_many_requests`: För många förfrågningar, gränsen överskriden.
* `500 api_error`: Intern serverfel.

### Exempel på felrespons

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

## Slutsats

Med detta dokument har du lärt dig hur du enkelt använder OpenAI Images Generations API för att använda officiella OpenAI DALL-E bildgenereringsfunktioner. Vi hoppas detta hjälper dig att integrera och använda API:et bättre. Vid frågor, kontakta gärna vårt tekniska supportteam.
