MenúGeneración de imágenes

Generación de imágenes

Convierte una descripción en texto (prompt) en imágenes con los modelos de imagen de Google (familia Nano Banana / Gemini Image). El endpoint es compatible con la OpenAI Images API — basta con apuntar el SDK openai a la base URL de Geraikita, con la misma gk- key y el mismo saldo de GeraiPoints.

Endpoint

POSThttps://ai.geraikita.com/v1/images/generations
CabeceraValor
AuthorizationBearer gk-... (o x-api-key: gk-...)
Content-Typeapplication/json

Una solicitud = un prompt, que produce de 1 a 4 imágenes. No se admite streaming — la respuesta se envía de una vez cuando las imágenes están listas.

Parámetros del body

ParámetroTipoDescripción
modelstringobligatorioID del modelo de imagen, p. ej. gemini-3.1-flash-image o gemini-3-pro-image — la lista completa está en la tabla de precios de abajo.
promptstringobligatorioDescripción de la imagen que quieres, como máximo 4000 caracteres.
nintegeropcionalNúmero de imágenes, 1–4. Por defecto 1. Cada imagen generada con éxito se cobra por separado.
sizestringopcionalUno de auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792. Por defecto auto: el modelo elige la proporción, normalmente horizontal 16:9 (unos 1376×768). El tamaño es solo una pista de proporción — la resolución final la decide el modelo.
response_formatstringopcionalurl (por defecto) para un enlace a la imagen, o b64_json para los datos de la imagen en base64 directamente en la respuesta.

Los demás campos (p. ej. quality o style) se ignoran.

Ejemplos

El procesamiento suele tardar 15–45 segundos por solicitud y puede llegar a unos 4 minutos cuando se usa la ruta de respaldo. Configura un timeout del cliente de al menos 300 segundos para que la solicitud no se corte antes de que las imágenes estén listas.
curl https://ai.geraikita.com/v1/images/generations \
  --max-time 300 \
  -H "Authorization: Bearer gk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-image",
    "prompt": "Póster promocional de un café con leche y azúcar de palma sobre una mesa de madera, luz cálida de la mañana, texto grande \"20% DESCUENTO\" arriba, estilo de ilustración plana",
    "n": 1,
    "size": "1024x1024"
  }'

Respuesta de ejemplo

data contiene un objeto por cada imagen generada con éxito — url o b64_json según response_format. Si algunas imágenes fallan, puede haber menos objetos que n.

200 OK · application/json
{
  "created": 1793464057,
  "data": [
    { "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
  ]
}

Cabeceras de respuesta: X-Geraikita-Images = número de imágenes generadas con éxito, X-Geraikita-GP-Charged = GeraiPoints cobrados por esa solicitud.

Precios

Los modelos de imagen se cobran por imagen generada con éxito — no por token. Los precios actuales (sujetos a cambios) están en la tabla de abajo y en la página de precios.

Id del modeloNombrePor imagen
gemini-3.1-flash-imageNano Banana 2 (Gemini 3.1 Flash Image)100 GP / imagen
gemini-3-pro-imageNano Banana Pro (Gemini 3 Pro Image)100 GP / imagen
  • Las imágenes fallidas no se cobran, ni tampoco las solicitudes rechazadas (parámetros no válidos o infracciones de la política de contenido).
  • Tu saldo de GeraiPoints debe cubrir n × el precio por imagen antes de procesar la solicitud; si no, la respuesta es 402.
  • Los modelos de imagen no están incluidos en el Unlimited plan, en Bansos (nivel gratuito) ni en otras cuotas gratuitas — siempre se descuentan del saldo de GeraiPoints.
  • Cada imagen se registra como una fila en el historial de uso del dashboard, con la etiqueta Imagen.

Códigos de error

Los errores siguen el formato de OpenAI: un objeto error con message, type, param y code.

Estadotype / codeSignificado
400invalid_request_errorParámetro no válido (p. ej. n fuera de 1–4, size desconocido, prompt vacío o demasiado largo). No se cobra.
400content_policy_violationEl prompt infringe la política de contenido (ver abajo). No se cobra.
401—API key ausente o no válida.
402insufficient_quotaGeraiPoints insuficientes para el número de imágenes solicitado — recarga, por favor.
403—Este modelo no está permitido para esa API key — añádelo a la lista de modelos de la key en el dashboard.
404model_not_foundModelo desconocido o que no es de imagen.
429rate_limit_exceededDemasiadas solicitudes — el límite es de 10 solicitudes/minuto por key. Espera lo que indique la cabecera Retry-After.
502image_generation_failedLa generación de la imagen falló en el servidor. No se cobra — inténtalo de nuevo.
Ejemplo de error
{
  "error": {
    "message": "...",
    "type": "...",
    "param": "...",
    "code": "..."
  }
}

Llamar a un modelo de imagen mediante /v1/chat/completions devuelve 400 con una indicación hacia este endpoint — usa /v1/images/generations.

Consejos para el prompt

  • Los prompts pueden escribirse en español, inglés, indonesio u otros idiomas.
  • El modelo puede escribir texto dentro de la imagen — pon el texto exacto entre comillas, p. ej. el texto "20% DESCUENTO".
  • Describe el sujeto, el entorno, el estilo (foto, ilustración plana, 3D, acuarela), la iluminación y la composición — cuanto más concreto, más fiel el resultado.
  • Elige size según el uso: 1024x1024 para el feed, 1024x1792 para stories/vertical, 1792x1024 para banners horizontales.
  • ¿Necesitas varias variantes? Usa n hasta 4 en una sola solicitud — recuerda que cada imagen generada con éxito se cobra.

Política de contenido

Las siguientes solicitudes se rechazan:

  • Contenido sexual o explícito.
  • Contenido que explote o ponga en peligro a menores.
  • Violencia sádica o gore.
  • Figuras políticas reales o personajes públicos reales.

Los rechazos devuelven 400 con el código content_policy_violation y no se cobran.

Enlaces de imagen y almacenamiento

La URL de data[].url es pública — cualquiera que tenga el enlace puede abrir la imagen — y no se garantiza que esté disponible para siempre. Descarga y guarda una copia en tu propio almacenamiento justo después de generarla, o pide b64_json para recibir los datos de la imagen directamente en la respuesta.