Loading...
Loading...
Modelos Nano Banana de segunda geração para geração e edição de imagens por prompt, com maior fidelidade ao prompt que a versão original.
Entre para executar modelos
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/nano-banana-2/edit-image',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)O Nano Banana 2 é o gemini-3.1-flash-image do Google, e sua capability de edição é o cavalo de batalha do nosso catálogo de imagens. Expomos como google/nano-banana-2/edit-image, cobramos $0.04 por imagem editada no padrão de 1K, e um único request pode carregar até quatorze imagens de origem. A fal.ai lista o mesmo modelo a $0.08.
Não tem imagem de origem para trabalhar? Então o que você quer é o Nano Banana 2 text-to-image — mesmo modelo, mesmo preço, só prompt.
Vale dizer com todas as letras, porque os catálogos dos providers embaralharam isso: este não é o Nano Banana Pro. O Pro é o gemini-3-pro-image, mais ou menos o dobro do preço na origem. Se a tabela de outro site mostra "Nano Banana 2" com as specs do Pro, confira o ID do modelo Gemini embaixo.
Nosso preço em 26 de agosto de 2026:
| Provider de API | Preço por edição (1K) | vs. E2X |
|---|---|---|
| E2X | $0.04 | — |
| fal.ai | $0.08 | somos 50% mais baratos |
| WaveSpeed | $0.07 | somos 43% mais baratos |
| Google Gemini API | $0.067 | somos 40% mais baratos |
Os preços e as condições dos produtos podem mudar. Verifique o preço atual de cada provider antes de tomar uma decisão de compra. O preço do Google Batch ou Flex não é diretamente equivalente a um request de API on-demand padrão, porque as condições de agendamento, disponibilidade e processamento são diferentes; por isso ele ficou fora desta comparação. Esta é uma comparação de escopo limitado, não uma afirmação de que a E2X é a opção mais barata do mundo em qualquer configuração.
A resolução é o que mexe nesse número, em degraus fixos:
| Resolução | Multiplicador | Por edição | fal.ai |
|---|---|---|---|
| 1K (padrão) | ×1 | $0.04 | $0.08 |
| 2K | ×1,5 | $0.06 | $0.12 |
| 4K | ×2 | $0.08 | $0.16 |
Repare onde isso vai parar: uma edição em 4K conosco custa o que a fal.ai cobra por uma em 1K. A spec legível por máquina espelha esses valores.
O Google precifica o gemini-3.1-flash-image em exatamente metade do gemini-3-pro-image, e a diferença de capability é bem menor que a diferença de preço. Editar deixa essa assimetria ainda mais favorável — você está transformando uma imagem que já está do jeito certo, então sobra menos para o modelo inventar.
As partes que importam dentro de um pipeline:
resolution nenhum — 1K é tudo o que ele devolve. Se um asset editado precisa ir para impressão ou para um slot de hero retina, o Lite está fora da disputa.A latência mediana fica em torno de 8,4 segundos. Function calling não é suportado, então um loop de agente precisa orquestrar este modelo de fora.
Dois campos são obrigatórios: prompt e image_urls. Mantenha sua API key no servidor e envie o job.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana-2/edit-image",
"input": {
"prompt": "A imagem 1 é o tênis, a imagem 2 é a referência de superfície. Coloque o tênis sobre o concreto molhado da imagem 2, casando com os reflexos dele. Não altere o tênis nem o logo.",
"image_urls": [
"https://example.com/sneaker.png",
"https://example.com/concrete.jpg"
],
"aspect_ratio": "1:1",
"resolution": "2k"
}
}'
O submit devolve um job ID. Faça polling até ele assentar:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/nano-banana-2/edit-image",
input: {
prompt: "Mude a estação do lado de fora da janela para pleno inverno. Mantenha o cômodo, os móveis e a pessoa exatamente como estão.",
image_urls: ["https://example.com/interior.jpg"],
aspect_ratio: "3:2",
resolution: "1k",
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
for (;;) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
console.log(job.data.outputs[0].url);
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message ?? "Edit failed");
}
await new Promise((r) => setTimeout(r, 1500));
}
Os status vão de pending → processing → completed, ou param em failed / cancelled. Passe um webhookUrl no corpo do submit e nós te chamamos em vez disso.
Detalhes do schema que vale fixar: image_urls é um array mesmo quando há uma origem só, nosso default de aspect_ratio é 9:16 e não o ratio da própria imagem de origem, e os valores de resolution são em minúscula. Esse default é o que pega as pessoas de surpresa — mande uma foto em paisagem sem defini-lo e volta um recorte em retrato.
O Nano Banana 2 é nossa recomendação padrão para editar, mas não é a resposta certa para todo trabalho. Isto é o que mais rodamos:
| Modelo | Preço / edição | Escolha quando |
|---|---|---|
| Nano Banana 2 | $0.04 | Output em 2K/4K, composições com várias referências, edições com grounding |
| Nano Banana 2 Lite | $0.0238 | Edições 1K em volume, uma instrução por vez |
| Nano Banana Pro | $0.075 | Reescrever texto dentro de uma imagem, identidade rígida ao longo de um conjunto |
| Nano Banana (legado) | $0.0312 | Um pipeline que você ainda não migrou |
| GPT Image 2 | a partir de $0.0525 | Edição com mask, ou você quer o visual da OpenAI |
Se as suas edições são troca de fundo e correção de cor em 1K, vá para o Nano Banana 2 Lite — cerca de 40% mais barato, empatado em texto e em consistência de referências, e no volume essa diferença é a margem inteira. Dois motivos para não ir: o Lite trava em 1K para sempre, e ele fica menos confiável assim que o prompt pede para posicionar vários objetos corretamente. Essa segunda falha é sutil, então teste o seu pior prompt em vez de confiar num benchmark.
Suba para o Nano Banana Pro quando palavras legíveis dentro do quadro forem a entrega. Ignore a linha do legado a menos que você esteja preso nela: o Google agora classifica o gemini-2.5-flash-image como legado e recomenda o Nano Banana 2 Lite no lugar — mais novo e mais barato de uma vez. O resto está na categoria de edição de imagem e no catálogo de modelos inteiro.
O instinto herdado da geração é descrever a imagem pronta. Numa edição isso compete com a origem, e você recebe um re-render à deriva em vez da mudança que pediu.
Diga o que muda, depois diga o que não pode mudar. Nomear as regiões protegidas não é opcional — o modelo segura um rosto, um logo ou um rótulo muito melhor quando você avisa que aquilo está fora de alcance.
Indexe seus anexos no prompt. "A imagem 1 é o sujeito, a imagem 2 é só referência de iluminação" é o único sinal que o modelo tem sobre a sua intenção; sem isso, o anexo três vira mais um sujeito para incluir.
Edições encadeadas são onde a qualidade vaza sem avisar. Cada passagem recodifica, e pequenos desvios de identidade se acumulam ao longo de quatro ou cinco rodadas. Junte a sequência num request só, com todas as referências anexadas — dá os mesmos $0.04 de qualquer jeito, e o resultado em passagem única costuma sair mais limpo.
Todo output editado carrega um watermark SynthID. O Google aplica isso incondicionalmente, e nenhum provider — nós inclusive — expõe uma flag para desligar. Se um contrato proíbe assets gerados por IA, resolva isso antes de escrever a integração.
Fique de olho na qualidade do input. Uma origem mole e supercomprimida limita o output seja qual for a resolution que você pedir; pedir 4K a partir de um JPEG de 600px compra um upscale caro dos defeitos do original.
Reconfira o aspect_ratio a cada migração. O nosso tem default em retrato, os providers divergem, e um batch reenquadrado em silêncio é o tipo de bug que você percebe depois de publicar.
É a capability de edição do modelo gemini-3.1-flash-image do Google, exposta na nossa API como google/nano-banana-2/edit-image. Você manda uma ou mais imagens de origem mais uma instrução, e ele devolve uma imagem modificada em até 4K.
Nosso padrão em 1K é $0.04 por imagem editada; 2K sai $0.06 e 4K sai $0.08. Esses eram os preços na checagem de 26 de agosto de 2026. Preços mudam, então confirme na página do modelo ao vivo antes de comprometer um orçamento.
Até quatorze numa única chamada. Não existe divisão de papéis imposta entre elas — você diz ao modelo, no prompt, qual anexo é o sujeito, qual é fundo e qual é só referência de estilo.
Sim — nosso enum de resolution aceita 1k, 2k e 4k, e uma edição em 4K custa $0.08. Este é o principal motivo para escolhê-lo em vez do Nano Banana 2 Lite, que não tem parâmetro resolution e só devolve 1K.
Para os preços on-demand comparáveis que checamos naquela data, sim — $0.04 conosco contra $0.08 na fal.ai, 50% de economia num request 1K equivalente. Produtos de batch, tarifas promocionais e planos diferentes não entram nessa comparação.
Sim. Todo output inclui um watermark SynthID, o marcador imperceptível do Google para conteúdo gerado por IA. Nenhum provider oferece um parâmetro para removê-lo.
Porque nosso default de aspect_ratio é 9:16, não o ratio da imagem de origem. Defina aspect_ratio explicitamente em todo request — é de longe a surpresa mais comum quando alguém traz um pipeline de edição para cá.
Não. Você envia um job e ou faz polling em /v1/jobs/{id} ou fornece um webhookUrl para callback. Jobs concluídos expõem o resultado em data.outputs[0].url; a latência mediana do modelo fica em torno de 8,4 segundos.