Nano Banana en Vertex AI: modelos vigentes, costes y errores
En Vertex AI usa gemini-3.1-flash-image o gemini-3-pro-image con location global: los IDs preview ya no responden y el precio es el mismo que en AI Studio.
En esta página

Lo que funciona hoy en Vertex AI
A 24 de septiembre de 2026, una llamada a Nano Banana por Vertex AI funciona si cumple cuatro cosas: usa un ID de modelo GA (gemini-3.1-flash-image para Nano Banana 2, gemini-3-pro-image para Nano Banana Pro, gemini-3.1-flash-lite-image para Nano Banana 2 Lite), apunta a la location global (o us/eu solo con Nano Banana 2), se autentica con credenciales de Google Cloud y crea el cliente del SDK google-genai con enterprise=True. Si tu código viene de 2025, revisa primero el ID: los modelos -preview de entonces se retiraron de la plataforma el 17 de julio de 2026.
Lo que ha cambiado desde 2025:
- Nombre. El 22 de abril de 2026 Vertex AI pasó a formar parte de Gemini Enterprise Agent Platform. La consola de prompts se llama ahora Agent Studio (antes Vertex AI Studio) y la documentación vive en
docs.cloud.google.com/gemini-enterprise-agent-platform/, según las notas de la versión. El host de la API sigue siendoaiplatform.googleapis.comy las URL antiguas de la documentación de Vertex AI siguen abriendo. - Modelos. Nano Banana 2 y Nano Banana Pro son GA desde el 28 de mayo de 2026;
gemini-3.1-flash-image-previewygemini-3-pro-image-previewestán retirados. - SDK. En
google-genaiel indicador actual esenterprise=True(o la variableGOOGLE_GENAI_USE_ENTERPRISE=True). El antiguovertexai=Truesigue funcionando como indicador heredado y lleva al mismo endpoint. - Precio. El precio de lista en
globales idéntico al de la Gemini API con clave de AI Studio. Pasar a Vertex no abarata nada; lo que cambia es la autenticación, la capacidad y los controles.
¿Vertex AI o una clave de AI Studio?
Los mismos modelos se pueden llamar por dos plataformas de Google. La diferencia no está en la calidad de la imagen, sino en todo lo que rodea a la llamada:
| Vertex AI (Agent Platform) | Gemini Developer API (clave de AI Studio) | |
|---|---|---|
| Autenticación | Credenciales de Google Cloud (ADC, cuenta de servicio, IAM); clave de API solo en el modo express | Clave de API |
| Endpoint | aiplatform.googleapis.com en global; aiplatform.us.rep.googleapis.com o aiplatform.eu.rep.googleapis.com en us/eu | generativelanguage.googleapis.com |
| Cliente Python | genai.Client(enterprise=True, project=..., location="global") | genai.Client(api_key=...) |
| Precio de lista de NB2 y Pro | Igual que en AI Studio con global; Nano Banana 2 cuesta un 10 % más en us/eu | Solo nivel de pago: el nivel gratuito no incluye Nano Banana 2 ni Pro |
| Capacidad | Standard PayGo compartido y sin cifra publicada para imagen, Flex, Batch y Provisioned Throughput | Cuotas propias de la Gemini API |
| Controles de empresa | Residencia de datos, CMEK, VPC-SC y AXT | Para estos controles, Google remite a Agent Platform |
Retirada de gemini-2.5-flash-image | 15 de marzo de 2027 | 2 de octubre de 2026 |
| Crédito de prueba de 300 $ de Google Cloud | No figura entre las exclusiones | Excluido de forma expresa |
La propia guía de Google lo resume así: la mayoría de desarrolladores deberían quedarse en la Gemini Developer API salvo que necesiten controles de empresa concretos (Gemini API: migrar a Google Cloud). Traducido a decisiones:
- Vertex compensa si tu empresa exige facturación e IAM de Google Cloud, si necesitas procesar las imágenes en la UE (
eu, solo con Nano Banana 2), si te piden CMEK o un perímetro de VPC Service Controls, o si necesitas capacidad reservada con Provisioned Throughput. - Vertex como puente temporal: si tu código depende de
gemini-2.5-flash-imagey usa clave de AI Studio, ese modelo deja de responder en la Gemini API el 2 de octubre de 2026, mientras que en Agent Platform aguanta hasta el 15 de marzo de 2027 (calendario de retiradas de la Gemini API). Google recomienda migrarlo agemini-3.1-flash-lite-image, así que el cambio de plataforma solo te compra unos meses. - Quédate con la clave de AI Studio si nada de lo anterior aplica. La comparación general está en Gemini API o Vertex AI: cómo elegir, comparar costes y migrar, y el código con clave de API en Nano Banana API Key 2026: modelos oficiales de Gemini, precios y codigo funcional.
Modelos, locations y fechas de retirada
Esta es la matriz que decide si una llamada puede funcionar. Los datos salen de las fichas de cada modelo en Agent Platform, actualizadas el 22 de septiembre de 2026:
| Modelo | ID en Agent Platform | Estado | Locations | Resoluciones de salida | Retirada prevista |
|---|---|---|---|---|---|
| Nano Banana 2 | gemini-3.1-flash-image | GA desde el 28-05-2026 | global, us, eu | 512, 1K, 2K, 4K | 28 de mayo de 2027 o después |
| Nano Banana Pro | gemini-3-pro-image | GA desde el 28-05-2026 | Solo global | 1K, 2K, 4K | 28 de mayo de 2027 o después |
| Nano Banana 2 Lite | gemini-3.1-flash-lite-image | GA desde el 23-06-2026 | Solo global | 1K | 28 de junio de 2027 o después |
| Nano Banana (original) | gemini-2.5-flash-image | Obsoleto | global y regiones de EE. UU. y Europa | 1K | 15 de marzo de 2027 |
| Nano Banana 2 preview | gemini-3.1-flash-image-preview | Retirado el 17-07-2026 | — | — | — |
| Nano Banana Pro preview | gemini-3-pro-image-preview | Retirado el 17-07-2026 | — | — | — |
Tres consecuencias prácticas:
- Si tu equipo necesita procesar en la UE, la única opción de la familia nueva es Nano Banana 2 con
location="eu": la ficha del modelo incluyeeutanto en disponibilidad como en procesamiento de ML, además de en Standard PayGo y Provisioned Throughput (añadido el 31 de agosto de 2026). Nano Banana Pro y Nano Banana 2 Lite solo existen englobal. El modelo original sí admite regiones europeas concretas (europe-southwest1, que es Madrid,europe-west1,europe-west4,europe-west8,europe-north1yeurope-central2), pero se retira en marzo de 2027. - Una región como
us-central1no sirve para Nano Banana 2 ni Pro. El ejemplo de Node.js de la propia guía de generación de imágenes usagemini-2.5-flash-imagey poneus-central1como valor por defecto; si cambias solo el modelo a Nano Banana 2 o Pro, esa location deja de valer. FijaGOOGLE_CLOUD_LOCATION=globalde forma explícita. - El mismo nombre de modelo no tiene la misma vida en las dos plataformas. Además de la diferencia de
gemini-2.5-flash-image, la versión preview de Nano Banana 2 se cerró en la Gemini API el 25 de junio de 2026 y en Agent Platform el 17 de julio.

