IT ▾

API testuale senza censura per la tua pipeline

API Nano Banana: prompt e script su un unico endpoint

Inizia con l'API Nano Banana in pochi minuti. Questa guida copre l'autenticazione, le richieste di base, lo streaming e la chiamata di funzioni utilizzando il formato compatibile con OpenAI.

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.

Domande e risposte

È l'API ufficiale di OpenAI?

No. È un'API compatibile con OpenAI che esegue il nostro modello a pesi aperti. Utilizza lo stesso formato di richiesta e gli SDK, ma è un servizio separato. Consulta la documentazione ufficiale di OpenAI per le funzionalità e i limiti specifici.

Memorizzate i miei prompt per l'addestramento?

No. Non utilizziamo i tuoi prompt per addestrare il modello. I tuoi dati vengono usati solo per generare la risposta a quella specifica richiesta. La privacy è una caratteristica fondamentale del flusso di lavoro senza censura.

Posso usarlo per i prompt di generazione delle immagini?

Sì. Questa API è ideale per generare prompt testuali per modelli di immagini, audio o video. Gestisce la parte testuale della tua pipeline. Non generiamo noi i file multimediali.

La tua chiave è a un modulo di distanza

Crea un account, copia la chiave, modifica l'URL di base. È tutta qui la configurazione.

Ottieni la chiave API

Scheda tecnica dell'API

Tutti i limiti e le funzioni reali dell'API in un unico posto: controllali prima di ricaricare.

VoceValore
Formatocompatibile OpenAI: qualsiasi SDK OpenAI funziona cambiando base URL e chiave
AutenticazioneAuthorization: Bearer YOUR_KEY
ID modellouncensored
EndpointPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
Modalità JSONresponse_format: {"type": "json_object"}
Output massimofino al resto della finestra di 100.000 token; max_tokens opzionale (nessun limite separato)
Parametritemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Streamingsì — server-sent events; l'ultimo blocco riporta l'uso dei token
Function callingsì — tools, tool_choice; risposte con tool_calls anche in streaming; risultati come role: tool
Finestra di contesto100.000 token (input + output)
Dimensionefino a 8 MB per richiesta
HeaderX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Concorrenza8 richieste contemporanee per chiave
Limite di frequenza300 richieste al minuto per chiave
RicaricaUSDT (TRC20) o USDC (Base), qualsiasi importo intero da $10 a $500
Bonus+5% da $50, +10% da $100
Fatturazionecredito prepagato in base all'uso reale; errori e rifiuti gratuiti
Prova gratuita$0,50 per 7 giorni, senza carta · Chiave di prova: 2 richieste parallele, 60 al minuto; limiti completi (8 e 300) dopo la prima ricarica
Prezzo$0,25 per 1M token in input · $1,00 per 1M in output
Scadenzail credito pagato non scade, nessun abbonamento
Chiaviuna chiave attiva per account; una nuova sostituisce la precedente
AccessoGoogle oppure e-mail e password
Contenuticontenuti per adulti consentiti; rifiutati i contenuti sessuali con minori

Codici di errore

Gli errori arrivano in JSON con un type fisso; le richieste fallite o rifiutate non si pagano.

CodiceTipoSignificato
400bad_requestJSON non valido, messaggi vuoti, parametro errato o contesto troppo lungo
401missing_key · invalid_key · key_revokedchiave mancante, errata o sostituita
402no_creditcredito esaurito — ricarica e riparti subito
403content_blockedcontenuti sessuali con minori — rifiutato, non addebitato
404not_foundendpoint sconosciuto
413request_too_largecorpo oltre 8 MB
429rate_limited · concurrencyoltre 300/min o 8 in parallelo — attendi e riprova
503upstream_busymodello occupato — riprova tra pochi secondi