Autenticazione e URL di base
Accedi all'API nano banana puntando il tuo client su https://api.nanobananaapis.com/v1. Hai bisogno di una chiave API valida nell'intestazione Authorization. Registrati nella pagina Ottieni chiave API con solo email e password per ricevere la tua chiave istantaneamente. La chiave viene mostrata immediatamente dopo la registrazione. Se la perdi, rigenerane una nuova dal tuo cruscotto; la chiave precedente smette di funzionare immediatamente.
Usa Bearer YOUR_API_KEY per ogni richiesta. L'ID del modello è sempre uncensored. Questo endpoint gestisce l'input e l'output di testo. Non genera immagini, audio o video. Per pipeline multimodali, usa questa API per la scrittura di prompt, la generazione di copioni e la post-elaborazione.
Prima richiesta
Invia una richiesta standard di completamento chat. L'API supporta il formato OpenAI. Sostituisci YOUR_API_KEY con la tua chiave effettiva. Questo esempio invia un messaggio semplice al modello senza censura.
curl https://api.nanobananaapis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'La risposta contiene il testo generato. Puoi ispezionare i conteggi dei token di utilizzo nel corpo della risposta. La finestra di contesto è di 100.000 token totali per prompt e completamento. Mantieni i payload sotto 8 MB.
Esempio SDK Python
Usa l’Sdk Python ufficiale di OpenAI. Imposta l’url di base sull’endpoint di nanobananaapis. Passa la tua chiave API come api_key. Il client formatta automaticamente le richieste nel modo corretto. Questo metodo è ideale per gli script backend che devono elaborare il testo prima di inviarlo a un servizio di generazione di immagini o video.
from openai import OpenAI
client = OpenAI(base_url="https://api.nanobananaapis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)L'SDK gestisce per te lo streaming e l'analisi. Puoi iterare sui chunk se abiliti la modalità streaming. Questo approccio mantiene il tuo codice pulito e compatibile con altri servizi OpenAI se in futuro cambi provider.
Esempio SDK Node.js
L'SDK Node.js funziona in modo simile. Inizializza il client con il tuo URL di base e la chiave. Chiama il metodo chat.completions.create. Questo è utile per funzioni serverless o server web che devono generare script dinamicamente.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nanobananaapis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Assicurati di gestire correttamente gli errori. Gli errori comuni includono fallimenti di autenticazione (401) se la chiave non è valida o scaduta, e limiti di velocità (429) se superi 300 richieste al minuto. La chiave API è associata al tuo account, quindi proteggila nelle variabili di ambiente.
Risposte in streaming
Abilita lo streaming impostando stream: true nella tua richiesta. L'API restituisce uno stream Server-Sent Events (SSE). Ogni chunk contiene parte del testo generato. Questo è essenziale per applicazioni in tempo reale o quando si generano script lunghi.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Analizza gli eventi SSE sul lato client. Lo stream termina quando il modello termina la generazione o raggiunge il limite di contesto. Lo streaming riduce la latenza percepita per gli utenti. Non cambia il prezzo; paghi ancora per token.
Limiti, errori e modelli
Controlla i modelli disponibili tramite GET /v1/models. L'unico modello è uncensored. Il limite di richieste è di 300 richieste al minuto per chiave. Il corpo della richiesta deve essere inferiore a 8 MB. Il prezzo è $0,25 per 1M token di input e $1,00 per 1M token di output. Il credito non scade mai. Se finisci, ricarica da $10. Errori: 401 per chiavi errate, 402 per credito insufficiente, 429 per limiti di velocità. Non è fornita alcuna garanzia SLA o di disponibilità. Il modello blocca i contenuti sessuali che coinvolgono minori. Non rifiuta altri argomenti adulti o controversi leciti.