Hoppa till huvudinnehåll
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

Innan användning, vänligen gå till Nano Banana Images API på Ace Data Cloud-plattformen och klicka på Acquire för att ansöka om aktivering. Första gången du ansöker finns det vanligtvis en gratis kvot tillgänglig. När aktiveringen är klar kan du hämta Bearer Token som används för att anropa API:et.

Gränssnittsöversikt

  • Bas-URL: https://api.acedata.cloud
  • Endpoint: POST /nano-banana/images
  • Autentisering: HTTP-headern innehåller 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: 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
  • Asynkron callback: Valfritt, ta emot meddelande om uppgiftens slutförande och resultat via callback_url

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)

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",
    "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 är belyst 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)

import requests

url = "https://api.acedata.cloud/nano-banana/images"
headers = {
    "authorization": "Bearer {token}",
    "accept": "application/json",
    "content-type": "application/json",
}
payload = {
    "action": "generate",
    "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 är belyst "
        "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

{
  "success": true,
  "task_id": "056f0589-a3dd-4ec2-8440-ad61f5038dfa",
  "trace_id": "c48de83f-0077-426e-b02b-ff1d58179064",
  "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 är belyst 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://platform.cdn.acedata.cloud/nanobanana/69790adb-c85d-4362-ad9e-0c9ba4352cf4.png"
    }
  ]
}

Fältbeskrivning

  • success: Om denna begäran var framgångsrik.
  • task_id: Uppgiftens ID.
  • trace_id: Spårnings-ID, för att underlätta felsökning.
  • 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 en bild

Redigera bild (action=edit)

När du vill redigera baserat på 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, här kan vi ge en bild av en person och en bild av en tröja, så att personen kan ha på sig den tröjan, och vi kan skicka in bildlänkarna och ange action 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)

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)

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

Framgångsrik retur exempel

{
  "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ältbeskrivning

  • 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 för “generera bild” retur.

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 Webhook callback via callback_url:
  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 grundläggande resultat).
  3. När uppgiften är klar kommer plattformen att skicka den fullständiga JSON:en till callback_url med POST-metoden. Du kan koppla begäran till resultatet med task_id.
Exempel på callback-last (fältstrukturen är densamma som för synkron framgångsrik återkoppling):
{
  "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 följande:
  • 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

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

Parameteröversikt och viktiga punkter

  • Obligatoriska: action, prompt
  • Redigeringsspecifik: image_urls (array, minst 1 post)
  • Valfritt: model (standard nano-banana, valfritt nano-banana-2 eller nano-banana-pro), aspect_ratio (bredd-höjd-förhållande, som 1:1, 16:9), resolution (upplösning, som 1K, 2K, 4K), callback_url (för asynkron callback)
  • Headers: Måste ange authorization: Bearer {token}; accept rekommenderas att sättas till application/json
  • Tillgänglighet för bilder: 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 koppling av resultat