O que você precisa antes de obter a API Nano Banana Pro
Você precisa de uma conta GPT Proto, saldo suficiente na conta para pelo menos uma geração e uma chave de API GPT Proto. Para integração manual, você também precisa de um terminal e Python 3. Se você não estiver confortável com código, use um agente de codificação que possa inspecionar e editar seu projeto real em vez de um chat em branco no navegador.
| Item |
Valor usado neste guia |
| Produto |
Nano Banana Pro |
| Família oficial do modelo |
Gemini 3 Pro Image |
| ID do modelo GPT Proto |
gemini-3-pro-image-preview |
| Tarefa |
Texto para imagem |
| Entrada |
Prompt de texto |
| Saída |
Imagem PNG ou JPEG |
| Tamanhos disponíveis |
1K, 2K e 4K |
O Google atualmente lista Nano Banana Pro e Nano Banana 2 como modelos separados em sua documentação de geração de imagens Gemini. Se o ID do modelo no seu código diz gemini-3.1-flash-image, você está chamando o Nano Banana 2 — não o modelo Pro abordado aqui.
Etapa 1: Abra e teste a página do modelo Nano Banana Pro
Abra a página da API Nano Banana Pro e faça login. Antes de tocar em qualquer código, use o Playground para executar um pequeno teste:
Mantenha a tarefa definida como Texto para Imagem.
Insira um prompt curto.
Escolha 1K, uma proporção de aspecto 1:1 e saída PNG.
Clique em Gerar e confirme que uma imagem é retornada.
Isso separa problemas do modelo de problemas de integração. Se a solicitação do Playground falhar, verifique a conta, o saldo e o prompt primeiro. Se ela funcionar, mas sua aplicação falhar, o problema provável é a chave de API, o cabeçalho da solicitação, o corpo JSON ou o ambiente do projeto.

Etapa 2: Crie sua chave de API Nano Banana Pro
Clique em Experimente este modelo no canto superior direito da página do modelo. O painel Início Rápido permite criar uma nova chave de API ou selecionar uma existente.
Clique em Criar chave de API.
Copie a nova chave e armazene-a em um local privado.
Adicione-a a uma variável de ambiente chamada GPTPROTO_API_KEY.
Não a cole diretamente no código-fonte.
No macOS ou Linux, defina a variável para a sessão atual do terminal com:
export GPTPROTO_API_KEY="your-api-key"
No Windows PowerShell, use:
$env:GPTPROTO_API_KEY="your-api-key"
Esta deve ser uma chave de API GPT Proto. Uma chave do Google AI Studio é uma credencial diferente e não autenticará uma solicitação enviada ao endpoint GPT Proto.
Trate a chave como uma senha. Mantenha-a fora do Git, capturas de tela, JavaScript do lado do navegador e chats públicos de IA. A orientação geral de segurança de chaves de API do Google também recomenda variáveis de ambiente e alerta contra expor chaves em aplicações do lado do cliente.

