ViNano AI API
API REST potente de generación de imágenes con IA, intégrala en tu aplicación en solo unas pocas líneas de código
Requisitos de uso de API
- Se requiere suscripción al plan Advanced
- Usuarios del plan anual: Límite de tasa de 200 solicitudes/minuto
- Usuarios del plan mensual: Límite de tasa de 20 solicitudes/minuto
¿Necesitas características de API más avanzadas?
Si necesitas límites de tasa más altos, soporte empresarial o características personalizadas, envía un correo electrónico a:
[email protected]Skills y Guías de integración
Explore guías de integración API, ejemplos de código y mejores prácticas para ViNano AI API
Ver en GitHubQué puedes esperar
Diseñado para desarrolladores que necesitan procesamiento de imágenes a gran escala
Ultrarrápida
Procesa imágenes en milisegundos con nuestra infraestructura de API optimizada
Integración sencilla
API RESTful con documentación completa y SDK en varios idiomas
Precios flexibles
Paga solo por lo que usas, con precios transparentes y pensados para desarrolladores
Instrucciones de llamada a API
Aprende cómo usar la API de ViNano AI para generación de imágenes
Inicio rápido
Integra generación de imágenes con IA en solo unas pocas líneas de código
POST https://vinano.ai/api/v2/images/generatecurl -X POST https://vinano.ai/api/v2/images/generate \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "prompt=a beautiful sunset over the ocean" \
-F "model=gemini-2.5-flash-image-preview" \
-F "aspectRatio=16:9" \
-F "googleSearch=false" \
-F "mode=txt2img"Parámetros de solicitud
| Parámetro | Tipo | Requerido | Potente API de edición de imágenes para desarrolladores. Transforma imágenes con lenguaje natural en milisegundos. |
|---|---|---|---|
| prompt | string | No* | Prompt de generación de imagen (máx. 2000 caracteres) |
| image | File / File[] | No* | Archivo(s) de imagen cargado(s) (múltiples soportados) |
| imageUrl | string / string[] | No* | Existing image URL(s) (supports multiple URLs) |
| model | string | No | Modelo de IA, soporta gemini-2.5-flash-image-preview, sora_image |
| aspectRatio | string | No | Relación de aspecto, ej: 1:1, 16:9, 9:16 |
| mode | string | No | Modo opcional de generación, p. ej. photo_restoration (fotos antiguas), figure, meme, etc. Ver todos los modos |
| hdPro | boolean | No | Si se debe usar el modo HD (consume 30 créditos, modo normal 10 créditos) |
| img_size | string | No | Tamaño de imagen: 1k, 2k, 4k (solo modelo gemini-3-pro-image-preview, créditos: 1k=30, 2k=50, 4k=80) |
| googleSearch | boolean | No | Habilitar mejora de búsqueda (solo compatible con el modelo gemini-3.1-pro-image-preview, predeterminado false) |
* Se debe proporcionar prompt o image
Modelos soportados
- gemini-2.5-flash-image-preview- Nano Banana (predeterminado)
- gemini-3.1-pro-image-preview- Nano Banana 2 (soporta relaciones extendidas 4:1, 1:4, 8:1, 1:8)
- gemini-3-pro-image-preview- Nano Banana Pro
- sora_image- GPT-Image 2
- Seedance-5.0- Seedance 5.0 (solo 2K/3K, texto a imagen e imagen a imagen, con búsqueda web)
- Z-Image- ViNano Basic (Z-Image, solo texto a imagen)
Formato de respuesta
Respuesta exitosa (200)
{
"status": 200,
"images": ["https://example.com/generated-image.jpg"],
"imageDetails": [{
"width": 1024,
"height": 1024,
"filesize": 524288
}],
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"prompt": "a beautiful sunset",
"model": "gemini-2.5-flash-image-preview",
"credits": {
"cost": 10
}
}⚡ API de Generación de Imágenes Asíncrona
POST https://vinano.ai/api/v1/images/asyncGET https://vinano.ai/api/v1/images/task-status?task_id={task_id}# Step 1: Submit async task (same parameters as sync API)
curl -X POST "https://vinano.ai/api/v1/images/async" \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "prompt=a beautiful sunset" \
-F "model=gemini-2.5-flash-image-preview"
# Response (202):
# {
# "status": 202,
# "task_id": "550e8400-e29b-41d4-a716-446655440000",
# "message": "Task submitted. Use GET /api/v1/images/task-status?task_id={task_id} to poll for results.",
# "model": "gemini-2.5-flash-image-preview",
# "credits": { "cost": 10 }
# }
# Step 2: Poll task status (repeat every 3-5s until status=200)
curl -X GET "https://vinano.ai/api/v1/images/task-status?task_id=550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
# Response when completed:
# {
# "status": 200,
# "images": ["https://example.com/generated-image.jpg"],
# "imageDetails": [{
# "width": 1024,
# "height": 1024,
# "filesize": 524288
# }],
# "uuid": "550e8400-e29b-41d4-a716-446655440000",
# "prompt": "a beautiful sunset",
# "model": "gemini-2.5-flash-image-preview",
# "credits": {
# "cost": 10
# }
# }Explicación de códigos de error
| Código de estado | Potente API de edición de imágenes para desarrolladores. Transforma imágenes con lenguaje natural en milisegundos. |
|---|---|
| 400 | Parámetros requeridos faltantes o validación de parámetros fallida |
| 401 | Token de API inválido, faltante o malformado |
| 403 | Cuenta deshabilitada, no suscrito al plan Advanced o sin permiso de API |
| 413 | El tamaño del archivo excede el límite (100MB) |
| 429 | Límite de tasa excedido (límite por minuto excedido) |
| 495 | Créditos insuficientes |
| 500 | Error interno del servidor o fallo en generación de imagen |
Mejores prácticas
Mantén el Token de API seguro
No compartas tu Token de API con otros ni lo expongas en repositorios de código
Implementar manejo de errores
Maneja todos los códigos de error posibles, especialmente 429 (límite de tasa) y 495 (créditos insuficientes)
Monitorear encabezados de límite de tasa
Verifica X-RateLimit-Remaining en los encabezados de respuesta para entender la cuota restante
Implementar mecanismo de reintento
Para errores 429, implementa reintento con backoff exponencial basado en el encabezado Retry-After
Optimizar prompts
Los prompts claros y específicos generan mejores resultados de generación
Comprimir imágenes
Comprimir imágenes antes de cargar mejora la velocidad de transferencia y ahorra ancho de banda
Límite de tasa de API
Las llamadas a API están protegidas por limitación de tasa, los límites varían según el plan de suscripción:
💡Los encabezados de respuesta incluirán información de X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset
