curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-nano-banana-2.1",
"prompt": "Un gato jugando en la hierba",
"size": "16:9",
"quality": "2K"
}
'{
"created": 1757165031,
"id": "task-unified-1757165031-uyujaw3d",
"model": "gemini-nano-banana-2.1",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 45
},
"type": "image",
"usage": {
"billing_rule": "per_image",
"credits_reserved": 3.0845,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gemini-nano-banana-2.1",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Generación de imágenes Nanobanana 2.1
- Nano Banana 2.1 (gemini-nano-banana-2.1) admite generación de imágenes a partir de texto o imágenes, edición y composición de varias imágenes, con resoluciones de salida
1K,2Ky4K - Procesamiento asíncrono: usa el ID de tarea devuelto para consultar la tarea
- Los enlaces de las imágenes generadas son válidos durante 24 horas. Guarda las imágenes lo antes posible
- Facturación: las imágenes de salida se facturan según su resolución, las imágenes de entrada por imagen y las búsquedas web y de imágenes según el número de búsquedas realizadas. El texto del prompt, la salida de texto y el razonamiento se facturan por token. Los cargos reales se determinan a partir de los datos
usagedevueltos al consultar la tarea
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-nano-banana-2.1",
"prompt": "Un gato jugando en la hierba",
"size": "16:9",
"quality": "2K"
}
'{
"created": 1757165031,
"id": "task-unified-1757165031-uyujaw3d",
"model": "gemini-nano-banana-2.1",
"object": "image.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 45
},
"type": "image",
"usage": {
"billing_rule": "per_image",
"credits_reserved": 3.0845,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gemini-nano-banana-2.1",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Autorizaciones
##Todas las APIs requieren autenticación Bearer Token##
Obtener API Key:
Visita la Página de gestión de API Key para obtener tu API Key
Agregar al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY
Cuerpo
Nombre del modelo de generación de imágenes, canal oficial, mejor estabilidad y controlabilidad, adecuado para escenarios comerciales
gemini-nano-banana-2.1 "gemini-nano-banana-2.1"
Prompt que describe la imagen que se desea generar o cómo editar una imagen de entrada, hasta 4000 tokens
"Un gato jugando en la hierba"
Relación de aspecto de la imagen generada, por defecto es auto
auto, 1:1, 1:4, 4:1, 1:8, 8:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 Resolución de la imagen generada, 2K por defecto
Nota:
- Los precios varían según la resolución. Las imágenes de salida se facturan según la resolución seleccionada. Se recomienda especificar este parámetro de forma explícita
1K, 2K, 4K Lista de URL de imágenes de referencia para la generación a partir de imágenes, la edición y la composición de varias imágenes
Nota:
- Hasta
14imágenes de entrada por solicitud - Tamaño de la imagen: no más de
20MB - Formatos admitidos:
.jpeg,.jpg,.png,.webp - El servidor debe poder acceder directamente a las URL o estas deben iniciar una descarga directa de la imagen (estas URL suelen terminar con una extensión de imagen como
.pngo.jpg) - Las imágenes de entrada se facturan por imagen
14[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
Parámetros de extensión del modelo
Show child attributes
Show child attributes
Dirección de callback HTTPS después de completar la tarea
Momento del callback:
- Se activa cuando la tarea se completa, falla o se cancela
- Se envía después de completar la confirmación de facturación
Restricciones de seguridad:
- Solo se admite el protocolo HTTPS
- El callback a direcciones IP internas está prohibido (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longitud de la URL no debe exceder
2048caracteres
Mecanismo de callback:
- Tiempo de espera:
10segundos - Máximo
3reintentos en caso de fallo (reintentos después de1segundo/2segundos/4segundos) - El formato del cuerpo de respuesta del callback es consistente con el formato de respuesta de la API de consulta de tareas
- La dirección de callback que devuelve un código de estado 2xx se considera exitosa, otros códigos de estado activarán reintentos
"https://your-domain.com/webhooks/image-task-completed"
Respuesta
Tarea de generación de imagen creada exitosamente
Marca de tiempo de creación de la tarea
1757165031
ID de tarea
"task-unified-1757165031-uyujaw3d"
Nombre del modelo real utilizado
"gemini-nano-banana-2.1"
Tipo de tarea específico
image.generation.task Porcentaje de progreso de la tarea (0-100)
0 <= x <= 1000
Estado de la tarea
pending, processing, completed, failed "pending"
Información de tarea asíncrona
Show child attributes
Show child attributes
Tipo de salida de la tarea
text, image, audio, video "image"
Información de uso y facturación
Show child attributes
Show child attributes