Etapa 3: Escolha integração manual ou assistida por IA
Depois de criar a chave, escolha a rota que corresponde à sua experiência.
| Rota |
Melhor para |
O que acontece a seguir |
| Integração manual |
Você consegue ler Python, JavaScript ou cURL |
Copie a solicitação, execute-a e adicione o fluxo de resultado à sua aplicação |
| Integração assistida por IA |
Você não sabe onde o código da API deve ficar |
Entregue o Markdown da página do modelo a um agente de codificação e faça com que ele modifique o projeto |
Se você já conhece Python, a rota manual é mais rápida. Se sua verdadeira pergunta é “Em qual arquivo este código deve ficar?”, use a rota assistida por IA.
Rota A: Chamar a API Nano Banana Pro com Python
Envie uma primeira solicitação com cURL
Esta solicitação inicia uma tarefa de geração assíncrona. Normalmente, retorna um ID de tarefa em vez da imagem finalizada.
curl --request POST "https://gptproto.com/api/v3/google/gemini-3-pro-image-preview/text-to-image" \
--header "Authorization: Bearer $GPTPROTO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"prompt": "A tiny origami fox sailing a teacup across a moonlit puddle",
"size": "1K",
"aspect_ratio": "1:1",
"output_format": "png",
"enable_sync_mode": false,
"enable_base64_output": false
}'
Uma submissão bem-sucedida inclui data.id, data.status, e data.urls.get. A lista de saída ainda pode estar vazia enquanto o status for created ou running. Isso é esperado.
Instale a dependência Python
python -m pip install requests
Execute um script completo de envio e polling
Salve o script a seguir como nano_banana_pro.py. Ele envia o prompt, verifica a tarefa a cada dois segundos, para em caso de falha e imprime a URL final da imagem.
import os
import time
import requests
API_KEY = os.environ.get("GPTPROTO_API_KEY")
SUBMIT_URL = (
"https://gptproto.com/api/v3/google/"
"gemini-3-pro-image-preview/text-to-image"
)
if not API_KEY:
raise RuntimeError("Set GPTPROTO_API_KEY before running this script.")
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
payload = {
"prompt": "A tiny origami fox sailing a teacup across a moonlit puddle",
"size": "1K",
"aspect_ratio": "1:1",
"output_format": "png",
"enable_sync_mode": False,
"enable_base64_output": False,
}
def read_data(response):
response.raise_for_status()
body = response.json()
if body.get("code") != 200:
raise RuntimeError(body.get("message", "GPT Proto returned an error."))
return body["data"]
submission = requests.post(
SUBMIT_URL,
headers=headers,
json=payload,
timeout=60,
)
task = read_data(submission)
result_id = task["id"]
poll_url = task.get("urls", {}).get("get")
if not poll_url:
poll_url = f"https://gptproto.com/api/v3/predictions/{result_id}/result"
print(f"Created task: {result_id}")
deadline = time.monotonic() + 300
while True:
status = task.get("status")
if status == "completed":
outputs = task.get("outputs", [])
if not outputs:
raise RuntimeError("The task completed without an output URL.")
print(f"Image URL: {outputs[0]}")
break
if status == "failed":
raise RuntimeError(task.get("error") or "Image generation failed.")
if time.monotonic() >= deadline:
raise TimeoutError("Generation did not finish within five minutes.")
time.sleep(2)
result = requests.get(
poll_url,
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=30,
)
task = read_data(result)
Execute-o no mesmo terminal onde você definiu a variável de ambiente:
python nano_banana_pro.py
Não trate o primeiro POST bem-sucedido como uma geração concluída. A solicitação só terá sucesso de ponta a ponta quando o status se tornar completed e data.outputs contiver uma URL de arquivo.
Rota B: Deixe um agente de codificação integrar a API
Você não precisa redigitar a documentação da API para um assistente de IA. A página do modelo Nano Banana Pro pode enviar a ele o endpoint atual, o esquema, o método de autenticação, os campos de resposta e exemplos de código.
Abra Experimente este modelo e escolha Copiar Markdown para IA. Você também pode abrir o menu LLMs e escolher uma das seguintes opções:
Copiar conteúdo Markdown
Abrir arquivo Markdown
Copiar prompt com URL
Abrir no ChatGPT
Abrir no Claude
Abrir no Gemini
Abrir no Grok
A versão legível por máquina também está disponível no guia Markdown do Nano Banana Pro da página do modelo.

