ViNano AI API
API REST puissante de génération d'images IA, intégrez-la dans votre application en quelques lignes de code
Exigences d'utilisation de l'API
- Abonnement au plan Advanced requis
- Utilisateurs annuels : Limite de débit de 200 requêtes/minute
- Utilisateurs mensuels : Limite de débit de 20 requêtes/minute
Besoin de fonctionnalités API plus avancées ?
Si vous avez besoin de limites de débit plus élevées, d'un support entreprise ou de fonctionnalités personnalisées, veuillez envoyer un e-mail à :
[email protected]Skills & Guides d'intégration
Explorez les guides d'intégration API, exemples de code et bonnes pratiques pour ViNano AI API
Voir sur GitHubCe qui vous attend
Conçue pour les développeurs qui ont besoin d’un traitement d’images à grande échelle
Ultra-rapide
Traitez des images en quelques millisecondes grâce à notre infrastructure API optimisée
Intégration simple
API RESTful avec documentation complète et SDK multilingues
Tarification flexible
Payez uniquement ce que vous utilisez avec une tarification transparente et adaptée aux développeurs
Instructions d'appel API
Découvrez comment utiliser l'API ViNano AI pour la génération d'images
Démarrage rapide
Intégrez la génération d'images IA en quelques lignes de code
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"Paramètres de requête
| Paramètre | Type | Requis | API d’édition d’images puissante pour les développeurs. Transformez des images avec le langage naturel en quelques millisecondes. |
|---|---|---|---|
| prompt | string | No* | Prompt de génération d'image (max 2000 caractères) |
| image | File / File[] | No* | Fichier(s) image téléchargé(s) (plusieurs supportés) |
| imageUrl | string / string[] | No* | Existing image URL(s) (supports multiple URLs) |
| model | string | No | Modèle IA, supporte gemini-2.5-flash-image-preview, sora_image |
| aspectRatio | string | No | Rapport d'aspect, par exemple 1:1, 16:9, 9:16 |
| mode | string | No | Mode de génération optionnel, ex. photo_restoration (vieilles photos), figure, meme, etc. Voir tous les modes |
| hdPro | boolean | No | Utiliser le mode HD (consomme 30 crédits, mode normal 10 crédits) |
| img_size | string | No | Taille d'image: 1k, 2k, 4k (modèle gemini-3-pro-image-preview uniquement, crédits: 1k=30, 2k=50, 4k=80) |
| googleSearch | boolean | No | Activer l'amélioration de recherche Google (uniquement pris en charge par le modèle gemini-3.1-pro-image-preview, par défaut false) |
* Soit prompt ou image doit être fourni
Modèles supportés
- gemini-2.5-flash-image-preview- Nano Banana (par défaut)
- gemini-3.1-pro-image-preview- Nano Banana 2 (supporte les ratios étendus 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 (uniquement 2K/3K, texte→image et image→image, avec recherche web)
- Z-Image- ViNano Basic (Z-Image, texte→image uniquement)
Format de réponse
Réponse réussie (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 Génération d'Image Asynchrone
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
# }
# }Explication des codes d'erreur
| Code de statut | API d’édition d’images puissante pour les développeurs. Transformez des images avec le langage naturel en quelques millisecondes. |
|---|---|
| 400 | Paramètres requis manquants ou validation des paramètres échouée |
| 401 | Token API invalide, manquant ou malformé |
| 403 | Compte désactivé, pas d'abonnement au plan Advanced ou pas de permission API |
| 413 | Taille du fichier dépasse la limite (100MB) |
| 429 | Limite de débit dépassée (limite par minute dépassée) |
| 495 | Crédits insuffisants |
| 500 | Erreur interne du serveur ou échec de génération d'image |
Meilleures pratiques
Gardez le Token API en sécurité
Ne partagez pas votre Token API avec d'autres et ne l'exposez pas dans les dépôts de code
Implémenter la gestion des erreurs
Gérez tous les codes d'erreur possibles, en particulier 429 (limite de débit) et 495 (crédits insuffisants)
Surveiller les en-têtes de limite de débit
Vérifiez X-RateLimit-Remaining dans les en-têtes de réponse pour comprendre le quota restant
Implémenter un mécanisme de réessai
Pour les erreurs 429, implémentez une réessai avec backoff exponentiel basé sur l'en-tête Retry-After
Optimiser les prompts
Des prompts clairs et spécifiques donnent de meilleurs résultats de génération
Compresser les images
Compresser les images avant le téléchargement améliore la vitesse de transfert et économise la bande passante
Limite de débit API
Les appels API sont protégés par limitation de débit, les limites varient selon le plan d'abonnement :
💡Les en-têtes de réponse incluront les informations X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset
