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 chat jouant dans l’herbe",
"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"
}
}Génération d’images Nanobanana 2.1
- Nano Banana 2.1 (gemini-nano-banana-2.1) prend en charge la génération d’images à partir de texte ou d’images, la retouche et la composition de plusieurs images, avec des résolutions de sortie
1K,2Ket4K - Traitement asynchrone : utilisez l’identifiant de tâche renvoyé pour consulter la tâche
- Les liens des images générées sont valides pendant 24 heures. Enregistrez les images rapidement
- Facturation : les images de sortie sont facturées selon leur résolution, les images d’entrée à l’image, et les recherches web et d’images selon le nombre de recherches réellement effectuées. Le texte du prompt, les sorties textuelles et le raisonnement sont facturés au token. Les frais réels sont déterminés par les données
usagerenvoyées lors de la consultation de la tâche
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 chat jouant dans l’herbe",
"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"
}
}Autorisations
##Toutes les API nécessitent une authentification Bearer Token##
Obtenir une clé API :
Visitez la Page de gestion des clés API pour obtenir votre clé API
Ajouter à l'en-tête de requête :
Authorization: Bearer YOUR_API_KEY
Corps
Nom du modèle de génération d'image, canal officiel, meilleure stabilité et contrôlabilité, adapté aux scénarios commerciaux
gemini-nano-banana-2.1 "gemini-nano-banana-2.1"
Prompt décrivant l’image à générer ou les modifications à apporter à une image d’entrée, jusqu’à 4000 tokens
"Un chat jouant dans l’herbe"
Rapport d'aspect de l'image générée, par défaut 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 Résolution de l’image générée, 2K par défaut
Remarque :
- Les tarifs varient selon la résolution. Les images de sortie sont facturées selon la résolution choisie. Il est recommandé de définir explicitement ce paramètre
1K, 2K, 4K Liste des URL d’images de référence pour la génération à partir d’images, la retouche et la composition de plusieurs images
Remarque :
- Jusqu’à
14images d’entrée par requête - Taille de l’image : au maximum
20MB - Formats pris en charge :
.jpeg,.jpg,.png,.webp - Les URL doivent être directement accessibles par le serveur ou déclencher un téléchargement direct de l’image (ces URL se terminent généralement par une extension d’image telle que
.pngou.jpg) - Les images d’entrée sont facturées à l’image
14[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
Paramètres d'extension du modèle
Show child attributes
Show child attributes
Adresse de rappel HTTPS après l'achèvement de la tâche
Moment du rappel :
- Déclenché lorsque la tâche est terminée, échouée ou annulée
- Envoyé après confirmation de la facturation
Restrictions de sécurité :
- Seul le protocole HTTPS est pris en charge
- Les rappels vers les adresses IP internes sont interdits (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longueur de l'URL ne doit pas dépasser
2048caractères
Mécanisme de rappel :
- Délai d'expiration :
10secondes - Maximum
3tentatives en cas d'échec (tentatives après1seconde/2secondes/4secondes) - Le format du corps de réponse du rappel est cohérent avec le format de réponse de l'API de requête de tâche
- Un code de statut 2xx renvoyé par l'adresse de rappel est considéré comme un succès, les autres codes de statut déclenchent une nouvelle tentative
"https://your-domain.com/webhooks/image-task-completed"
Réponse
Tâche de génération d'image créée avec succès
Horodatage de création de la tâche
1757165031
ID de tâche
"task-unified-1757165031-uyujaw3d"
Nom du modèle réellement utilisé
"gemini-nano-banana-2.1"
Type de tâche spécifique
image.generation.task Pourcentage de progression de la tâche (0-100)
0 <= x <= 1000
Statut de la tâche
pending, processing, completed, failed "pending"
Informations sur la tâche asynchrone
Show child attributes
Show child attributes
Type de sortie de la tâche
text, image, audio, video "image"
Informations d'utilisation et de facturation
Show child attributes
Show child attributes