Authenticatie en basis-URL
Gebruik de nano banana api door je client te wijzen naar https://api.nanobananaapis.com/v1. Je hebt een geldige API-sleutel nodig in de Authorization-header. Meld je aan op de API-sleutel ophalen-pagina met alleen een e-mailadres en wachtwoord om je sleutel direct te ontvangen. De sleutel wordt direct na het aanmaken getoond. Als je hem kwijtraakt, genereer dan een nieuwe via je dashboard; de oude sleutel werkt dan onmiddellijk niet meer.
Gebruik Bearer YOUR_API_KEY voor elk verzoek. De model-ID is altijd uncensored. Dit endpoint verwerkt tekst in en tekst uit. Het genereert geen afbeeldingen, audio of video. Voor multimodale pipelines gebruik je deze API voor promptschrijving, scriptgeneratie en nabewerking.
Eerste verzoek
Stuur een standaard chat-completie-verzoek. De API ondersteunt het OpenAI-formaat. Vervang YOUR_API_KEY door je daadwerkelijke sleutel. Dit voorbeeld stuurt een eenvoudig bericht naar het ongecensureerde model.
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."}]
}'De respons bevat de gegenereerde tekst. Je kunt de tokengebruikscijfers inspecteren in het lichaam van de respons. Het contextvenster is 100.000 tokens totaal voor prompt en responsbody. Houd je payloads onder de 8 MB.
Python SDK-voorbeeld
Gebruik de officiële OpenAI Python SDK. Stel de basis-URL in op het nanobananaapis endpoint. Geef je API-sleutel door als api_key. De client vormt verzoeken automatisch correct. Deze methode is ideaal voor backend-scripts die tekst moeten verwerken voordat deze naar een afbeeldings- of videogeneratiedienst wordt gestuurd.
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)De SDK verwerkt streaming en parsing voor je. Je kunt over chunks itereren als je de streamingmodus inschakelt. Deze aanpak houdt je code schoon en compatibel met andere OpenAI-services als je later van provider wisselt.
Node SDK-voorbeeld
De Node.js SDK werkt op vergelijkbare wijze. Initialiseer de client met je basis-URL en sleutel. Roep de chat.completions.create methode aan. Dit is handig voor serverless functies of web servers die dynamisch scripts moeten genereren.
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);Zorg dat je fouten correct afhandelt. Veelvoorkomende fouten zijn authenticatiefouten (401) als de sleutel ongeldig of verlopen is, en rate limits (429) als je meer dan 300 verzoeken per minuut doet. De API-sleutel is gekoppeld aan je account, dus bescherm deze in je environment variables.
Streaming-antwoorden
Schakel streaming in door stream: true in je verzoek in te stellen. De API retourneert een Server-Sent Events (SSE) stream. Elke chunk bevat een deel van de gegenereerde tekst. Dit is essentieel voor realtime applicaties of bij het genereren van lange scripts.
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)Parse de SSE-events aan de clientkant. De stream eindigt wanneer het model klaar is met genereren of de contextlimiet bereikt. Streaming vermindert de waargenomen latentie voor gebruikers. Het verandert de prijzen niet; je betaalt nog steeds per token.
Limieten, fouten en modellen
Controleer beschikbare modellen via GET /v1/models. Het enige model is uncensored. Rate limit is 300 verzoeken per minuut per sleutel. Het lichaam van het verzoek moet onder de 8 MB liggen. Prijzen zijn $0,25 per 1M input tokens en $1,00 per 1M output tokens. Credit verloopt nooit. Als je opgebruikt raakt, laad je op vanaf $10. Fouten: 401 voor ongeldige sleutels, 402 voor onvoldoende credit, 429 voor rate limits. Er wordt geen SLA of uptime-garantie geboden. Het model blokkeert seksuele inhoud met minderjarigen. Het weigert andere wettelijke volwassen of controversiële onderwerpen niet.