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
https://ai.geraikita.com/v1/images/generations| Cabecera | Valor |
|---|---|
| Authorization | Bearer gk-... (o x-api-key: gk-...) |
| Content-Type | application/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ámetro | Tipo | Descripción |
|---|---|---|
model | stringobligatorio | ID 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. |
prompt | stringobligatorio | Descripción de la imagen que quieres, como máximo 4000 caracteres. |
n | integeropcional | Número de imágenes, 1–4. Por defecto 1. Cada imagen generada con éxito se cobra por separado. |
size | stringopcional | Uno 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_format | stringopcional | url (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
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.
{
"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 modelo | Nombre | Por imagen |
|---|---|---|
| gemini-3.1-flash-image | Nano Banana 2 (Gemini 3.1 Flash Image) | 100 GP / imagen |
| gemini-3-pro-image | Nano 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 es402. - 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.
| Estado | type / code | Significado |
|---|---|---|
| 400 | invalid_request_error | Parámetro no válido (p. ej. n fuera de 1–4, size desconocido, prompt vacío o demasiado largo). No se cobra. |
| 400 | content_policy_violation | El prompt infringe la política de contenido (ver abajo). No se cobra. |
| 401 | — | API key ausente o no válida. |
| 402 | insufficient_quota | GeraiPoints 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. |
| 404 | model_not_found | Modelo desconocido o que no es de imagen. |
| 429 | rate_limit_exceeded | Demasiadas solicitudes — el límite es de 10 solicitudes/minuto por key. Espera lo que indique la cabecera Retry-After. |
| 502 | image_generation_failed | La generación de la imagen falló en el servidor. No se cobra — inténtalo de nuevo. |
{
"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
sizesegún el uso:1024x1024para el feed,1024x1792para stories/vertical,1792x1024para banners horizontales. - ¿Necesitas varias variantes? Usa
nhasta 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
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.