Nano Banana API: clave, documentación y tutorial con código
Nano Banana se usa con la Gemini API: crea la clave en AI Studio y llama a gemini-nano-banana-2.1. Nano Banana 2 está obsoleto, aunque sin fecha de cierre.
En esta página

La API oficial de Nano Banana no es un producto aparte: son los modelos de generación de imágenes de la Gemini API de Google. Para usarla creas una clave en Google AI Studio, instalas el SDK google-genai (Python) o @google/genai (JavaScript) y envías la petición a gemini-nano-banana-2.1, el modelo que la documentación de Google recomienda para todo proyecto nuevo. La salida de imágenes por API se paga desde la primera: no tiene nivel gratuito.
Qué cambió el 8 de octubre de 2026. Nano Banana 2.1 (gemini-nano-banana-2.1) es estable desde el 6 de octubre y sustituye a Nano Banana 2 (gemini-3.1-flash-image) como modelo por defecto en todo el código de esta página. Google ha declarado Nano Banana 2 obsoleto en la Gemini API, sin fecha de cierre anunciada, y los destinos de migración de los IDs retirados apuntan ya a 2.1. Si partes de código de 2025 o de principios de 2026, revisa primero la tabla de migración: los IDs terminados en -preview dejaron de responder el 25 de junio de 2026.
Los fragmentos de código siguen los ejemplos de la guía de generación de imágenes de la Gemini API a 8 de octubre de 2026 y no se han ejecutado contra la API de Google. La única ejecución real disponible son ocho llamadas a gemini-nano-banana-2.1 hechas ese mismo día a través de la API de LaoZhang, en formato generateContent; sus resultados aparecen solo donde cambian una decisión (tamaño 512, píxeles reales, tokens de razonamiento, coste).
Qué es exactamente la API de Nano Banana
Google define Nano Banana como el nombre de las capacidades nativas de generación de imágenes de Gemini. En la página de generación de imágenes eso se concreta en cinco modelos:
| Nombre comercial | Model ID | Cómo lo describe Google | Estado en la Gemini API |
|---|---|---|---|
| Nano Banana 2.1 | gemini-nano-banana-2.1 | Actualización de Nano Banana 2 y principal modelo de alta eficiencia para generar y editar en conversación: mejor calidad visual, texto más legible y más coherencia entre turnos | Estable desde el 6 de octubre de 2026; el recomendado para proyectos nuevos |
| Nano Banana 2 Lite | gemini-3.1-flash-lite-image | El más rápido y barato; no está optimizado para varias imágenes de referencia ni para edición por turnos | Estable |
| Nano Banana Pro | gemini-3-pro-image | Para las tareas visuales más complejas: localización avanzada, coherencia de marca, control creativo fino | Estable |
| Nano Banana 2 | gemini-3.1-flash-image | La generación anterior; Google recomienda 2.1 para todo proyecto nuevo | Obsoleto, sin fecha de cierre anunciada |
| Nano Banana | gemini-2.5-flash-image | La primera generación, ya heredada | Obsoleto; las páginas de Google dan dos fechas de cierre distintas (ver migración) |
Todas las imágenes que generan llevan la marca de agua invisible SynthID.
Hay varias webs con "Nano Banana API" en el nombre que publican su propia documentación REST, con tokens, precios y formato de petición propios. No son la API de Google, y lo que cuenten sobre límites o funciones solo vale para su servicio. Si una guía te pide registrarte fuera de Google para conseguir "la clave de Nano Banana", estás ante uno de esos intermediarios.
Dentro de la Gemini API hay dos formas de llamar a estos modelos:
- Interactions API: el endpoint
/v1beta/interactions. Google lo recomienda para todo desarrollo nuevo, guarda el historial en el servidor para los cambios por turnos y devuelve la respuesta como una lista de pasos (steps). La página de generación de imágenes solo muestra código de Interactions. generateContent: el endpoint clásico/v1beta/models/{modelo}:generateContent. Según la guía de migración a Interactions, sigue plenamente soportado; es lo que verás en casi todo el código anterior a 2026.
Las novedades de 2.1 frente a Nano Banana 2, con precio y pruebas de llamada, están en Nano Banana 2.1: novedades, precio y prueba real por API.
Qué modelo elegir y qué apartado de la documentación abrir
La regla corta: empieza con gemini-nano-banana-2.1. Baja a Lite cuando 1K te basta, no usas imágenes de referencia ni cambios por turnos y quieres la respuesta más rápida y barata: a 1K la salida cuesta lo mismo en los dos (0,0336 $), pero Lite cobra menos por la entrada y por el razonamiento. Sube a Pro cuando el texto dentro de la imagen tiene que salir exactamente como lo escribiste, cuando produces piezas profesionales con marca o cuando quieres una respuesta que mezcle texto e ilustraciones.
Lo del texto exacto tiene una prueba detrás: con los mismos 9 prompts a 1K y una tirada por prompt, Pro respetó el texto pedido y 2.1 cambió la redacción en 3 de las tareas de texto. Los detalles están en Nano Banana 2.1 vs Pro vs GPT Image 2.5: mismo prompt, 9 pruebas, y la elección completa por tarea en Nano Banana 2 Lite vs 2 vs 2.1 vs Pro: elige por tarea.
La página de generación de imágenes es larga. Esta tabla te lleva del trabajo que quieres hacer al apartado que lo explica (entre paréntesis, el título en inglés de la página original):
| Lo que quieres hacer | Apartado de la documentación | Modelo |
|---|---|---|
| Primera imagen a partir de texto | Generación de imágenes (Image generation, text-to-image) | Nano Banana 2.1; Lite si 1K basta y el volumen manda |
| Retocar una foto tuya | Edición de imágenes (Image editing) | Nano Banana 2.1 |
| Pedir cambios sobre la imagen anterior | Edición de varios turnos (Multi-turn image editing) | Nano Banana 2.1 o Pro; Lite no está pensado para esto |
| Juntar varias personas u objetos en una escena | Hasta 14 imágenes de referencia (Use up to 14 reference images) | Nano Banana 2.1; Pro si además necesitas referencias de estilo |
| Infografías con datos actuales | Fundamentación con la Búsqueda de Google (Grounding with Google Search) | Nano Banana 2.1 o Pro; Lite no lo admite |
| Elegir tamaño y relación de aspecto | Imágenes de hasta 4K y Configuraciones opcionales | Nano Banana 2.1 o Pro para 2K y 4K; Lite solo 1K |
| Portada o miniatura a partir de un vídeo | Vídeo a imagen (Video-to-image generation) | Nano Banana 2.1 o Lite |
| Guía o cuento con texto e ilustraciones en la misma respuesta | Texto e imágenes intercalados (Interleaved text and images) | Pro |
| Miles de imágenes que pueden esperar | Generar imágenes por lotes (Generate images in batch) | Cualquiera; entrega en hasta 24 horas |
Las diferencias que de verdad cambian la elección, según esa misma página y la de precios de la API de Gemini a 8 de octubre de 2026:
| Nano Banana 2.1 | Nano Banana 2 Lite | Nano Banana Pro | Nano Banana 2 (obsoleto) | |
|---|---|---|---|---|
| Resoluciones | 1K, 2K y 4K (sin 512 px) | Solo 1K | 1K, 2K y 4K | 512 px, 1K, 2K y 4K |
| Imágenes de referencia | Hasta 14: 10 de objetos y 4 de personajes | Hasta 14 de objetos; sin plazas de personaje ni de estilo | Hasta 6 de objetos, 5 de personajes y 3 de estilo (14 en total) | Hasta 10 de objetos y 4 de personajes |
| Búsqueda de Google | Web e imágenes (Image Search) | No | Web | Web e imágenes |
| Vídeo como entrada | Sí | Sí | No | Sí |
Nivel de razonamiento (thinking_level) | minimal, medium (por defecto) o high | minimal (por defecto) o high | Siempre razona; sin thinking_level documentado | minimal (por defecto) o high |
| Precio estándar por imagen | 0,0336 $ (1K) · 0,0504 $ (2K) · 0,113 $ (4K) | 0,0336 $ (1K) | 0,134 $ (1K–2K) · 0,24 $ (4K) | 0,045 $ (512 px) a 0,151 $ (4K) |
El gráfico siguiente resume la comparativa a 29 de septiembre de 2026, antes de que saliera 2.1. Lo que dice de Lite y de Pro sigue vigente; el «Empieza aquí» que marca Nano Banana 2 corresponde hoy a Nano Banana 2.1.

