API de Nano Banana 2: cómo usarla en tus proyectos
Nano Banana 2 es la API de texto a imagen rápida de Google, pensada para desarrolladores que integran la generación de imágenes con IA a gran escala. Este artículo cubre la autenticación, el formato de las peticiones, el manejo de errores, los límites de uso y el uso paso a paso en PicassoIA, con ejemplos de código funcionales en Python y Node.js.
Si necesitas generar imágenes de forma programática, la API de Nano Banana 2 de Google te ofrece uno de los caminos más rápidos desde un prompt de texto hasta un resultado listo para producción. Disponible directamente a través de la infraestructura de API de Google y también en plataformas como PicassoIA, nano-banana-2 combina edición conversacional, fusión de varias imágenes y anclaje a la web en tiempo real en un modelo al que puedes llamar con una sencilla petición HTTP POST. Tanto si estás creando un flujo de contenido, lanzando una función de visualización de productos o prototipando una app que necesita imágenes con IA bajo demanda, esta es la forma de conectarlo bien.
Qué hace realmente Nano Banana 2
La mayoría de los modelos de texto a imagen funcionan igual: envías un prompt y el modelo devuelve una imagen. Nano Banana 2 hace eso, pero añade tres capacidades que cambian la forma en que diseñas tu integración.
El contexto conversacional significa que el modelo recuerda lo que generaste en la misma sesión. Puedes describir un personaje una vez y luego hacer peticiones de seguimiento como "cambia el fondo por una azotea al atardecer" o "cambia el color de la chaqueta a burdeos", y el modelo mantiene el hilo visual sin que tengas que repetir la descripción completa cada vez.
La fusión de varias imágenes te permite pasar hasta 14 imágenes de referencia en una sola petición. El modelo combina elementos, estilos visuales o personajes de cada entrada en un único resultado coherente. Esto resulta especialmente útil en trabajos de marca en los que necesitas rostros, logotipos o fotos de producto coherentes en varias imágenes generadas.
El anclaje a la web en tiempo real conecta el proceso de generación con Google Search. Si tu prompt hace referencia a algo actual, como un evento deportivo reciente, un producto recién lanzado o una tendencia de temporada, el modelo toma contexto visual nuevo de la web en lugar de depender solo de datos de entrenamiento congelados en una fecha de corte.
Velocidad frente a calidad: las contrapartidas
El "nano" del nombre es acertado. Este modelo está optimizado para el rendimiento. En prompts habituales genera más rápido que flux-1.1-pro o sdxl, y la salida predeterminada de 1K está lista para uso web al instante. Cuando necesitas más fidelidad, subir a resolución 2K o 4K añade latencia, pero ofrece resultados que aguantan la impresión o la visualización digital en gran formato.
Cómo encaja en el conjunto de modelos de imagen de Google
Google ofrece varios modelos de texto a imagen. Nano Banana 2 se sitúa entre el nano-banana original y el nano-banana-pro, de gama alta. Para comparar:
Para la mayoría de escenarios de desarrollo de aplicaciones, nano-banana-2 es el punto óptimo.
Configurar el acceso a la API
Obtener tus credenciales
El acceso a la API de Nano Banana 2 requiere un token de API. Lo obtienes a través de la plataforma Replicate, que aloja el modelo, propiedad de Google. Después de crear una cuenta y generar un token, guárdalo como variable de entorno:
export REPLICATE_API_TOKEN="your_token_here"
Nunca incluyas tokens directamente en los archivos de código. Si despliegas en una plataforma en la nube, usa el servicio de gestión de secretos de tu proveedor en lugar de archivos .env.
Entender la URL base
La API sigue las convenciones REST estándar. Todas las peticiones van al endpoint de Replicate con el identificador del modelo en la ruta. El patrón general:
POST https://api.replicate.com/v1/models/{owner}/{model}/predictions
Para nano-banana-2, se traduce en:
POST https://api.replicate.com/v1/models/google/nano-banana-2/predictions
Cada petición debe incluir dos cabeceras: Authorization: Bearer {token} y Content-Type: application/json.
Anatomía de una petición básica
Parámetros obligatorios
Solo un parámetro es obligatorio para generar una imagen:
Parámetro
Tipo
Descripción
prompt
string
Descripción en texto de la imagen que quieres
Esa sencillez es intencionada. Una petición funcional puede ser tan mínima como cinco líneas de JSON:
{
"input": {
"prompt": "A modern studio apartment at golden hour, warm light from west-facing windows, wooden floors, minimal furniture"
}
}
Parámetros opcionales que cambian los resultados
El control real está en los parámetros opcionales:
Parámetro
Tipo
Predeterminado
Notas
resolution
string
1K
Opciones: 1K, 2K, 4K
aspect_ratio
string
match_input_image
15 preajustes, p. ej. 16:9, 9:16, 1:1
image_input
array
[]
Hasta 14 URL de imágenes de referencia
image_search
boolean
false
Activa el anclaje con la búsqueda de imágenes de Google
google_search
boolean
false
Activa el anclaje con búsqueda web en tiempo real
output_format
string
jpg
jpg o png
💡 Configurar aspect_ratio en 16:9 y resolution en 2K cubre la mayoría de casos de uso para contenido web: páginas de destino, cabeceras de blog y banners para redes sociales.
Leer la respuesta JSON
Una predicción correcta devuelve HTTP 201. El cuerpo de la respuesta incluye un ID de predicción y un campo de estado:
La generación es asíncrona. Consultas la URL get hasta que status cambia a succeeded, momento en el que output contiene la URL de la imagen o los datos en base64, según tu configuración.
Código que funciona ahora mismo
Python en menos de 20 líneas
El cliente de Python de replicate se encarga del bucle de consulta por ti. Instálalo con pip install replicate y después:
import replicate
import os
client = replicate.Client(api_token=os.environ["REPLICATE_API_TOKEN"])
output = client.run(
"google/nano-banana-2",
input={
"prompt": "A professional product photo of a ceramic coffee mug on a marble surface, soft studio lighting, 4K, photorealistic",
"resolution": "2K",
"aspect_ratio": "1:1",
"output_format": "jpg"
}
)
# output is a list of FileOutput objects
image_url = str(output[0])
print(image_url)
El método client.run() se bloquea hasta que la predicción termina y devuelve la salida directamente. Para flujos de producción, cambia a client.predictions.create() y gestiona tú la consulta, así puedes procesar otro trabajo mientras se generan las imágenes.
Patrón asíncrono en Node.js
Para los desarrolladores de JavaScript, el paquete npm de Replicate ofrece la misma abstracción:
import Replicate from "replicate";
const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});
async function generateImage(prompt, resolution = "1K") {
const output = await replicate.run("google/nano-banana-2", {
input: {
prompt,
resolution,
aspect_ratio: "16:9",
output_format: "jpg",
},
});
return output[0]; // URL to the generated image
}
generateImage("A minimalist home office setup, morning light, wooden desk, single plant")
.then(url => console.log("Generated:", url))
.catch(err => console.error("Failed:", err.message));
Para flujos de gran volumen, usa Promise.all() para lanzar varias peticiones a la vez en lugar de esperar cada una en secuencia. Nano Banana 2 gestiona bien las peticiones simultáneas con la resolución predeterminada de 1K.
Cómo usar Nano Banana 2 en PicassoIA
Si prefieres un enfoque sin código o con poco código para probar antes de construir tu integración, PicassoIA te da acceso directo a nano-banana-2 a través de una interfaz limpia en el navegador. También es una forma rápida de validar prompts antes de incluirlos en tu código.
Paso 1: abre la página del modelo
Ve a la página de nano-banana-2 en PicassoIA. Verás el campo de prompt y todas las opciones de configuración disponibles directamente en la página.
Paso 2: escribe un prompt que funcione
El prompt es el único campo obligatorio. Escribe en inglés, de forma clara y descriptiva. Sé específico con la iluminación, el escenario, el ambiente y el tema. Los prompts vagos producen resultados genéricos. Compara estos dos:
Débil: "A woman in a city"
Fuerte: "A woman in her 30s with dark hair wearing a tan trench coat, walking through a rainy Paris street at dusk, wet cobblestones reflecting shop lights, shallow depth of field"
La versión más fuerte da al modelo puntos de anclaje: una persona con rasgos concretos, un escenario, una hora del día, condiciones meteorológicas y una propiedad fotográfica. Nano Banana 2 responde bien a este nivel de detalle.
Paso 3: elige la resolución y la relación de aspecto
Selecciona tu resolución en el desplegable resolution:
1K para publicaciones en redes sociales, miniaturas o iteraciones rápidas
2K para páginas de destino, cabeceras de blog y páginas de producto
4K para materiales impresos, visualización en gran formato o cuando necesitas recortar mucho
Elige la relación de aspecto entre los 15 preajustes disponibles. Para banners web usa 16:9. Para contenido social orientado en vertical usa 9:16. Para publicaciones cuadradas usa 1:1.
💡 Si trabajas con imágenes de referencia, súbelas al campo de entrada de imágenes. El modelo lee hasta 14 a la vez y las usa como contexto visual. Esto resulta especialmente útil para mantener la coherencia de marca en un conjunto de imágenes generadas.
Paso 4: activa el anclaje web cuando sea relevante
Activa Google Search si tu prompt incluye hechos de actualidad, lugares reales o contexto visual sensible al tiempo. Activa Image Search si quieres que el modelo tome imágenes reales de la web como referencia visual para tu tema. Ambas opciones añaden un poco de latencia, pero mejoran mucho la relevancia en prompts contextuales.
Paso 5: genera y descarga
Haz clic en el botón de generar. Nano Banana 2 es rápida en 1K y suele devolver resultados en unos pocos segundos. En 4K, espera entre 15 y 30 segundos según la carga del servidor. Descarga tu resultado directamente desde el panel de resultados.
Errores con los que te vas a topar
Códigos de estado HTTP habituales
La mayoría de los problemas de integración vienen de uno de cuatro sitios: la autenticación, los cuerpos de petición mal formados, los límites de uso o los fallos de validación específicos del modelo.
Código de estado
Significado
Solución
401
Token de API no válido o ausente
Revisa tu cabecera Authorization y el valor del token
422
Error de validación en la entrada
Lee el mensaje de error; normalmente falta un campo obligatorio o el tipo de dato es incorrecto
429
Límite de uso superado
Implementa un backoff exponencial; revisa el límite de RPM de tu plan
500
Error del servidor
Reintenta una vez; si persiste, consulta la página de estado de Replicate
El error 422 es el más común en las integraciones nuevas. El cuerpo de la respuesta incluirá un campo detail que describe exactamente qué parámetro falló la validación y por qué.
Límites de uso y cómo respetarlos
Las cuentas gratuitas de Replicate tienen un límite de peticiones por minuto. Para cargas de producción, mejora a un plan de pago o implementa una cola local que agrupe las peticiones en lugar de enviarlas todas a la vez.
Un patrón sencillo de cubo de tokens en Python:
import time
from collections import deque
class RateLimiter:
def __init__(self, max_per_minute):
self.max_per_minute = max_per_minute
self.requests = deque()
def wait_if_needed(self):
now = time.time()
while self.requests and self.requests[0] < now - 60:
self.requests.popleft()
if len(self.requests) >= self.max_per_minute:
sleep_time = 60 - (now - self.requests[0])
time.sleep(sleep_time)
self.requests.append(time.time())
Envuelve cada llamada a la API con rate_limiter.wait_if_needed() antes de hacer la petición y no volverás a ver un 429 en un flujo de producción.
Qué puedes construir con esta API
Maquetas de productos para comercio electrónico
En lugar de programar una sesión de fotos de producto cada vez que añades un SKU, puedes generar fotos contextuales bajo demanda. Envía la imagen de tu producto mediante image_input, describe el escenario que quieres (una encimera de cocina, una mesa de café, una escena de estilo de vida al aire libre) y nano-banana-2 integra el producto en un entorno fotorrealista. En líneas de producto con varias variantes de color, genera una escena base y usa la edición conversacional para cambiar los colores en peticiones de seguimiento, sin repetir una generación completa cada vez.
Flujos de marketing de contenidos
Los flujos de publicación de blog que antes requerían un diseñador pueden pasar por la API. En el momento de publicar, tu CMS envía el título y el tema del artículo a la API, recibe una imagen y la adjunta a la publicación automáticamente. En campañas ligadas a temas de tendencia, activa el anclaje con google_search para que las imágenes reflejen lo que realmente está pasando y no lo que el modelo aprendió durante el entrenamiento.
Prototipos de apps con imágenes reales
Las imágenes de relleno ralentizan las revisiones de diseño. Cuando integras nano-banana-2 en tu flujo de prototipado, cada pantalla de tu maqueta muestra una imagen generada y contextualmente relevante en lugar de cuadros grises. Describe el contenido de la sección y deja que la API lo rellene. Los implicados ven diseños realistas y dan comentarios más concretos y útiles.
Flujos de trabajo con varios modelos
Nano Banana 2 no tiene por qué trabajar sola. Una arquitectura habitual la combina con otros modelos para el procesamiento secuencial: usa nano-banana-2 para generar un borrador rápido y luego pasa el resultado a un modelo de superresolución para escalarlo a calidad de impresión. O genera una imagen con nano-banana-2 y después usa un modelo de inpainting para refinar regiones concretas sin regenerar toda la composición.
PicassoIA te da acceso a todos estos modelos en un solo lugar, incluido gpt-image-1.5 para tareas que exigen seguir instrucciones y flux-2-pro para resultados fotorrealistas de alta fidelidad cuando se necesita la máxima calidad.
Los parámetros adecuados para cada proyecto
Cada tipo de proyecto requiere una configuración distinta. Aquí tienes una tabla de referencia:
Tipo de proyecto
Resolución
Relación de aspecto
Anclaje web
Publicación en redes sociales
1K
1:1 o 9:16
Desactivado
Cabecera de blog
2K
16:9
Desactivado
Maqueta de producto
2K
1:1 o 4:3
Desactivado
Contenido relacionado con eventos
1K
16:9
Activado (Google Search)
Trabajo de coherencia de marca
2K
La relación de tu marca
Desactivado + image_input
Materiales impresos
4K
4:3 o personalizada
Desactivado
Cuando trabajes con imágenes de referencia mediante image_input, incluye al menos dos imágenes si quieres que el modelo capte un estilo visual. Una única imagen de referencia suele dar como resultado una imitación directa en lugar de la adopción de un estilo. Con varias referencias, el modelo identifica el hilo visual común entre ellas.
Empieza a generar en PicassoIA hoy
La forma más rápida de ver lo que nano-banana-2 puede hacer para tu caso de uso concreto es ejecutar algunos prompts antes de escribir código de integración. PicassoIA te da acceso inmediato al modelo en este enlace, con todos los parámetros visibles y ajustables en una sola interfaz.
Prueba un prompt que coincida con tu caso de uso real de producción. Revisa la salida en 1K primero por velocidad y luego sube a 2K o 4K una vez que tengas un prompt que produzca el estilo visual que buscas. Cuando encuentres una configuración que funcione, replícala exactamente en tus llamadas a la API y obtendrás resultados constantes a escala.
Si necesitas una salida de mayor fidelidad para trabajos comerciales, prueba nano-banana-pro frente a nano-banana-2 con los mismos prompts y compara los resultados lado a lado. La diferencia de calidad se aprecia en 4K y es importante para la impresión o la visualización en gran formato.
Más allá de la generación de imágenes, PicassoIA también ofrece más de 87 modelos de generación de video, herramientas de superresolución para escalar tus resultados y eliminación de fondo para flujos de comercio electrónico. Todo funciona a través de la misma interfaz o de la API.