En cuanto a formatos, Nano Banana 2 y Pro admiten 15 relaciones de aspecto, incluidas 1:4, 4:1, 1:8, 8:1, 21:9 y 9:21, y hasta 14 imágenes de referencia por prompt (7 MB por archivo en línea, 30 MB desde Cloud Storage). Ambos admiten fundamentación con la Búsqueda de Google (Nano Banana 2 Lite no). Ninguno de los modelos de Nano Banana admite ajuste fino (tuning), llamadas a funciones ni ejecución de código.
Primera llamada desde Python
Proyecto y credenciales
Necesitas un proyecto de Google Cloud con facturación activa y la API de Agent Platform habilitada (aiplatform.googleapis.com). Para autenticarte:
- En tu máquina:
gcloud auth application-default logincrea las credenciales predeterminadas de la aplicación (ADC) que el SDK busca por su cuenta. - En producción: una cuenta de servicio con permisos sobre Agent Platform, asociada al servicio donde corre tu código (Cloud Run, GKE, una VM). No hace falta ninguna clave en el código.
Instala o actualiza el SDK con pip install --upgrade google-genai. Las rutas y mensajes que verás más abajo corresponden a la versión 2.25.0, publicada el 22 de septiembre de 2026; con versiones antiguas que no acepten enterprise, actualiza o usa vertexai=True.
Código mínimo
La forma oficial es declarar el entorno con tres variables y crear el cliente sin argumentos:
export GOOGLE_CLOUD_PROJECT=tu-proyecto
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=TrueSi prefieres que la configuración quede a la vista en el código, pasa los mismos valores al cliente:
from google import genai
from google.genai import types
client = genai.Client(
enterprise=True, # en código antiguo: vertexai=True
project="tu-proyecto",
location="global", # "us" o "eu" solo con Nano Banana 2
)
response = client.models.generate_content(
model="gemini-3.1-flash-image",
contents="Cartel minimalista de una bicicleta roja sobre fondo azul claro",
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(aspect_ratio="16:9", image_size="2K"),
),
)
for i, part in enumerate(response.candidates[0].content.parts):
if part.text:
print(part.text)
elif part.inline_data:
ext = part.inline_data.mime_type.split("/")[-1]
with open(f"imagen_{i}.{ext}", "wb") as f:
f.write(part.inline_data.data)Con project="tu-proyecto" y location="global", este cliente envía la petición a https://aiplatform.googleapis.com/v1beta1/projects/tu-proyecto/locations/global/publishers/google/models/gemini-3.1-flash-image:generateContent, y generationConfig sale serializado como {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}}. Si no indicas image_size, la salida es 1K. Para Nano Banana Pro basta con cambiar el modelo a gemini-3-pro-image, siempre con global.
La misma llamada con curl
Para descartar el SDK cuando algo falla, la petición REST directa con tu usuario de gcloud es:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1/projects/TU_PROYECTO/locations/global/publishers/google/models/gemini-3.1-flash-image:generateContent" \
-d '{
"contents": {"role": "USER", "parts": [{"text": "Cartel minimalista de una bicicleta roja"}]},
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
}
}' > respuesta.jsonLa imagen llega en base64 dentro de inlineData.data. Los ejemplos REST oficiales usan v1; el SDK de Python usa v1beta1.
Modo express con clave de API
Agent Platform también tiene un modo express, todavía en versión preliminar, pensado para cuentas @gmail.com: te da una clave de API y, si eres usuario nuevo de Google Cloud, 90 días de nivel gratuito sin datos de facturación. En Python se usa genai.Client(enterprise=True, api_key="TU_CLAVE"), sin proyecto ni location; en REST, https://aiplatform.googleapis.com/v1/publishers/google/models/{modelo}:streamGenerateContent?key={TU_CLAVE}.
No lo tomes como una vía gratuita para Nano Banana 2 o Pro. La página del modo express aún lista como disponibles los IDs preview retirados y gemini-2.5-flash-image (10 peticiones por minuto), pero no los IDs GA de Nano Banana 2 ni Pro. Si ya usas Google Cloud o activas la facturación, el nivel gratuito desaparece.
Cuánto cuesta cada imagen
Agent Platform cobra las imágenes generadas como tokens de salida. Cada resolución consume un número fijo de tokens, así que el coste de la imagen es:
coste por imagen = tokens de la resolución × precio por millón de tokens ÷ 1.000.000
Con las tarifas de Agent Platform a 24 de septiembre de 2026 (Standard PayGo, en USD): salida de imagen de Nano Banana 2 a 60 $ por millón en global y 66 $ fuera de global; Nano Banana Pro a 120 $; Nano Banana 2 Lite a 30 $. Flex PayGo y Batch cuestan la mitad.
| Modelo y opción | 512 | 1K | 2K | 4K |
|---|---|---|---|---|
| Tokens por imagen (Nano Banana 2) | 747 | 1.120 | 1.680 | 2.520 |
Nano Banana 2, Standard, global | 0,0448 $ | 0,0672 $ | 0,1008 $ | 0,1512 $ |
Nano Banana 2, Standard, us/eu | 0,0493 $ | 0,0739 $ | 0,1109 $ | 0,1663 $ |
Nano Banana 2, Flex o Batch, global | 0,0224 $ | 0,0336 $ | 0,0504 $ | 0,0756 $ |
| Nano Banana Pro, Standard (1.120 tokens en 1K y 2K; 2.000 en 4K) | — | 0,1344 $ | 0,1344 $ | 0,24 $ |
| Nano Banana Pro, Flex o Batch | — | 0,0672 $ | 0,0672 $ | 0,12 $ |
| Nano Banana 2 Lite (1.120 tokens, solo 1K) | — | 0,0336 $ | — | — |
Ejemplo: 1.000 imágenes 2K de Nano Banana 2 en global salen por 1.680 × 60 × 1.000 ÷ 1.000.000 = 100,80 $ en Standard y por 50,40 $ en Batch. Las mismas imágenes en eu suben a 110,88 $ en Standard.
Estas cifras solo cubren la imagen de salida. Encima van:
- Imágenes de referencia: 1.120 tokens de entrada cada una en Nano Banana 2 (unos 0,00056 $) y 560 en Pro (unos 0,00112 $).
- Texto y razonamiento: el prompt y los tokens de texto o de razonamiento de la respuesta se cobran a su propia tarifa (en Nano Banana 2, 0,50 $ por millón de entrada y 3 $ por millón de salida en
global). - Búsqueda de Google: la fundamentación se factura aparte; hay 5.000 búsquedas gratis al mes compartidas entre los modelos Gemini 3 y después 14 $ por cada 1.000.
- Intentos bloqueados o repetidos: tómalas como estimaciones, no como factura.
La Gemini API con clave de AI Studio cobra exactamente lo mismo que la columna global (precios de la Gemini API), así que el único diferencial de precio de lista entre plataformas es ese 10 % de us/eu en Nano Banana 2.
¿Hay alguna forma de no pagar? Pocas. El nivel gratuito de la Gemini API no incluye Nano Banana 2 ni Pro. El crédito de bienvenida de 300 $ de la prueba gratuita de Google Cloud (90 días) excluye de forma expresa los costes de la Gemini API en AI Studio, pero no menciona los modelos Gemini propios de Agent Platform, por lo que en principio cubre estas llamadas (funciones gratuitas de Google Cloud).
Si no necesitas nada propio de Vertex (residencia de datos, CMEK, VPC-SC, SLA de Google) y lo que te frena es abrir facturación en Google Cloud, existen pasarelas de terceros con tarifa plana por llamada. Por ejemplo, laozhang.ai sirve gemini-3.1-flash-image a 0,055 $, gemini-3-pro-image a 0,09 $ y gemini-3.1-flash-lite-image a 0,025 $ por llamada, sin variar con la resolución (tarifas publicadas a 24 de septiembre de 2026), con formato nativo generateContent y imageConfig. No es Vertex AI: esas llamadas no pasan por tu proyecto de Google Cloud ni heredan sus controles.
Diagnóstico: dónde falla la llamada y cómo arreglarlo
Los mensajes de error citados abajo salen de construir clientes con google-genai 2.25.0 sin conexión: ninguna petición llegó a Google ni se generó ninguna imagen. Valen para los fallos locales del SDK; los rechazos del servidor se reconocen por su causa, no por un texto concreto.