Si tu caso es Pro con plantillas JSON o YAML, texto denso o PDF, sigue en la API de Nano Banana Pro: petición JSON, YAML y guardado de imágenes.
Paso 1: crear la clave API en Google AI Studio
Abre la sección API Keys de Google AI Studio. Si eres nuevo, AI Studio crea un proyecto de Google Cloud y una clave por defecto en cuanto aceptas los términos del servicio. Si ya tienes cuenta de Google Cloud, no crea nada: primero importas tus proyectos con Import projects y después generas la clave dentro del que quieras usar.
Tres cosas de la documentación de claves de la Gemini API que explican la mayoría de sustos:
- Las claves nuevas son claves de autorización. Desde el 28 de mayo de 2026, toda clave creada en AI Studio es una auth key: va ligada a una cuenta de servicio y, por defecto, solo sirve para la Gemini API. La API rechaza las claves estándar sin restricciones; las estándar con restricciones explícitas siguen funcionando. Si tienes una clave antigua marcada como Unrestricted, restríngela a la Gemini API desde AI Studio (Add restrictions → Restrict to Gemini API only) o crea una nueva.
- Las claves inactivas se bloquean. Desde el 7 de mayo de 2026, las claves sin restricciones que llevan mucho tiempo sin uso aparecen con la etiqueta Blocked y ya no sirven.
- Todo cuelga del proyecto, no de la clave. La facturación y los límites de uso de la Gemini API se aplican por proyecto: dos claves del mismo proyecto comparten cuota, y crear otra clave no te da más.
Para generar imágenes el proyecto necesita facturación activa, porque la salida de imagen de todos los modelos Nano Banana figura como "no disponible" en el nivel gratuito. La interfaz de AI Studio no cuesta nada mientras no vincules una clave de pago, pero generar imágenes con Nano Banana es una de las funciones de pago. Lo que sí puedes hacer gratis con Nano Banana en España, fuera de la API, está en ¿Se puede usar Nano Banana gratis? Qué ofrece Google en España.
Guarda la clave en una variable de entorno y nunca en el código. Los SDK leen GEMINI_API_KEY o GOOGLE_API_KEY; si existen las dos, gana GOOGLE_API_KEY.
export GEMINI_API_KEY="tu_clave_de_ai_studio"Paso 2: instalar el SDK
La Interactions API necesita la versión 2.3.0 o posterior de cualquiera de los dos SDK:
# Python
pip install -U "google-genai>=2.3.0"
# JavaScript / TypeScript
npm install @google/genai@latestCon pip show google-genai o npm ls @google/genai compruebas qué versión tienes. Si el proyecto importa el paquete antiguo google.generativeai, ese código no tiene interactions: cámbialo por from google import genai.
Paso 3: tu primera imagen con gemini-nano-banana-2.1
Las tres versiones hacen lo mismo: piden una imagen a gemini-nano-banana-2.1 y la guardan en un archivo. Google cita el español (es-MX) entre los idiomas con mejor rendimiento, así que puedes escribir el prompt en español.
Python
import base64
from google import genai
client = genai.Client() # lee GEMINI_API_KEY del entorno
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Un plato de nano plátanos en un restaurante elegante decorado con constelaciones",
)
with open("imagen.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))JavaScript (guárdalo como .mjs o usa "type": "module" en package.json para poder usar await en el nivel superior)
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({}); // lee GEMINI_API_KEY del entorno
const interaction = await ai.interactions.create({
model: "gemini-nano-banana-2.1",
input: "Un plato de nano plátanos en un restaurante elegante decorado con constelaciones",
});
const image = interaction.output_image;
if (image) {
fs.writeFileSync("imagen.png", Buffer.from(image.data, "base64"));
}REST con curl (el segundo comando necesita jq para extraer la imagen del JSON)
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"input": "Un plato de nano plátanos en un restaurante elegante decorado con constelaciones"
}' > respuesta.json
jq -r '.steps[] | select(.type=="model_output") | .content[] | select(.type=="image") | .data' respuesta.json \
| tail -n 1 | base64 --decode > imagen.pngQué vuelve y cómo leerlo:
- Por defecto el modelo responde con texto e imagen.
output_imagete da el último bloque de imagen youtput_textel texto; si solo quieres la imagen, pide un formato de imagen enresponse_format(lo ves en el apartado de tamaño). - El archivo puede ser JPEG aunque lo guardes como
.png: en las ocho llamadas de prueba a 2.1 del 8 de octubre de 2026 la imagen llegó siempre en JPEG sin haber pedido formato. Si tu aplicación necesita uno concreto, fíjalo conmime_typeenresponse_format. - En REST, la respuesta de
POSTtrae solo los pasos generados por el modelo, dentro desteps. El campoididentifica la interacción y lo necesitarás para pedir cambios. - Si la llamada responde 200 pero no aparece ninguna imagen, el diagnóstico está en Nano Banana no genera imagen en la API: diagnóstico y arreglo.
Editar, iterar y combinar imágenes
Editar una imagen tuya
Para editar, input pasa de ser un texto a una lista de bloques: uno de texto con la instrucción y uno o varios de imagen en base64 con su tipo MIME.
import base64
from google import genai
client = genai.Client()
with open("mi_gato.png", "rb") as f:
foto = base64.b64encode(f.read()).decode("utf-8")
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=[
{"type": "text", "text": "Pon a mi gato comiendo en un restaurante elegante bajo la constelación de Géminis"},
{"type": "image", "data": foto, "mime_type": "image/png"},
],
)
with open("gato_editado.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))Asegúrate de tener derechos sobre las imágenes que subes. Para archivos grandes, la documentación de comprensión de imágenes explica cómo subirlos con la Files API en lugar de incrustarlos.
Pedir cambios sobre la imagen anterior
Con Interactions no reenvías la imagen ni el historial: pasas previous_interaction_id con el id de la respuesta anterior y el servidor recupera el contexto. La coherencia de personajes entre turnos es una de las mejoras que Google atribuye a 2.1 frente a Nano Banana 2.
segunda = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Traduce los textos de esta infografía al español. No cambies nada más.",
previous_interaction_id=interaction.id,
response_format={"type": "image", "aspect_ratio": "16:9", "image_size": "2K"},
)En REST, tomas el id del JSON anterior:
PREVIOUS_INTERACTION_ID=$(jq -r '.id' respuesta.json)
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"input": "Traduce los textos de esta infografía al español. No cambies nada más.",
"previous_interaction_id": "'"$PREVIOUS_INTERACTION_ID"'",
"response_format": {"type": "image", "aspect_ratio": "16:9", "image_size": "2K"}
}' > respuesta2.jsonEsto funciona porque Interactions guarda cada interacción por defecto (store=true): 55 días en el nivel de pago y 1 día en el gratuito, según la descripción general de la Interactions API. Si envías store=false por privacidad, ya no puedes encadenar con previous_interaction_id y tendrás que reenviar la imagen tú. Recuerda también que Lite no está optimizado para esta edición secuencial.
Combinar varias imágenes de referencia
Para una foto de grupo o un producto dentro de una escena, añade un bloque de imagen por cada referencia. 2.1 admite hasta 14: como máximo 10 de objetos y 4 de personajes; los topes de los demás modelos están en la tabla de capacidades de arriba.
import base64
from pathlib import Path
from google import genai
client = genai.Client()
entrada = [{"type": "text", "text": "Foto de grupo en la oficina con estas personas poniendo caras divertidas"}]
for ruta in ["ana.png", "luis.png", "marta.png"]:
entrada.append({
"type": "image",
"data": base64.b64encode(Path(ruta).read_bytes()).decode("utf-8"),
"mime_type": "image/png",
})
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=entrada,
response_format={"type": "image", "aspect_ratio": "5:4", "image_size": "2K"},
)
Path("grupo.png").write_bytes(base64.b64decode(interaction.output_image.data))Para redactar mejor esas instrucciones, tienes ejemplos por tipo de tarea en Cómo escribir prompts para Nano Banana: guía práctica y 50 plantillas verificables.
Tamaño, relación de aspecto y formato de salida
Todo se controla con response_format:
response_format={
"type": "image", # solo imagen, sin texto
"mime_type": "image/jpeg", # opcional
"aspect_ratio": "16:9",
"image_size": "2K",
}- La K va en mayúscula.
1K,2Ky4Kfuncionan;1kse rechaza. - Sin
image_sizerecibes 1K. Nano Banana 2.1 y Pro llegan a 2K y 4K; Lite solo genera 1K. - No envíes 512 a 2.1. Google indica que 2.1 no admite 512 px; ese tamaño solo existe en Nano Banana 2, ya obsoleto. A través de la API de LaoZhang, la misma petición con
512devolvió un error 400 el 7 de octubre de 2026 y, al día siguiente, una imagen de 1024×1024 cobrada como cualquier otra. Si necesitas imágenes pequeñas, genera a 1K y reduce tú. Para el valor exacto de 512 en Nano Banana 2 consulta la referencia de generateContent: la guía de Google lo escribe con una errata. - Relación de aspecto: 2.1 admite 14:
1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16,16:9,21:9y las panorámicas1:4,4:1,1:8y8:1, cuyos defectos de mosaico a 2K y 4K corrige 2.1 según Google. Lite admite las diez primeras. Sin indicarla, la salida toma el tamaño de la imagen de entrada o sale en 1:1. - Píxeles reales: en las llamadas de prueba a 2.1,
16:9dio 2752×1536 a 2K y 5504×3072 a 4K (8,6 MB en JPEG), los mismos valores que la tabla "Aspect ratios and image size" de Google. - Texto e imagen a la vez: pasa una lista,
response_format=[{"type": "text"}, {"type": "image"}].
Búsqueda de Google, razonamiento, vídeo y lotes
Fundamentación con la Búsqueda de Google (grounding). Con tools=[{"type": "google_search"}] el modelo consulta la web antes de dibujar: útil para una previsión del tiempo o un resultado deportivo convertidos en gráfico. Nano Banana 2.1 (y el anterior Nano Banana 2) añaden la búsqueda de imágenes con "search_types": ["web_search", "image_search"]; si la usas, tienes que mostrar en tu interfaz las search_suggestions que llegan en el paso google_search_result. Esa búsqueda de imágenes no utiliza fotos reales de personas. Lite no admite grounding. En precio, los modelos Gemini 3.x comparten 5.000 búsquedas gratis al mes; después cuestan 14 $ por cada 1.000.
Razonamiento (thinking). Los modelos de imagen Gemini 3 razonan siempre antes de dibujar y la API no permite desactivarlo. Pueden generar hasta dos imágenes intermedias de prueba, que no se cobran, aunque los tokens de razonamiento sí. En 2.1 eliges entre minimal, medium (el valor por defecto) y high; en Lite y en Nano Banana 2 solo hay minimal (por defecto) y high. Se pasa así:
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Una ciudad futurista dentro de una botella de cristal gigante flotando en el espacio",
generation_config={"thinking_level": "high"},
)minimal no significa cero razonamiento: en las ocho llamadas de prueba a 2.1, todas informaron de entre 510 y 1.107 tokens de razonamiento, también las que iban con minimal. En una pareja a 2K, high tardó 34,8 s frente a los 24,7 s de minimal. Para calcular cuánto suma: 1.000 tokens de razonamiento × 7,50 $ por millón = 0,0075 $ por imagen. Sube a high cuando un prompt complejo sale mal compuesto, no por defecto.
Texto e imágenes intercalados. Pro puede devolver una guía o un cuento con texto e ilustraciones en la misma respuesta. Ahí output_image solo te da la última imagen, así que recorres los pasos:
for step in interaction.steps:
if step.type == "model_output":
for n, bloque in enumerate(step.content):
if bloque.type == "text":
print(bloque.text)
elif bloque.type == "image":
with open(f"ilustracion_{n}.png", "wb") as f:
f.write(base64.b64decode(bloque.data))Vídeo como entrada. Nano Banana 2.1, Nano Banana 2 y Lite aceptan un vídeo (URL de YouTube o archivo subido con la Files API) para crear, por ejemplo, un póster o una miniatura; Pro no. Ningún modelo acepta audio.
Lotes (Batch API). Todas estas funciones se pueden lanzar como trabajo por lotes: más margen de cuota a cambio de esperar hasta 24 horas, y la salida cuesta la mitad (0,0168 $ por imagen 1K de 2.1 frente a 0,0336 $).
Código antiguo: qué se ha roto y cómo migrarlo
Si un tutorial que seguiste ya no funciona, casi siempre es por uno de estos cambios, publicados en la página de retiradas de modelos de la Gemini API y en la de claves. Los destinos son los que figuran en la tabla de retiradas a 8 de octubre de 2026:
| Fecha | Qué cambió | Qué hacer |
|---|---|---|
| 14 de noviembre de 2025 | Se apagó gemini-2.0-flash-preview-image-generation | Cambiar a gemini-nano-banana-2.1 |
| 15 de enero de 2026 | Se apagó gemini-2.5-flash-image-preview | Cambiar a gemini-nano-banana-2.1 |
| 7 de mayo de 2026 | Bloqueo de claves sin restricciones inactivas | Crear una clave nueva o usar una restringida |
| 28 de mayo de 2026 | Las claves nuevas pasan a ser auth keys; se rechazan las estándar sin restricciones | Restringir la clave a la Gemini API o crear otra |
| 8 de junio de 2026 | Interactions elimina el esquema antiguo: outputs pasa a steps y response_mime_type desaparece a favor de response_format | Sustituir interaction.outputs[-1] por output_image / output_text o por el recorrido de steps |
| 25 de junio de 2026 | Se apagaron gemini-3.1-flash-image-preview y gemini-3-pro-image-preview | gemini-3.1-flash-image-preview → gemini-nano-banana-2.1; gemini-3-pro-image-preview → gemini-3-pro-image |
| 17 de agosto de 2026 | Se apagaron los modelos Imagen 4 (imagen-4.0-generate-001, -ultra- y -fast-) | Cambiar a gemini-nano-banana-2.1 |
| 6 de octubre de 2026 | gemini-3.1-flash-image (Nano Banana 2) pasa a obsoleto, sin fecha de cierre anunciada | Cambiar a gemini-nano-banana-2.1 cuando puedas (detalles abajo) |
| 2 de octubre de 2026 o 15 de marzo de 2027 | Cierre de gemini-2.5-flash-image: las dos páginas de Google no coinciden | Migrar ya a Lite o a 2.1 (detalles abajo) |
Los IDs -preview dan error en cualquier sitio donde sigan escritos, también en nodos de ComfyUI o plantillas copiadas de un tutorial. Ojo con el atajo de quitar el sufijo: gemini-3.1-flash-image-preview sin -preview te deja en Nano Banana 2, que ya está obsoleto; el destino que da Google es 2.1.
El gráfico resume el calendario a 29 de septiembre de 2026. Desde entonces, los destinos de las filas de gemini-2.0-flash-preview-image-generation y gemini-2.5-flash-image-preview han pasado a gemini-nano-banana-2.1, se ha añadido la retirada de Nano Banana 2 y la fecha del 2 de octubre ha dejado de ser la única.

