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

# Nano Banana Images API Integrationsbeskrivning

> Nano Banana Image Generation API guide - Ace Data Cloud

Denna artikel beskriver integration och användning av Nano Banana Images API. Detta gränssnitt stöder två funktioner: **bildgenerering (generate)** och **billedredigering (edit)**.

## Ansökningsprocess

För att använda Nano Banana Images API, börja med att gå till [Ace Data Cloud-konsolen](https://platform.acedata.cloud/console/applications) för att hämta din API-token, som du ska spara.

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

Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in, och efter att du har slutfört detta kommer du automatiskt att återvända till den aktuella sidan.

**En API-token kan användas för att anropa alla tjänster på plattformen, du behöver inte ansöka separat för varje tjänst.** Första ansökan ger en gratis kvot, så att du kan prova gratis; om kvoten tar slut kan du ladda på allmän saldo i [konsolen](https://platform.acedata.cloud/console/coin).

> 📘 Fullständig dokumentation: [Nano Banana Images API →](https://platform.acedata.cloud/documents/nano-banana-images)

## Gränssnittsöversikt

* **Bas-URL**: `https://api.acedata.cloud`
* **Endpoint**: `POST /nano-banana/images`
* **Autentisering**: HTTP-header med `authorization: Bearer {token}`
* **Begärningshuvud**:
  * `accept: application/json`
  * `content-type: application/json`
* **Åtgärd (action)**:
  * `generate`: Generera bilder baserat på textprompt
  * `edit`: Redigera baserat på angiven bild
* **Modell (model)** (valfritt):
  * `nano-banana` (standard): Baserad på Gemini 2.5 Flash Image, snabb hastighet, låg kostnad
  * `nano-banana-2-lite`: Baserad på Gemini 3.1 Flash Lite Image, stödjer endast 1K, snabb generering
  * `nano-banana-2`: Baserad på Gemini 3.1 Flash Image Preview, Pro-kvalitet + Flash-hastighet
  * `nano-banana-pro`: Baserad på Gemini 3 Pro Image Preview, högsta kvalitet
  * `nano-banana:official`, `nano-banana-2-lite:official`, `nano-banana-2:official`, `nano-banana-pro:official`: Officiella versioner av motsvarande modeller, bättre bildkvalitet och stabilitet, olika prissättning
* **Asynkron callback**: Valfritt, ta emot meddelande om uppgiftens slutförande och resultat via `callback_url`
* **Antal bilder**: Valfritt, ange 1–4 bilder via `count`, standard är 1 bild; vid delvis misslyckande returneras endast lyckade bilder och debitering sker för dessa

## Snabbstart: Generera bild (`action=generate`)

**Minimala nödvändiga parametrar**: `action`, `prompt`
När du bara vill generera en bild baserat på en prompt, ställ in `action` till `generate` och ge en tydlig `prompt`.

### Begärningsexempel (cURL)

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/nano-banana/images' \
  -H 'authorization: Bearer {token}' \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -d '{
    "action": "generate",
    "model": "nano-banana-pro",
    "prompt": "Ett fotorealistiskt närbildsporträtt av en gammal japansk keramiker med djupa, sol-etsade rynkor och ett varmt, vetande leende. Han inspekterar noggrant en nyglaserad tekopp. Miljön är hans rustika, solbelysta verkstad. Scenen belyses av mjukt, gyllene timmesljus som strömmar genom ett fönster och framhäver den fina texturen av leran. Fångad med en 85 mm porträttlins, vilket resulterar i en mjuk, suddig bakgrund (bokeh). Den övergripande stämningen är lugn och mästerlig. Vertikal porträttorientering.",
    "count": 1
  }'
```

### Begärningsexempel (Python)

```python theme={null}
import requests

url = "https://api.acedata.cloud/nano-banana/images"
headers = {
    "authorization": "Bearer {token}",
    "accept": "application/json",
    "content-type": "application/json",
}
payload = {
    "action": "generate",
    "model": "nano-banana-pro",
    "prompt": (
        "Ett fotorealistiskt närbildsporträtt av en gammal japansk keramiker "
        "med djupa, sol-etsade rynkor och ett varmt, vetande leende. Han inspekterar "
        "noggrant en nyglaserad tekopp. Miljön är hans rustika, solbelysta "
        "verkstad. Scenen belyses av mjukt, gyllene timmesljus som strömmar genom "
        "ett fönster och framhäver den fina texturen av leran. Fångad med en 85 mm "
        "porträttlins, vilket resulterar i en mjuk, suddig bakgrund (bokeh). Den övergripande stämningen "
        "är lugn och mästerlig. Vertikal porträttorientering."
    ),
    "count": 1
}
resp = requests.post(url, json=payload, headers=headers)
print(resp.json())
```

### Framgångsrik retur exempel

```json theme={null}
{
  "success": true,
  "task_id": "70e6931b-6e34-43db-9e36-8765e2809d04",
  "trace_id": "60df8d38-f265-4986-aec7-75c9220bced2",
  "data": [
    {
      "prompt": "Ett fotorealistiskt närbildsporträtt av en gammal japansk keramiker med djupa, sol-etsade rynkor och ett varmt, vetande leende. Han inspekterar noggrant en nyglaserad tekopp. Miljön är hans rustika, solbelysta verkstad. Scenen belyses av mjukt, gyllene timmesljus som strömmar genom ett fönster och framhäver den fina texturen av leran. Fångad med en 85 mm porträttlins, vilket resulterar i en mjuk, suddig bakgrund (bokeh). Den övergripande stämningen är lugn och mästerlig. Vertikal porträttorientering.",
      "image_url": "https://platform2.cdn.acedata.cloud/nanobanana/1d0160b4-93f9-4229-8926-ea9ef0bed336.png"
    }
  ]
}
```

### Fältspecifikationer

* `success`: Om denna begäran var framgångsrik.
* `task_id`: Uppgifts-ID.
* `trace_id`: Spårnings-ID, för att underlätta felsökning.
* `count`: Antal bilder som begärts för generering eller redigering, stödjer 1–4, standard är 1. Vid delvis misslyckande innehåller `data` endast lyckade bilder.
* `data[]`: Resultatlista.
  * `prompt`: Används för att generera prompt (återkoppling).
  * `image_url`: Direktlänk URL till den genererade bilden.

> Obs: `/nano-banana/images` kräver endast `action` och `prompt` för att generera bilder

## Redigera bild (`action=edit`)

När du vill redigera en befintlig bild, ställ in `action` till `edit` och skicka in en lista med länkar till bilder som ska redigeras via `image_urls` (1 eller flera), samtidigt som du ger en beskrivning av redigeringsmålet med `prompt`.

Till exempel kan vi här ge en bild av en person och en bild av en tröja, så att personen kan få på sig tröjan, och vi kan skicka in bildlänkarna och ange åtgärden som `edit`. URL:er kan vara HTTP-URL:er, offentligt tillgängliga länkar med `https` eller `http` protokoll, eller så kan de vara Base64-kodade bilder, som `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAVGCAMAAAA6u2FyAAADAFBMVEXq6uwdHCEeHyMdHS....`

### Begärningsexempel (cURL)

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/nano-banana/images' \
  -H 'authorization: Bearer {token}' \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -d '{
    "action": "edit",
    "prompt": "låt denna man ha på sig denna T-shirt",
    "image_urls": [
      "https://cdn.acedata.cloud/v8073y.png",
      "https://cdn.acedata.cloud/44xlah.png"
    ],
    "count": 1
  }'
```

### Begärningsexempel (Python)

```python theme={null}
import requests

url = "https://api.acedata.cloud/nano-banana/images"
headers = {
    "authorization": "Bearer {token}",
    "accept": "application/json",
    "content-type": "application/json",
}
payload = {
    "action": "edit",
    "prompt": "låt denna man ha på sig denna T-shirt",
    "image_urls": [
        "https://cdn.acedata.cloud/v8073y.png",
        "https://cdn.acedata.cloud/44xlah.png"
    ],
    "count": 1
}
resp = requests.post(url, json=payload, headers=headers)
print(resp.json())
```

### Exempel på framgångsrikt svar

```json theme={null}
{
  "success": true,
  "task_id": "93f11baf-347b-4bb4-9520-8653cb46d6a3",
  "trace_id": "a9063166-26ed-4451-85b5-54e896817c69",
  "data": [
    {
      "prompt": "låt denna man ha på sig denna T-shirt",
      "image_url": "https://platform.cdn.acedata.cloud/nanobanana/8e9e0253-26f4-45b9-b3f8-ac1aed1c284b.png"
    }
  ]
}
```

### Fältspecifikation

* `image_urls[]`: Lista över URL:er till bilder som ska redigeras (måste vara offentligt tillgängliga). Flera bilder kan skickas, tjänsten kommer att kombinera dessa material med `prompt` för att slutföra redigeringen.
* Övriga fält är desamma som "generera bild" svar.

***

## Asynkron callback (valfritt, rekommenderas)

Generering eller redigering kan ta viss tid. För att undvika att långvariga anslutningar upptar resurser, rekommenderas att använda `callback_url` för **Webhook callback**:

1. Lägg till `callback_url` i begärningskroppen, till exempel din server Webhook-adress (måste vara offentligt tillgänglig, stödja POST JSON).
2. API:et kommer att **omedelbart returnera** ett svar som innehåller `task_id` (eller innehåller grundläggande resultat).
3. När uppgiften är klar kommer plattformen att skicka den fullständiga JSON:en till `callback_url` med `POST`. Du kan koppla begäran till resultatet med `task_id`.

**Exempel på callback-last** (fältstruktur är densamma som synkront framgångssvar):

```json theme={null}
{
  "success": true,
  "task_id": "6a97bf49-df50-4129-9e46-119aa9fca73c",
  "trace_id": "9b4b1ff3-90f2-470f-b082-1061ec2948cc",
  "data": [
    {
      "prompt": "en vit siamesisk katt",
      "image_url": "https://platform.cdn.acedata.cloud/nanobanana/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.png"
    }
  ]
}
```

***

## Felhantering

Vid misslyckad anrop kommer standardfelformat och spårnings-ID att returneras. Vanliga fel är:

* **400 `token_mismatched`**: Begäran är ogiltig eller parameterfel.
* **400 `api_not_implemented`**: Gränssnittet är inte implementerat (vänligen kontakta support).
* **401 `invalid_token`**: Autentisering misslyckades eller saknar token.
* **429 `too_many_requests`**: Begärningsfrekvensen överskrider gränsen.
* **500 `api_error`**: Serverfel.

### Exempel på felrespons

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

***

## Parameteröversikt och anmärkningar

* **Obligatoriska**: `action`, `prompt`
* **Redigeringsspecifik**: `image_urls` (array, minst 1 post)
* **Valfritt**: `model` (standard `nano-banana`, kan vara `nano-banana-2-lite`, `nano-banana-2`, `nano-banana-pro`, eller motsvarande `:official` officiella kanalversion), `aspect_ratio` (bredd-höjd-förhållande, som `1:1`, `16:9`), `resolution` (upplösning, som `1K`, `2K`, `4K`; `nano-banana-2-lite` stöder endast `1K`), `callback_url` (för asynkron callback)
* **Headers**: Måste ange `authorization: Bearer {token}`; `accept` rekommenderas att sättas till `application/json`
* **Bildåtkomst**: `image_urls` måste vara direktlänkar som är offentligt tillgängliga (HTTP/HTTPS), rekommenderas att använda HTTPS
* **Idempotens och spårning**: Bevara `task_id` och `trace_id` för att underlätta felsökning och resultatkoppling
