Skip to content
NUEVONano Banana 2.1 ya está disponible: el nuevo modelo de imagen de Google, desde $0.0336 por imagen, 4K nativo y aproximadamente la mitad de precio que la generación anteriorVer modelo
HopBase
← Volver al blog

API de Nano Banana 2.1: desde $0.0336 por imagen | HopBase

Respuesta corta: Nano Banana 2.1 (ID de modelo gemini-nano-banana-2.1) ya está disponible en HopBase. Es el modelo eficiente más reciente de Google para generar y editar imágenes, y Google destaca mejoras en calidad visual, tipografía y coherencia en varias rondas. Para quienes lo integran, dos cambios son los más relevantes: cada imagen cuesta aproximadamente la mitad que con Nano Banana 2 ($0.0336 por imagen 1K, $0.0504 en 2K) porque la tarifa de salida de imagen bajó de $60 a $30 por millón de tokens, y la salida nativa en 4K es nueva, a $0.113 por imagen. La tarifa de entrada subió a $1.50 por millón de tokens, por lo que las ediciones con muchas imágenes de referencia ahorran menos que el texto a imagen simple. Funciona en /v1/images/generations y /v1/chat/completions con la misma URL base https://api.hop-base.com, admite 10 relaciones de aspecto oficiales y, para 2K / 4K, el encabezado Prefer: respond-async evita tiempos de espera agotados. Las generaciones fallidas no se cobran y usage.cost_usd informa del cargo real. Antes de enviar solicitudes de pago, confirme que GET /v1/models lo muestra para su clave.

Qué cambia frente a Nano Banana 2

ConceptoNano Banana 2
gemini-3.1-flash-image
Nano Banana 2.1
gemini-nano-banana-2.1
1K por imagen$0.0672$0.0336 (la mitad)
2K por imagen$0.0672$0.0504
4KNo disponible (máximo 2K)$0.113 por imagen
Salida de imagen$60 / 1M tokens$30 / 1M tokens
Entrada$0.50 / 1M tokens$1.50 / 1M tokens

La bajada de precio se debe a que la tarifa de salida de imagen se redujo a la mitad. La tarifa de entrada, en cambio, subió, así que las ediciones con muchas imágenes de referencia ahorran menos que el texto a imagen simple: cuantas más y más grandes sean las imágenes de referencia, mayor es el peso de la entrada. Para texto a imagen y ediciones con pocas referencias, "aproximadamente la mitad del precio por imagen" es una buena estimación.

Precios (precio de lista oficial)

ConceptoPrecio de lista
Entrada (texto / imagen)$1.50 / 1M tokens
Salida de texto y razonamiento$7.50 / 1M tokens
Salida de imagen$30 / 1M tokens
Lectura de caché$0.075 / 1M tokens
Por imagen 1K / 2K / 4K$0.0336 / $0.0504 / $0.113

Estos son los precios de lista de Google. Su tarifa real depende de su grupo y se muestra en la Plaza de modelos tras iniciar sesión; el registro de uso de la consola muestra el cargo de cada solicitud.

Tamaños, relaciones de aspecto y velocidad

  • Tres niveles: 1K, 2K y 4K. Una imagen 16:9 en 4K midió 5504 × 3072.
  • 10 relaciones de aspecto oficiales: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9.
  • Latencia típica (medida en el servidor): unos 10–15 s en 1K, unos 20 s en 2K y unos 30–57 s en 4K.

Para imágenes 2K / 4K se recomienda añadir el encabezado Prefer: respond-async: recibirá un task_id de inmediato y podrá consultar GET /v1/images/tasks?task_id=…, de modo que las solicitudes largas no se corten por tiempos de espera del cliente o de la red.

Empiece en tres minutos

1. curl: texto a imagen con relación de aspecto y nivel

curl https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-nano-banana-2.1",
    "prompt": "Coffee shop poster for a new drink, headline text \"Autumn Latte\", warm tones, magazine layout",
    "google": {
      "image_config": { "aspect_ratio": "3:4", "image_size": "2K" }
    }
  }' \
  | jq -r '.data[0].b64_json' | base64 --decode > result.png

También puede pasar "aspect_ratio" / "image_size" como campos planos de nivel superior, con el mismo efecto. Si solo envía size (p. ej. "2048x1152"), el gateway lo asigna a la relación de aspecto oficial más cercana y deduce el nivel a partir del lado más largo.

2. SDK de Python de OpenAI

import base64
from openai import OpenAI