Pasar de Nano Banana 2 a Nano Banana 2.1
No hay plazo: Google ha declarado gemini-3.1-flash-image obsoleto sin fecha de cierre, y una fecha del 29 de octubre de 2026 que llegó a aparecer el día del lanzamiento ya no figura. Aun así, todo proyecto nuevo debería nacer en 2.1, y en uno existente el cambio de ID suele bastar. Antes de cambiarlo, revisa tres cosas:
- 512 px. 2.1 no lo tiene. Si generabas miniaturas a 512, pasa a 1K (0,0336 $ en 2.1, menos que los 0,045 $ de 512 en Nano Banana 2) y reduce el tamaño tú.
- Razonamiento por defecto. En Nano Banana 2 era
minimal; en 2.1 esmedium. Si te importa la latencia, fijathinking_levelen vez de heredar el valor por defecto. - Parámetros de muestreo en Vertex AI. Allí Google documenta que 2.1 devuelve un error de API si la petición lleva
seed,temperature,topP,topKologprobs. Si tu código de Nano Banana 2 fija alguno y corre en Vertex, quítalo; el resto de diferencias de esa plataforma están en Nano Banana en Vertex AI: modelos vigentes, costes y errores.
En precio, 2.1 sale más barato que Nano Banana 2 a 1K, 2K y 4K (0,0336 $, 0,0504 $ y 0,113 $ frente a 0,067 $, 0,101 $ y 0,151 $), aunque su entrada y su razonamiento cuestan más por token. El cálculo con casos concretos está en Nano Banana 2 API: precio por imagen y cuánto ahorras con 2.1.
Si todavía usas gemini-2.5-flash-image
Google se contradice: la tabla de retiradas de la Gemini API fija el cierre el 15 de marzo de 2027, con Lite como sustituto, mientras que la página de precios sigue avisando de que se apagará el 2 de octubre de 2026 y propone Nano Banana 2 o Lite. No des por hecho que seguirá respondiendo; migra ya y decide por el uso. Si lo tenías para imágenes rápidas y baratas a 1K sin referencias, Lite cuesta 0,0336 $ por imagen frente a los 0,039 $ de 2.5. Si editabas, combinabas fotos (2.5 rendía mejor con hasta 3 de entrada) o necesitas más de 1K, ve a 2.1, que a 1K cuesta lo mismo que Lite.
Si mantienes código con generateContent
No tienes por qué reescribirlo: generateContent sigue soportado y basta con cambiar el ID del modelo. Así queda la misma petición con los campos actuales de la referencia de generateContent:
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-nano-banana-2.1",
contents="Un plato de nano plátanos en un restaurante elegante decorado con constelaciones",
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(aspect_ratio="16:9", image_size="2K"),
),
)
for part in response.candidates[0].content.parts:
if part.inline_data:
with open("imagen.png", "wb") as f:
f.write(part.inline_data.data) # en el SDK de Python ya son bytescurl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-nano-banana-2.1:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Un plato de nano plátanos en un restaurante elegante"}]}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
}
}'En REST la imagen llega en base64 dentro de candidates[].content.parts[].inlineData. Este formato, con imageSize y aspectRatio en imageConfig, es el que usaron las llamadas de prueba a 2.1 del 8 de octubre, aunque contra el endpoint de LaoZhang y no contra el de Google. Las equivalencias con Interactions, por si decides migrar:
| generateContent | Interactions |
|---|---|
client.models.generate_content(...) | client.interactions.create(...) |
contents | input |
responseModalities + imageConfig (aspectRatio, imageSize) | response_format (type, aspect_ratio, image_size) |
candidates[].content.parts[].inlineData | output_image o steps[].content[] |
Reenvías tú el historial en contents | previous_interaction_id y el servidor guarda el contexto |
Migrar compensa sobre todo si haces edición por turnos o quieres el historial en el servidor. Si tu código corre en Google Cloud, la diferencia entre ambas plataformas está en Gemini API o Vertex AI: cómo elegir, comparar costes y migrar.
Precio y límites que afectan a tu primera integración
Precios por imagen de salida en el nivel de pago de la Gemini API, en dólares tal como los publica Google (8 de octubre de 2026):
| Modelo | Estándar | Batch | Entrada / razonamiento por millón de tokens |
|---|---|---|---|
| Nano Banana 2.1 | 0,0336 $ (1K) · 0,0504 $ (2K) · 0,113 $ (4K) | 0,0168 $ · 0,0252 $ · 0,0567 $ | 1,50 $ / 7,50 $ |
| Nano Banana 2 Lite | 0,0336 $ (1K) | 0,0168 $ | 0,25 $ / 1,50 $ |
| Nano Banana Pro | 0,134 $ (1K–2K) · 0,24 $ (4K) | 0,067 $ · 0,12 $ | 2,00 $ / 12,00 $ |
| Nano Banana 2 (obsoleto) | 0,045 $ (512 px) · 0,067 $ (1K) · 0,101 $ (2K) · 0,151 $ (4K) | 0,022 $ · 0,034 $ · 0,050 $ · 0,076 $ | 0,50 $ / 3,00 $ |
| Nano Banana (2.5, obsoleto) | 0,039 $ | — | — |
Si en los primeros días viste 0,0756 $ para 2.1 a 4K, Google lo ha cambiado: a 8 de octubre la página de precios marca 0,113 $ (3.780 tokens de imagen).
Sobre los límites, lo que más confunde al empezar:
- Se aplican por proyecto y dependen del nivel de uso, que Google calcula con el gasto acumulado de la cuenta de facturación vinculada: Tier 1 al vincular una cuenta de facturación activa, Tier 2 tras 100 $ pagados y 3 días desde el primer pago, Tier 3 tras 1.000 $ y 30 días. Para los modelos de imagen cuenta también un límite de imágenes por minuto (IPM).
- Hay un tope de gasto por cada 10 minutos según el nivel (10 $ en Tier 1, 50 $ en Tier 2, 200 $ en Tier 3). Superarlo devuelve
429 RESOURCE_EXHAUSTED. - Las cifras de solicitudes por minuto e imágenes por minuto de tu proyecto solo aparecen en AI Studio. La página de límites, actualizada por última vez el 2 de septiembre de 2026, todavía no tiene fila de cuota de Batch para 2.1.
El cálculo de coste por caso está en Precio de Nano Banana API: Lite, Nano Banana 2, Pro, gratis y rutas; las cuotas en Límites de Nano Banana 2: cuota en Gemini, AI Mode y la API; qué límite saltó cuando recibes un 429 en Error 429 de Gemini en imágenes: qué límite saltó y qué hacer; y los errores 503 o de petición denegada en Nano Banana API no funciona: arregla 429, 503, sin imagen y request denied.
Pagar por llamada en lugar de por token: laozhang.ai
Si prefieres no gestionar facturación ni niveles de Google, laozhang.ai da acceso a los mismos IDs con su propia clave y una tarifa fija por llamada: según su página de Nano Banana 2.1 en la documentación de LaoZhang API, 0,045 $ por llamada a gemini-nano-banana-2.1 con cualquier tamaño y nivel de razonamiento (0,055 $ en Nano Banana 2, 0,025 $ en Lite y 0,09 $ en Pro). En las ocho llamadas de prueba del 8 de octubre cada una se cobró exactamente 0,045 $.
Aviso: laozhang.ai es un servicio propio. Sus precios son nuestra tarifa, no una comparación independiente.
Dónde compensa se ve con los tokens que devolvieron esas mismas llamadas, aplicando las tarifas estándar de Google (entrada × 1,50 $ + imagen × 30 $ + texto y razonamiento × 7,50 $, por millón de tokens):
- 1K: 42 de entrada, 1.120 de imagen y 1.248 de texto y razonamiento ≈ 0,043 $ en Google, frente a 0,045 $ fijos.
- 4K: 42 de entrada, 3.780 de imagen y 772 de texto y razonamiento ≈ 0,119 $ en Google, frente a 0,045 $ fijos.
Es decir, a 1K el precio es prácticamente el mismo y a 2K o 4K la tarifa fija sale más barata. El cálculo supone que el intermediario transmite sin cambios los datos de uso de Google, algo que no se ha contrastado con una factura de Google. Es un proveedor externo: el formato de petición, las funciones disponibles y el cobro los fija él, no Google. La comparación de coste por imagen entregada está en Nano Banana API: Google y laozhang.ai, coste y entrega de imágenes. Y si quieres generar imágenes desde tu editor, mira Nano Banana en Claude Code: skill o MCP con modelos vigentes.
Preguntas frecuentes
¿Cómo consigo una clave API de Nano Banana?
Creando una clave de la Gemini API en Google AI Studio: no existe una clave específica de Nano Banana. Desde el 28 de mayo de 2026 las claves nuevas son claves de autorización limitadas a la Gemini API. Para generar imágenes, el proyecto al que pertenece la clave necesita facturación activa.
¿Se puede usar la API de Nano Banana gratis?
No para generar imágenes: la página de precios marca la salida de imagen de todos los modelos Nano Banana como "no disponible" en el nivel gratuito. Sin pagar solo tienes la app de Gemini, que no se integra en tu aplicación. Allí Nano Banana 2 es el modelo gratuito; la página de producto de Gemini dice que los planes Google AI Pro, Plus y Ultra usan 2.1, mientras que su centro de ayuda todavía describe Nano Banana 2 y no publica un número de imágenes al día. El detalle para España está en ¿Se puede usar Nano Banana gratis? Qué ofrece Google en España.
¿Qué modelo uso si no sé cuál elegir?
gemini-nano-banana-2.1 (Nano Banana 2.1). Cubre de 1K a 4K, admite edición por turnos, hasta 14 referencias, búsqueda web y de imágenes, y a 1K cuesta lo mismo que Lite. Cambia a Lite si 1K basta y quieres la opción más rápida y barata, y a Pro si el texto de la imagen tiene que salir exacto, si produces piezas profesionales o si necesitas texto e imágenes intercalados.
¿Nano Banana 2 deja de funcionar en la API?
No hay fecha: a 8 de octubre de 2026, gemini-3.1-flash-image está obsoleto en la Gemini API sin fecha de cierre anunciada, y Google recomienda migrar a gemini-nano-banana-2.1. En Vertex AI su retirada figura para el 28 de mayo de 2027 o más tarde. Si dependes de imágenes de 512 px, es lo único que pierdes al migrar.
¿Sigue funcionando generateContent para generar imágenes?
Sí. Google lo mantiene plenamente soportado y recomienda Interactions solo para desarrollo nuevo. Lo que sí debes cambiar son los IDs de modelo retirados: cualquier -preview, gemini-2.5-flash-image y, sin prisa pero sin olvidarlo, gemini-3.1-flash-image.
¿Por qué falla el código de un tutorial de 2025?
Por tres motivos habituales: usa un ID -preview ya apagado, usa una clave estándar sin restricciones que la API rechaza, o lee interaction.outputs, un campo que desapareció el 8 de junio de 2026. La tabla de migración de arriba indica qué cambiar en cada caso; para los IDs de Flash, el destino actual es gemini-nano-banana-2.1.
¿Dónde está la documentación oficial en español?
En ai.google.dev, página "Generación de imágenes con Nano Banana"; el selector de idioma de la web permite verla en español. Allí están todos los ejemplos en Python, JavaScript, Java, Go y REST. Para un recorrido sin código por la app, Flow y la API, tienes Cómo generar imágenes con Gemini: app, Flow y API paso a paso.
Fuentes9
Páginas externas que cita esta guía, en el orden en que aparecen. Última actualización: 8 oct 2026.
Fuentes9
Páginas externas que cita esta guía, en el orden en que aparecen. Última actualización: 8 oct 2026.
- 1.guía de generación de imágenes de la Gemini APIai.google.dev/gemini-api/docs/image-generation
- 2.guía de migración a Interactionsai.google.dev/gemini-api/docs/migrate-to-interactions
- 3.precios de la API de Geminiai.google.dev/gemini-api/docs/pricing
- 4.Google AI Studioaistudio.google.com
- 5.documentación de claves de la Gemini APIai.google.dev/gemini-api/docs/api-key
- 6.límites de uso de la Gemini APIai.google.dev/gemini-api/docs/rate-limits
- 7.descripción general de la Interactions APIai.google.dev/gemini-api/docs/interactions-overview
- 8.referencia de generateContentai.google.dev/api/generate-content
- 9.retiradas de modelos de la Gemini APIai.google.dev/gemini-api/docs/deprecations