Entregue ao agente seu projeto, não apenas um chat em branco
Um chatbot de navegador pode explicar código, mas pode não conhecer suas pastas, framework, ponto de entrada do servidor ou configuração de implantação. Um agente de codificação como Codex, Claude Code ou Cursor pode inspecionar esses arquivos e colocar a integração na parte correta do projeto.
O agente ainda precisa de:
acesso à pasta do projeto;
permissão para editar os arquivos relevantes;
um ambiente de execução Python, Node.js ou outro em funcionamento;
as instruções Markdown da página do modelo; e
uma chave de API fornecida por meio de uma variável de ambiente ou gerenciador de segredos.
Isto é codificação assistida por IA, não uma API sem código. O agente escreve e conecta o código, enquanto você aprova as alterações e fornece o ambiente de execução e as credenciais.
Instrua o agente de codificação
Cole o Markdown copiado no agente e adicione esta instrução:
Integre a API de texto para imagem do GPT Proto Nano Banana Pro neste projeto usando a documentação Markdown em anexo. Primeiro, inspecione a stack existente e identifique o arquivo correto do lado do servidor. Armazene a chave de API em uma variável de ambiente chamada GPTPROTO_API_KEY; nunca a codifique diretamente ou a exponha em código do lado do navegador. Implemente o envio de solicitações, polling assíncrono de status, tratamento de tarefas com falha e exibição da URL da imagem retornada. Adicione apenas os arquivos necessários para esta integração. Execute um teste mínimo e, em seguida, informe quais arquivos você alterou, como iniciar o projeto e qualquer etapa que eu ainda precise concluir manualmente.
Não cole a chave real na instrução. Defina-a no seu terminal, em um arquivo .env local excluído do Git, ou nas configurações de segredos da sua plataforma de implantação.
Verifique o trabalho do agente antes de aceitá-lo
Você não precisa entender cada linha para fazer uma revisão útil. Verifique estes oito itens:
A chave é lida de GPTPROTO_API_KEY.
A chave não está presente em código do navegador ou em um arquivo commitado.
O ID do modelo é gemini-3-pro-image-preview.
O código chama o endpoint de texto para imagem mostrado neste guia.
Ele lê data.id ou data.urls.get após o envio.
Ele espera por completed e trata failed.
Ele lê a URL final de data.outputs.
O agente executou um teste mínimo real em vez de apenas dizer que o código parece correto.
Experimente antes de conectar a aplicação completa: Abra o Playground do Nano Banana Pro, valide o prompt em 1K e depois passe as mesmas configurações para o seu agente de codificação.
Parâmetros e preços da API Nano Banana Pro
A solicitação básica de texto para imagem precisa apenas de um prompt. Os outros campos controlam o formato de saída e resposta.
| Parâmetro |
Obrigatório |
Padrão |
Valores aceitos ou finalidade |
prompt |
Sim |
— |
Descrição da imagem a gerar |
size |
Não |
1K |
1K, 2K, ou 4K |
aspect_ratio |
Não |
1:1 |
1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, ou 21:9 |
output_format |
Não |
png |
png ou jpeg |
enable_sync_mode |
Não |
false |
Aguardar o resultado enviado antes de retornar |
enable_base64_output |
Não |
false |
Retornar dados Base64 em vez de uma URL |
A página ativa do modelo GPT Proto listou as seguintes tarifas quando este guia foi verificado em setembro de 2026:
| Resolução |
Preço por geração |
| 1K |
$0.0804 |
| 2K |
$0.0804 |
| 4K |
$0.144 |
Criar uma chave não torna as chamadas de imagem gratuitas. Cada geração bem-sucedida consome saldo da conta. Verifique a página ativa do modelo antes de iniciar um grande lote, pois disponibilidade e tarifas podem mudar.
Para trabalho inicial de prompt, comece em 1K. Mude para 4K somente depois que a composição, o texto e a proporção de aspecto estiverem corretos. O tradeoff é simples: 4K produz um asset maior, mas custa mais por tentativa.
Erros comuns da API Nano Banana Pro
| Problema |
Causa provável |
O que fazer |
400 Bad Request |
JSON inválido, nome de campo, valor ou entrada bloqueada |
Compare a solicitação com o esquema atual da página do modelo |
401 Unauthorized |
Chave ausente ou inválida |
Confirme GPTPROTO_API_KEY e o cabeçalho Authorization
|
403 Forbidden |
Saldo insuficiente ou permissão ausente |
Verifique o saldo da conta e o status da chave |
413 Request Entity Too Large |
O corpo da solicitação é muito grande |
Reduza o conteúdo enviado ou em Base64 |
429 Too Many Requests |
As chamadas estão chegando rápido demais |
Tente novamente com atrasos crescentes e limite o número de tentativas |
500, 502, ou 504 |
Falha temporária da plataforma ou do upstream |
Tente novamente um número limitado de vezes; não crie um loop infinito |
| A resposta não tem imagem |
A tarefa ainda está created ou running |
Consulte data.urls.get até que termine |
O status se torna failed |
A geração não foi concluída |
Leia data.error antes de tentar novamente |
| O agente diz que terminou, mas nada executa |
Ele escreveu código sem executá-lo |
Peça o comando de teste exato e o status retornado |
Para falhas transitórias, use backoff exponencial em vez de enviar a mesma solicitação repetidamente sem atraso. Também registre o ID do resultado: ele fornece uma tarefa específica para inspecionar em vez de um relatório vago de “falha na geração”.
Comece com uma geração verificada
Se você escreve código, comece com a solicitação cURL e depois use o script Python completo para enviar e fazer polling da tarefa. Se você não escreve código, copie o Markdown da página do modelo em um agente de codificação e peça que ele integre o mesmo fluxo dentro do seu projeto.
Em ambos os casos, verifique uma imagem 1K antes de construir um fluxo de trabalho maior. Abra a página da API Nano Banana Pro, teste o prompt e use Experimente este modelo para criar sua chave ou entregar as instruções de integração atuais ao seu agente de codificação.