client = OpenAI(
    base_url="https://api.hop-base.com/v1",
    api_key="sk-your-key",
)

resp = client.images.generate(
    model="gemini-nano-banana-2.1",
    prompt="A convenience store on a rainy neon street corner, sign reads OPEN 24H, cinematic",
    extra_body={
        "google": {
            "image_config": {"aspect_ratio": "16:9", "image_size": "4K"}
        }
    },
)

item = resp.data[0]
# The result may be JPEG; pick the extension from mime_type
ext = "jpg" if getattr(item, "mime_type", "") == "image/jpeg" else "png"
with open(f"result.{ext}", "wb") as f:
    f.write(base64.b64decode(item.b64_json))

3. Generar imágenes desde Chat Completions

Los clientes que solo usan la API de chat, como Cherry Studio, pueden simplemente seleccionar gemini-nano-banana-2.1; la imagen se devuelve como una data URL incrustada en markdown:

curl https://api.hop-base.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-nano-banana-2.1",
    "messages": [
      {"role": "user", "content": "A shiba inu wearing a scarf, watercolor style"}
    ]
  }'

Para controlar con precisión la relación de aspecto y el nivel, use la Images API descrita arriba.

Edición con imágenes de referencia

Ambos grupos aceptan imágenes de referencia (URL o data URL) en el campo image / images de /v1/images/generations. El grupo "Gemini (all models, incl. image)" ofrece además el endpoint compatible con OpenAI /v1/images/edits, para subir archivos locales directamente:

curl https://api.hop-base.com/v1/images/edits \
  -H "Authorization: Bearer sk-your-key" \
  -F "model=gemini-nano-banana-2.1" \
  -F "prompt=Recolor the cup using the palette from the second image, keep everything else unchanged" \
  -F "image[]=@cup.png" \
  -F "image[]=@palette.png" \
  -F "aspect_ratio=1:1" \
  -F "image_size=2K"

Qué grupo usar

GrupoEndpoints
Gemini (all models, incl. image)/v1/images/generations, /v1/images/edits, /v1/chat/completions
Gemini Official Direct/v1/images/generations, /v1/chat/completions (para editar, pase las imágenes de referencia a generations)

Ambos grupos facturan al precio oficial multiplicado por el descuento del grupo; consulte la Plaza de modelos de la consola para ver el descuento de cada grupo. Antes de enviar solicitudes de pago, llame a GET /v1/models con la clave que vaya a usar y confirme que aparece gemini-nano-banana-2.1.

Casos de uso adecuados

  • Generación a gran volumen: fotos de producto para e-commerce, imágenes para redes sociales, creatividades para pruebas A/B. Reducir a la mitad el costo por imagen se nota rápidamente a escala.
  • Diseños con texto: pósteres, portadas, tarjetas informativas. La tipografía es una de las mejoras principales de esta generación, aunque se recomienda revisar igualmente el texto renderizado.
  • Edición en varias rondas: refine detalles sobre el resultado anterior; Google pone énfasis en la coherencia en varias rondas.
  • Entrega en alta resolución: cuando necesite 4K para impresión o pantallas grandes, no hace falta cambiar a un modelo más caro.

Preguntas frecuentes

¿La API es la misma que la de Nano Banana 2?

Sí. La estructura de la solicitud, los parámetros y el formato de respuesta no cambian; basta con configurar model como gemini-nano-banana-2.1. Si antes estaba limitado a 2K, ahora puede configurar image_size como 4K.

¿Puedo generar varias imágenes por solicitud?

Sí, use n; el gateway las genera en paralelo. Funciona como todo o nada: si alguna imagen falla, toda la solicitud falla y no se cobra. Los tamaños grandes, como 4K, tienen un límite más bajo para n, y superarlo devuelve 400.

¿Se admiten fondos transparentes o inpainting con máscara?

No. background: "transparent" y mask devuelven 400; describa en el prompt la zona que desea cambiar.

¿Se cobran los fallos?

No. Los errores de validación y las generaciones fallidas son gratuitos. Solo se cobran las solicitudes que entregan imágenes, y la respuesta síncrona informa del cargo real en usage.cost_usd.

¿En qué formato se devuelven los resultados?

La Images API devuelve data[].b64_json de forma síncrona, posiblemente en JPEG, así que compruebe data[].mime_type antes de guardar. Las tareas asíncronas devuelven una URL de imagen al completarse; descárguela pronto a su propio almacenamiento.