
Cómo usar la API de Nano Banana 2: Tutorial completo con ejemplos de código (2026)

Resumen
- Nano Banana 2 (
gemini-3.1-flash-image-preview) se lanzó el 26 de feb. de 2026 — calidad de nivel Pro a velocidad Flash - Requiere una clave API de pago. La cuota gratuita para generación de imágenes es cero
- Precios de Google: $0.101/imagen (2K), $0.150/imagen (4K). EvoLink ofrece ~20 % menos a $0.0806 (2K)
- Tres formas de acceder: Google AI Studio (sin código), Gemini API (Python/Node.js) o a través de un gateway unificado
- Este tutorial te permite generar imágenes en menos de 10 minutos
¿Qué es Nano Banana 2?
Nano Banana 2 es el modelo de generación de imágenes más reciente de Google, basado en Gemini 3.1 Flash Image. El 26 de febrero de 2026, Nano Banana 2 reemplazó a Nano Banana Pro como el modelo de imagen predeterminado en los modos Fast, Thinking y Pro de la aplicación Gemini.
gemini-3-pro-image-preview), que es un modelo diferente optimizado para máxima fidelidad. NB2 apuesta por velocidad y costo — calidad casi de nivel Pro, significativamente más rápido.- ID del modelo:
gemini-3.1-flash-image-preview - Resolución: 512px a 4K, relaciones de aspecto nativas incluyendo 4:1, 1:4, 8:1, 1:8
- Consistencia de sujetos: Hasta 5 personajes + 14 objetos por generación
- Renderizado de texto: Texto multilingüe mejorado dentro de la imagen
- Niveles de Thinking: Mínimo (predeterminado) vs. Alto/Dinámico para prompts complejos
- Identificación de IA: SynthID + C2PA Content Credentials
Requisitos previos: Lo que necesitas antes de empezar
Aquí es donde la mayoría de los desarrolladores se atascan. En Reddit, la queja número 1 es recibir errores de cuota sin entender por qué.
Si lo intentas con una clave gratuita, obtendrás:
"Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_input_token_count, limit: 0"
Opción A: Facturación de Google Cloud
- Ve a Google AI Studio
- Haz clic en Get API Key → Create API key
- Vincula una cuenta de facturación en Google Cloud Console → Billing
- Habilita la Gemini API en tu proyecto
- Tu clave ahora funciona para la generación de imágenes
Opción B: Gateway de terceros
Método 1: Google AI Studio (sin código)
La forma más rápida de probar sin escribir código:
- Abre AI Studio
- Selecciona
gemini-3.1-flash-image-previewen el menú desplegable de modelos - Escribe un prompt: "Un cachorro de golden retriever fotorrealista en un prado soleado"
- Haz clic en Run
Si ves "only available for paid tier users", tu facturación aún no está vinculada (consulta los Requisitos previos arriba).
Ideal para probar prompts antes de escribir código de integración.
Método 2: Gemini API directa
Python
pip install google-generativeaiimport google.generativeai as genai
import base64
genai.configure(api_key="YOUR_PAID_API_KEY")
model = genai.GenerativeModel("gemini-3.1-flash-image-preview")
response = model.generate_content(
"A photorealistic golden retriever puppy sitting in a sunlit meadow, "
"soft bokeh background, warm afternoon light",
generation_config=genai.GenerationConfig(
response_modalities=["image", "text"], # Optional; model defaults to both text and image
),
)
for part in response.parts:
if part.inline_data:
image_data = base64.b64decode(part.inline_data.data)
with open("output.png", "wb") as f:
f.write(image_data)
print("Image saved to output.png")
elif part.text:
print(f"Response: {part.text}")Node.js
npm install @google/generative-aiconst { GoogleGenerativeAI } = require("@google/generative-ai");
const fs = require("fs");
const genAI = new GoogleGenerativeAI("YOUR_PAID_API_KEY");
async function generateImage() {
const model = genAI.getGenerativeModel({
model: "gemini-3.1-flash-image-preview",
});
const result = await model.generateContent({
contents: [
{
role: "user",
parts: [
{
text: "A photorealistic golden retriever puppy sitting in a sunlit meadow, soft bokeh background, warm afternoon light",
},
],
},
],
generationConfig: {
responseModalities: ["image", "text"],
},
});
const response = result.response;
for (const part of response.candidates[0].content.parts) {
if (part.inlineData) {
const buffer = Buffer.from(part.inlineData.data, "base64");
fs.writeFileSync("output.png", buffer);
console.log("Image saved to output.png");
} else if (part.text) {
console.log("Response:", part.text);
}
}
}
generateImage();Método 3: Gateway compatible con OpenAI (EvoLink)
Si ya usas el SDK de OpenAI, puedes generar imágenes sin cambiar la estructura de tu código — solo apunta a una URL base diferente.
Python (OpenAI SDK)
pip install openaifrom openai import OpenAI
client = OpenAI(
api_key="YOUR_EVOLINK_API_KEY",
base_url="https://api.evolink.ai/v1",
)
response = client.chat.completions.create(
model="gemini-3.1-flash-image-preview",
messages=[
{
"role": "user",
"content": "A photorealistic golden retriever puppy sitting in a sunlit meadow",
}
],
)
print(response.choices[0].message.content)Node.js (OpenAI SDK)
npm install openaiconst OpenAI = require("openai");
const client = new OpenAI({
apiKey: "YOUR_EVOLINK_API_KEY",
baseURL: "https://api.evolink.ai/v1",
});
async function generateImage() {
const response = await client.chat.completions.create({
model: "gemini-3.1-flash-image-preview",
messages: [
{
role: "user",
content:
"A photorealistic golden retriever puppy sitting in a sunlit meadow",
},
],
});
console.log(response.choices[0].message.content);
}
generateImage();¿Por qué usar un gateway? Una clave API para múltiples modelos (NB2, Pro, GPT-4o Image, Seedream). Sin configuración de facturación de Google Cloud. Mismo modelo, misma salida.
Desglose de precios
| Resolución | Google directo | EvoLink | Ahorro |
|---|---|---|---|
| 2K | $0.101 | $0.0806 | ~20 % |
| 4K | $0.150 | $0.1210 | ~19 % |
Los costos de tokens de texto son insignificantes (~$0.0001 por prompt). El costo principal está en el token de salida de imagen.
Para cargas de trabajo por lotes (más de 100 imágenes/día), los ahorros se acumulan rápidamente.
Consejos de Prompt Engineering
Sé específico
❌ "A dog"
✅ "A photorealistic golden retriever puppy sitting in a sunlit meadow, soft bokeh background, warm afternoon light"
Usa palabras clave de estilo
photorealistic, cinematic, studio lighting, 35mm filmwatercolor, oil painting, digital art, anime, pixel artAprovecha los niveles de Thinking
Para prompts complejos con múltiples sujetos, activa un nivel de thinking más alto:
generation_config=genai.GenerationConfig(
response_modalities=["image", "text"],
thinking_config={"thinking_budget": 1024}, # Higher = more reasoning
)Edición Multi-Turn
Genera una imagen y luego refínala en mensajes posteriores:
Turn 1: "A modern minimalist living room with a large window"
Turn 2: "Add a orange tabby cat sleeping on the couch"
Turn 3: "Change the time to sunset, warm golden light through the window"
Solución de problemas
Error de cuota excedida
"Quota exceeded for metric: generate_content_free_tier_input_token_count"
400 Bad Request
Causas comunes:
- Error tipográfico en el ID del modelo
- Relación de aspecto no soportada
Respuesta de texto en lugar de imagen
responseModalities es opcional. El modelo devuelve tanto texto como imagen por defecto. Si tu SDK/cliente devuelve solo texto, configura responseModalities para incluir IMAGE:generation_config=genai.GenerationConfig(
response_modalities=["image", "text"],
)Preguntas frecuentes
R: No. La generación de imágenes requiere una clave API de pago con facturación habilitada. La cuota del nivel gratuito es 0.
gemini-3.1-flash-image-preview. No confundir con gemini-3-pro-image-preview (Pro) o gemini-2.5-flash-image (original).R: 2K: $0.101 directo con Google. 4K: $0.150. Más costos insignificantes de tokens de texto (~$0.0001/prompt). Precios a febrero de 2026.
R: Los límites de RPM de Google varían según el nivel de facturación y no están completamente documentados. Implementa retroceso exponencial para errores 429.
R: Sí. Mediante conversaciones multi-turn: genera una imagen y luego describe las ediciones en mensajes posteriores.
R: 512px, 1K, 2K, 4K. Relaciones de aspecto: 1:1, 16:9, 9:16, 4:3, 3:4, 4:1, 1:4, 8:1, 1:8.
R: SynthID (invisible) + C2PA Content Credentials. No son visualmente visibles, pero son detectables por herramientas de verificación.
gemini-3-pro-image-preview a gemini-3.1-flash-image-preview. La interfaz de la API es idéntica, no se necesitan otros cambios en el código.Empieza a generar
Tres pasos:
- Obtén una clave API de pago (Google AI Studio o evolink.ai/signup)
- Copia el código de arriba
- Ejecútalo


