Solução de erros do Nano Banana
Valores dos parâmetros: Nano Banana: texto para imagem e tamanho.
Comece pelo sintoma
400 Request contains an invalid argument
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}Esse erro não indica qual é o parâmetro. Em nossas medições, todos os casos abaixo retornam esse erro:
Como investigar: primeiro remova imageConfig e tente novamente; se a geração funcionar, o problema está na proporção ou na resolução. Depois, adicione os campos de volta um a um para localizar o problema.
Proporção ou resolução incorreta
Primeiro verifique a largura e a altura reais da imagem de saída e depois compare com a tabela abaixo:
Forma correta:
{
"contents": [{ "parts": [{ "text": "..." }] }],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": { "aspectRatio": "9:16", "imageSize": "2K" }
}
}As duas grafias, imageConfig / image_config e aspectRatio / aspect_ratio, são reconhecidas; em nossas medições, image_config: { aspect_ratio: "9:16" } gerou corretamente 768×1376.
Nenhuma imagem na resposta
Em clientes como Cherry Studio e LobeHub, adicione o modelo como modelo de geração de imagens, e não como modelo de chat.
410 model_deprecated
{
"error": {
"message": "Model 'google/gemini-3-pro-image-preview' is deprecated and no longer accepts requests; please switch to an active model",
"type": "model_deprecated",
"code": 410
}
}Os IDs antigos terminados em -preview foram desativados; use os IDs da versão estável:
No caminho do endpoint nativo, o ID do modelo pode ter ou não o prefixo google/; em nossas medições, as duas formas funcionam.
O resultado da edição não tem relação com a imagem original
Para confirmar que a imagem de referência foi lida: no endpoint nativo, verifique se usageMetadata.promptTokensDetails contém um item IMAGE; no endpoint compatível com OpenAI, verifique usage.input_tokens_details.image_tokens. Em nossas medições, uma imagem de referência de 1024×1024 conta 1.120 tokens.
Bloqueio de segurança
Quando a requisição é bloqueada pela política de segurança, a resposta não contém imagem, e o motivo fica registrado em finishReason ou promptFeedback.blockReason. Significado de cada valor (conforme a definição oficial do Google):
O código não deve presumir que a resposta sempre contém uma imagem: verifique primeiro se candidates existe e se finishReason é STOP, e só então leia inlineData. Definição de cada campo em Gemini API · FinishReason .
Timeout, 504, 524
A API é síncrona. Em nossas medições, 1K leva cerca de 5 a 20 segundos e 4K, cerca de 30 segundos; nos horários de pico, demora mais. O timeout padrão comum de 60 segundos não é suficiente.
- Defina o timeout do cliente em 300 segundos ou mais.
- Verifique os timeouts de proxies intermediários como Nginx, Vercel e Cloudflare, cujo padrão costuma ser de apenas 60 a 100 segundos.
- Um PNG em 4K tem cerca de 16 MB e o corpo da resposta passa de 20 MB; confirme que os proxies não truncam respostas grandes.
Se o cliente desconectar antes, a requisição é cobrada mesmo assim.
Outros erros
Ao entrar em contato com o suporte técnico, informe o request_id da resposta e a mensagem de erro completa.
Perguntas frequentes
O que fazer quando o Nano Banana retorna Request contains an invalid argument?
Esse erro não indica qual é o parâmetro; normalmente, a proporção ou a resolução está fora do que o modelo suporta. Por exemplo, 5:3 não é uma proporção suportada; o Nano Banana 2 Lite só tem 1K; o Pro não tem 512; o máximo de todos os modelos é 4K. Primeiro remova imageConfig e tente novamente; depois, adicione os campos de volta um a um para localizar o problema.
Defini aspectRatio no Nano Banana, mas a proporção saiu errada. O que fazer?
Primeiro confirme que imageConfig está dentro de generationConfig, e não no nível superior do corpo da requisição. Depois confirme que o modelo suporta o valor: o Pro não suporta 1:4, 4:1, 1:8 nem 8:1; o Nano Banana da geração anterior não suporta imageSize.
Por que não encontro a imagem na resposta do Nano Banana?
A causa mais comum é o código ler só o primeiro item de parts, quando a imagem vem depois; percorra parts e procure inlineData. Outra causa é a requisição ter sido bloqueada pela política de segurança; nesse caso, finishReason não é STOP.
O que fazer quando gemini-3-pro-image-preview retorna 410 model_deprecated?
Os IDs da versão preview foram desativados. Substitua google/gemini-3-pro-image-preview por google/gemini-3-pro-image e google/gemini-3.1-flash-image-preview por google/gemini-3.1-flash-image.
O que fazer quando o Nano Banana retorna IMAGE_SAFETY?
IMAGE_SAFETY indica que a imagem gerada foi considerada uma violação pela política de segurança; repetir sem alterações dá o mesmo resultado. Altere o prompt, evitando pessoas reais, personagens protegidos por direitos autorais ou conteúdo sensível, e tente novamente.
A imagem de referência não teve efeito na edição com o Nano Banana?
input_images é um campo do Qwen-Image e não é suportado pelo Gemini. Envie o arquivo por /v1/images/edits ou, no endpoint nativo do Gemini, coloque a imagem como inlineData no mesmo parts que o texto.