PT ▾

API de texto sem censura para seu pipeline

API Nano Banana: prompts e scripts por um único endpoint

Comece a usar a API Nano Banana em minutos. Este guia cobre autenticação, requisições básicas, streaming e chamada de funções usando o formato compatível com OpenAI.

Autenticação e URL Base

Acesse a nano banana api apontando seu cliente para https://api.nanobananaapis.com/v1. Você precisa de uma chave de API válida no cabeçalho Authorization. Cadastre-se na página Obter chave de API com apenas e-mail e senha para receber sua chave instantaneamente. A chave é exibida imediatamente após o cadastro. Se você a perder, gere uma nova no seu painel; a chave antiga deixa de funcionar imediatamente.

Use Bearer YOUR_API_KEY para cada requisição. O ID do modelo é sempre uncensored. Este endpoint lida com entrada e saída de texto. Ele não gera imagens, áudio ou vídeo. Para pipelines multimodais, use esta API para escrita de prompts, geração de scripts e pós-processamento.

Primeira Requisição

Envie uma requisição padrão de conclusão de chat. A API suporta o formato OpenAI. Substitua YOUR_API_KEY pela sua chave real. Este exemplo envia uma mensagem simples para o modelo sem 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."}]
  }'

A resposta contém o texto gerado. Você pode inspecionar as contagens de tokens de uso no corpo da resposta. A janela de contexto é de 100.000 tokens no total para o prompt e a conclusão. Mantenha seus dados abaixo de 8 MB.

Exemplo de SDK Python

Use o SDK Python oficial da OpenAI. Defina a URL base para o endpoint nanobananaapis. Passe sua chave de API como api_key. O cliente formatará automaticamente as requisições corretamente. Este método é ideal para scripts de backend que precisam processar texto antes de enviá-lo para um serviço de geração de imagem ou vídeo.

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)

O SDK cuida do streaming e parsing para você. Você pode iterar sobre os chunks se habilitar o modo streaming. Esta abordagem mantém seu código limpo e compatível com outros serviços OpenAI caso você mude de provedor mais tarde.

Exemplo de SDK Node.js

O SDK Node.js funciona de forma semelhante. Inicialize o cliente com sua URL base e chave. Chame o método chat.completions.create. Isso é útil para funções serverless ou servidores web que precisam gerar scripts 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);

Certifique-se de tratar os erros adequadamente. Erros comuns incluem falhas de autenticação (401) se a chave for inválida ou expirada, e limites de taxa (429) se você exceder 300 requisições por minuto. A chave de API está vinculada à sua conta, portanto, proteja-a nas suas variáveis de ambiente.

Respostas em Streaming

Ative o streaming definindo stream: true na sua requisição. A API retorna um fluxo de Eventos Enviados pelo Servidor (SSE). Cada fragmento contém parte do texto gerado. Isso é essencial para aplicações em tempo real ou ao gerar roteiros longos.

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)

Analise os Eventos Enviados pelo Servidor no seu lado do cliente. O fluxo termina quando o modelo termina de gerar ou atinge o limite da janela de contexto. O streaming reduz a latência percebida para os usuários. Isso não altera o preço; você ainda paga por token.

Limites, Erros e Modelos

Verifique os modelos disponíveis via GET /v1/models. O único modelo é uncensored. O limite de requisições é de 300 requisições por minuto por chave. O corpo da requisição deve ter menos de 8 MB. O preço é $0,25 por 1M de tokens de entrada e $1,00 por 1M de tokens de saída. O crédito nunca expira. Se acabar, recarregue a partir de $10. Erros: 401 para chaves inválidas, 402 para crédito insuficiente, 429 para limites de taxa. Não há Acordo de Nível de Serviço nem garantia de disponibilidade. O modelo bloqueia conteúdo sexual envolvendo menores. Ele não recusa outros tópicos adultos ou controversos lícitos.

Perguntas e respostas

Esta é a API oficial da OpenAI?

Não. É uma API compatível com OpenAI que executa nosso próprio modelo de pesos abertos. Usa o mesmo formato de requisição e SDKs, mas é um serviço separado. Consulte a documentação oficial da OpenAI para recursos e limites específicos.

Vocês armazenam meus prompts para treinamento?

Não. Não usamos seus prompts para treinar o modelo. Seus dados são usados apenas para gerar a resposta para aquela requisição. A privacidade é um recurso central do fluxo de trabalho sem censura.

Posso usar isso para prompts de geração de imagens?

Sim. Esta API é ideal para gerar prompts de texto para modelos de imagem, áudio ou vídeo. Ela cuida da parte de texto do seu pipeline. Não geramos os arquivos de mídia nós mesmos.

Sua chave está a um formulário de distância

Crie uma conta, copie a chave, altere a URL base. Essa é toda a configuração.

Obter chave de API

Ficha técnica da API

Uma tabela com cada limite, recurso e preço.

ItemValor
Formatocompatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave
AutenticaçãoAuthorization: Bearer YOUR_KEY
ID do modelouncensored
EndpointsPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
Modo JSONresponse_format: {"type": "json_object"}
Saída máximaaté o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado)
Parâmetrostemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Streamingsim — server-sent events; o último bloco traz o uso de tokens
Chamada de funçõessim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool
Janela de contexto100.000 tokens (entrada + saída)
Tamanhoaté 8 MB por requisição
CabeçalhosX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Concorrência8 requisições ao mesmo tempo por chave
Limite de taxa300 requisições por minuto por chave
RecargaUSDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500
Bônus+5% a partir de $50, +10% a partir de $100
Cobrançacrédito pré-pago pelo uso real; erros e recusas são grátis
Teste grátis$0,50 por 7 dias, sem cartão · Chave de teste: 2 requisições paralelas, 60 por minuto; limites totais (8 e 300) após a primeira recarga
Preço$0,25 por 1M tokens de entrada · $1,00 por 1M de saída
Validadecrédito pago não expira, sem assinatura
Chavesuma chave ativa por conta; uma nova substitui a anterior
LoginGoogle ou e-mail e senha
Conteúdoconteúdo adulto permitido; conteúdo sexual com menores é recusado

Erros e o que fazer

Erros chegam em JSON com um type fixo; requisições com falha ou recusadas não são cobradas.

CódigoTipoSignificado
400bad_requestJSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais
401missing_key · invalid_key · key_revokedchave ausente, errada ou substituída
402no_creditsem crédito — recarregue e continue na hora
403content_blockedconteúdo sexual com menores — recusado, sem cobrança
404not_foundendpoint desconhecido
413request_too_largecorpo acima de 8 MB
429rate_limited · concurrencyacima de 300/min ou 8 em paralelo — aguarde e tente de novo
503upstream_busymodelo ocupado — tente em alguns segundos