Falla al crear el cliente, antes de enviar nada
| Mensaje | Causa | Solución |
|---|---|---|
ValueError: Gemini API does not support project/location. | Pasaste project y location sin enterprise=True, y el SDK creyó que querías la Gemini API | Añade enterprise=True o exporta GOOGLE_GENAI_USE_ENTERPRISE=True |
ValueError: enterprise and vertexai flags have conflicting values, please set enterprise value only. | Mezclaste enterprise=True con vertexai=False | Deja solo enterprise=True |
ValueError: No API key was provided... | No hay clave ni indicador de empresa: el SDK intenta la Gemini API | Configura las tres variables de entorno o pasa enterprise=True con proyecto y location |
DefaultCredentialsError: Your default credentials were not found... | enterprise=True sin credenciales ADC en la máquina | gcloud auth application-default login en local; cuenta de servicio en producción |
Con versiones antiguas del SDK, el equivalente al primer error era Missing key inputs argument! ... provide (vertexai, project & location) arguments., un mensaje que aún aparece en foros de 2025.
Otro caso que no da error pero confunde: si defines a la vez GOOGLE_GENAI_USE_ENTERPRISE=True y GOOGLE_GENAI_USE_VERTEXAI=False, gana la primera. El SDK imprime un aviso y sigue enviando a Agent Platform, así que poner GOOGLE_GENAI_USE_VERTEXAI=False ya no basta para volver a la Gemini API.
La petición sale, pero el servidor la rechaza
- ID preview. El SDK no valida el nombre del modelo: con
gemini-3.1-flash-image-previewconstruye la URL.../models/gemini-3.1-flash-image-preview:generateContentigual que con el ID bueno, y el rechazo solo llega desde el servidor. Si tu código viene de un tutorial de 2025, busca-previewy cámbialo por el ID GA de la tabla de modelos. - Location equivocada. Nano Banana Pro con
us,euous-central1, o Nano Banana 2 con una región concreta: ninguno de esos modelos está publicado ahí. Conglobalse elimina la duda. - Código de ai.google.dev. La documentación de la Gemini API presenta ahora Nano Banana con la Interactions API (
response_formatconaspect_ratioeimage_size), mientras que la de Agent Platform usagenerate_contentconimage_config. Mezclar los dos ejemplos es una fuente probable de peticiones que no encajan; con un cliente de Vertex, quédate congenerate_content. A la inversa, los camposoutput_mime_type,output_compression_quality,prominent_peopleeimage_output_optionsdeImageConfigsolo existen en Agent Platform. - Pasarelas propias. Si llamas a través de un proxy o gateway autoalojado, comprueba que su versión admite estos modelos y respuestas con la imagen en base64 dentro de
inlineData. En 2025 hubo pasarelas de código abierto que necesitaron una actualización para que la llamada que funcionaba en la consola funcionara también a través de ellas.
Si lo que ves es que nada responde, ni siquiera con el código que ayer funcionaba, antes de tocar la configuración consulta ¿Nano Banana 2 está caído? Comprueba el estado correcto.
429 «Resource exhausted»
En Standard PayGo el 429 llega con el mensaje Resource exhausted, please try again later.; con Provisioned Throughput, Too many requests. Exceeded the Provisioned Throughput. (errores 429 de Agent Platform). Con los modelos de imagen no hay un número al que agarrarse. Las fichas de los cuatro modelos de Nano Banana marcan la cuota fija como no disponible, así que no existe una cuota por proyecto que puedas pedir que te amplíen. Y la página de Standard PayGo aclara que sus niveles de rendimiento por gasto no se aplican a Gemini 3.1 Flash Image, 3.1 Flash-Lite Image, 3 Pro Image ni 2.5 Flash Image: gastar más no te sube de nivel con estos modelos. La capacidad en Standard PayGo es compartida y se sirve «en la medida de lo posible», sin una cifra publicada de imágenes ni de tokens por minuto.
Lo que sí puedes hacer para reducir los 429:
-
Usa el endpoint
globalen lugar de uno regional; Google lo recomienda porque reparte las peticiones entre más capacidad. -
Reintenta con retroceso exponencial. El SDK
google-genai2.25.0 no reintenta por defecto; si pasasHttpRetryOptions, reintenta ante 408, 429, 500, 502, 503 y 504 (con los valores por defecto: 5 intentos en total, esperas de 1, 2, 4 y 8 segundos aproximadamente, con un máximo de 60):client = genai.Client( enterprise=True, project="tu-proyecto", location="global", http_options=types.HttpOptions(retry_options=types.HttpRetryOptions()), ) -
Reparte las peticiones a lo largo del minuto: Google advierte de que los picos de pocos segundos provocan limitación aunque la media sea baja.
-
Si necesitas capacidad garantizada, contrata Provisioned Throughput; los 429 de Standard PayGo no cuentan para el SLA.
Hay un antecedente conocido: el 2 de enero de 2026 un usuario abrió un hilo en el foro de desarrolladores de Google describiendo 429 constantes con Nano Banana Pro en Vertex pese a un uso muy escaso; el personal de Google dijo haber desplegado una corrección el 8 de enero, y entre febrero y marzo llegaron más quejas (hilo del foro). Todo aquello ocurrió con los modelos preview, así que no dice nada de la fiabilidad actual en ningún sentido. Para las cuotas de la Gemini API con clave de AI Studio, mira Límites de Nano Banana 2: cuota en Gemini, AI Mode y la API.
Preguntas frecuentes
¿Las imágenes generadas con Vertex AI llevan marca de agua?
No llevan un logotipo visible, pero sí marcas invisibles: la documentación de Gemini indica que todas las imágenes generadas incluyen una marca SynthID, y las fichas de Nano Banana 2 y Pro en Agent Platform declaran compatibilidad con Content Credentials (C2PA). Afirmar que «en Vertex no hay marca de agua» solo es cierto si hablas de la marca visible.
¿Se puede hacer ajuste fino de Nano Banana en Vertex AI?
No. Las fichas de Nano Banana 2, Nano Banana Pro y Nano Banana 2 Lite marcan el ajuste (tuning) como no disponible. Para adaptar el estilo quedan el prompt, las instrucciones del sistema y las imágenes de referencia (hasta 14 por petición).
¿Puedo generar con Nano Banana Pro desde una región europea?
No. Nano Banana Pro solo está disponible en global. Si necesitas que el procesamiento ocurra en la UE, tu opción es Nano Banana 2 con location="eu", un 10 % más cara que en global. La estructura de las peticiones de Pro (plantillas JSON y errores habituales) está en API de Nano Banana Pro: llamada oficial, plantillas JSON/YAML y errores.
¿Tengo que reescribir mi código si ya usaba vertexai=True?
No necesariamente. vertexai=True sigue llevando al mismo endpoint que enterprise=True en la versión 2.25.0 del SDK. Lo que sí debes cambiar son los IDs -preview y, si lo tenías, un location regional como us-central1 en llamadas a Nano Banana 2 o Pro.





