Per iniziare

Avvio rapido

Inizia subito a usare Nano Banana API con un token Bearer, un corpo richiesta JSON e i due endpoint di produzione: create e check.

Cosa ti serve

  • AUn account Nano Banana con crediti disponibili
  • Una chiave API creata dalla dashboard Chiavi API

Ottieni la tua chiave API

Accedi, apri la pagina Chiavi API, inserisci un nome per la chiave e fai clic su Crea. Copia subito la chiave: la chiave completa viene mostrata una sola volta.

Configura l’header della richiesta HTTP

URL di base

HTTPS
https://nanobanana.io
HTTP
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json

Avvio rapido

Invia un payload JSON per creare un’attività di generazione asincrona. Salva il task_id restituito e usalo per controllare lo stato dell’attività.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "nano-banana-2",
  "input": {
    "prompt": "Una foto prodotto cinematografica di una fotocamera futuristica a forma di banana",
    "aspect_ratio": "1:1",
    "resolution": "1k"
  }
}'
Risposta
{
  "data": {
    "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617",
    "model": "nano-banana-2",
    "status": "processing",
    "credits": 20
  }
}

Crea un’attività

Invia un ID modello e un oggetto di input per creare un’attività di generazione asincrona. Questo endpoint conferma che l’attività è stata messa in coda; non attende il risultato multimediale finale.

POST/api/v1/create

Autorizzazioni

Campo
Tipo
obbligatorio
Descrizione e vincoli
Authorizationstringobbligatorio
Chiave API passata come token Bearer nell’header della richiesta. Esempio: Authorization: Bearer sk_live_your_api_key

Corpo della richiesta

application/json
Campo
Tipo
obbligatorio
Descrizione e vincoli
modelstringobbligatorio
ID pubblico del modello. Usa un modello elencato nella sezione API, ad esempio nano-banana-2.
inputobjectobbligatorio
Input di generazione. Deve includere un prompt non vuoto. Gli altri campi di input sono specifici del modello; consulta la relativa documentazione prima di inviare campi come immagini, proporzioni, durata, risoluzione o quantità.
JSON
{
  "model": "nano-banana-2",
  "input": {
    "prompt": "Una foto prodotto cinematografica di una fotocamera futuristica a forma di banana",
    "aspect_ratio": "1:1",
    "resolution": "1k"
  }
}

Risposta di creazione

application/json

Una risposta riuscita restituisce l’ID attività, l’ID modello, lo stato in coda e il numero di crediti riservati per questa attività.

HTTP 201
{
  "data": {
    "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617",
    "model": "nano-banana-2",
    "status": "processing",
    "credits": 20
  }
}

Ottieni stato attività

Interroga questo endpoint usando l’ID attività restituito finché l’attività non viene completata o fallisce. Consigliamo un polling ogni 5 secondi per controllare lo stato più recente.

POST/api/v1/check

Corpo della richiesta

application/json
Campo
Tipo
obbligatorio
Descrizione e vincoli
task_idstringobbligatorio
L’ID attività restituito da POST /api/v1/create. Usa questo ID per recuperare lo stato dell’attività e gli URL dei risultati finali.
JSON
{
  "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617"
}

Risposta di stato

application/json

Al termine dell’elaborazione, la risposta include gli URL dei risultati finali e i metadati temporali. Finché l’attività è ancora in esecuzione, data viene restituito come null.

HTTP 200
{
  "id": "adc0e6ec-9c12-44fc-b45f-112187766c3",
  "created_at": 1788652800,
  "model": "nano-banana-2",
  "status": "completed",
  "data": {
    "results": [
      "https://cdn.nanobanana.io/api/predictions/example.mp4"
    ],
    "processing_time": 48
  }
}