Gemini 3 Pro Image vs Gemini Nano Banana 2.1
Qual usar e quando
São dois níveis da linha de imagem do Google. O gemini-nano-banana-2.1 custa $1.5 por milhão de tokens de entrada e $30 por milhão de tokens de saída de imagem, contra $2 e $120 do gemini-3-pro-image, 4x menos na saída. O gemini-3-pro-image é o nível profissional: ele pode se basear no Google Search, não tem controle do nível de raciocínio, enquanto o gemini-nano-banana-2.1 oferece três, e uma imagem 4K consome 2000 tokens de saída nele, enquanto o gemini-nano-banana-2.1 usa 3780. O gemini-nano-banana-2.1 aceita vídeo além de texto e imagem como entrada e tem um contexto de 131072 tokens contra 65536. Escolha o gemini-nano-banana-2.1 para volume e iteração, e o gemini-3-pro-image quando quiser o nível de imagem mais alto do Google.
Preços
| Gemini 3 Pro Image | Gemini Nano Banana 2.1 | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $2 | $1.5 | 1.3× |
| Saída / 1M tokens | $120 | $30 | 4× |
Tarifas do catálogo em tempo real, lidas no momento do build; a página de cada modelo traz a tabela de preços atual.
Onde cada um fica: preço de saída por 1M tokens entre os 11 modelos de geração de imagens com esta unidade de cobrança (escala logarítmica)
Especificações
| Gemini 3 Pro Image | Gemini Nano Banana 2.1 | |
|---|---|---|
| Modalidades de entrada | texto imagem | texto imagem vídeo |
| Modalidades de saída | texto imagem | texto imagem |
| Lançamento | 2025-11 | 2026-10-06 |
| Tamanhos de saída |
|
|
| Modos de entrada | text-to-image, image editing, up to 14 reference images | text-to-image, single-turn and multi-turn editing, up to 14 reference images |
| Notas | Professional-grade, reasoning-driven image generation and editing (Nano Banana Pro) accurate text rendering real-world grounding via Google Search image+text in, image+text out | 1K, 2K and 4K output at fifteen aspect ratios (1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 9:21, 1:4, 4:1, 1:8, 8:1) up to 14 reference images per request single-turn editing and multi-turn conversational iteration |
As especificações são transcritas da documentação de cada provedor; quando um provedor não publica um dado, a linha é omitida, e não inferida. Fontes completas: Gemini 3 Pro Image · Gemini Nano Banana 2.1
Um prompt, os dois modelos, medidos pelo gateway
Um prompt, uma requisição por modelo, sem novas tentativas e sem escolher o melhor resultado: é o primeiro que cada modelo retornou. Nem o tamanho nem a duração foram fixados; cada modelo usou seu próprio padrão, porque uma requisição ajustada para servir a todos não mostraria o melhor de nenhum. Os arquivos foram recodificados para a web, então avalie a composição e a aderência ao prompt, e não a compressão.
Troque de um para o outro mudando uma linha
Os dois ids estão em todas as abas abaixo; o par de linhas destacado é a única alteração. O endpoint, a chave e o formato da requisição são os mesmos.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.images.generate(
model="gemini-3-pro-image",
# model="gemini-nano-banana-2.1", # descomente esta linha, comente a linha acima
prompt="a watercolor lighthouse at dawn",
size="1024x1024",
)
print(resp.data[0].b64_json[:80])import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.images.generate({
model: "gemini-3-pro-image",
// model: "gemini-nano-banana-2.1", // descomente esta linha, comente a linha acima
prompt: "a watercolor lighthouse at dawn",
size: "1024x1024",
});
console.log(resp.data?.[0]?.b64_json?.slice(0, 80));curl https://synthorai.io/v1/images/generations \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3-pro-image",
# "model": "gemini-nano-banana-2.1", # descomente esta linha, comente a linha acima
"prompt": "a watercolor lighthouse at dawn",
"size": "1024x1024"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Images.Generate(context.TODO(), openai.ImageGenerateParams{
Model: "gemini-3-pro-image",
// Model: "gemini-nano-banana-2.1", // descomente esta linha, comente a linha acima
Prompt: "a watercolor lighthouse at dawn",
Size: "1024x1024",
})
fmt.Println(resp.Data[0].B64JSON[:80])
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.images.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ImagesResponse resp = client.images().generate(
ImageGenerateParams.builder()
.model("gemini-3-pro-image")
// .model("gemini-nano-banana-2.1") // descomente esta linha, comente a linha acima
.prompt("a watercolor lighthouse at dawn")
.size("1024x1024")
.build());
System.out.println(resp.data().orElseThrow().get(0).b64Json().orElseThrow().substring(0, 80));Perguntas frequentes
Qual é mais barato, Gemini 3 Pro Image ou Gemini Nano Banana 2.1?
Gemini Nano Banana 2.1 sai mais barato na linha “Entrada / 1M tokens” ($1.5 contra $2, 1.3× de diferença). Outras linhas podem pender para o outro lado: a tabela acima mostra todos os preços, e o custo real depende do seu mix de uso.
Posso fazer um teste A/B de Gemini 3 Pro Image contra Gemini Nano Banana 2.1 sem duas integrações?
Sim. Os dois são servidos pelo mesmo endpoint compatível com OpenAI, com uma única chave de API. Para trocar, basta mudar uma linha, a string do modelo; assim você pode direcionar uma parte do tráfego para cada um e comparar as contas diretamente.
O preço muda com o tamanho da imagem?
Depende de como o modelo cobra. Os modelos com preço por imagem cobram o mesmo valor, seja qual for o prompt ou o tamanho da saída; nos modelos cobrados por token, o custo cresce com a resolução gerada, então uma imagem 4K custa várias vezes o preço de uma pequena. A tabela acima mostra qual é o caso de cada um.