API
API
Nano Banana 2 API
ImageNano Banana 2 API combine des connaissances du monde en temps réel avec un raisonnement avancé pour mieux comprendre les prompts et produire des résultats visuels plus précis. Générez des images cohérentes avec plusieurs sujets en 4K native, utilisez des formats flexibles et créez une typographie globale soignée dans des compositions complexes. Intégrez Nano Banana 2 API pour construire des workflows d’image plus intelligents, évolutifs et de haute qualité.
Corps
application/jsonmodelstringrequisnano-banana-2input.promptstringrequisDécrivez l’image à créer ou les modifications à apporter à vos images de référence. Les espaces en début et fin sont supprimés.
Longueur maximale : 5 000 caractères
input.imagesstring[]facultatifURL facultatives d’images de référence. Utilisez uniquement des URL HTTPS accessibles publiquement. Omettez ce champ pour générer des images à partir de texte.
Nombre maximal d’éléments : 14
input.aspect_ratiostringfacultatifRapport largeur/hauteur de sortie. Auto laisse le modèle choisir.
Par défaut: auto
input.resolutionstringfacultatifNiveau de résolution de sortie ; les valeurs ne sont pas sensibles à la casse. Omettez le champ ou laissez-le vide pour utiliser la valeur par défaut.
Par défaut: 2k
Exemples de requête
POST /api/v1/createcurl -X POST https://nanobanana.io/api/v1/create \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"input": {
"prompt": "Une photo produit cinématographique d’un appareil photo futuriste en forme de banane",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}'POST /api/v1/create · HTTP 201{
"data": {
"task_id": "task_example",
"model": "nano-banana-2",
"status": "processing",
"credits": 30
}
}Interrogez cet endpoint avec l’ID de tâche renvoyé jusqu’à ce que la tâche soit terminée ou échoue. Nous recommandons un polling toutes les 5 secondes pour vérifier le dernier état de la tâche.
POST /api/v1/check{
"task_id": "task_example"
}Réponse
Statut de la tâche renvoyé par POST /api/v1/check. Les identifiants, URLs et horodatages ci-dessous sont des exemples.
idstringrequisIdentifiant de la tâche dans data.id, identique au task_id envoyé dans la requête de consultation.
statusstringrequisfailed_reasonstringfacultatifRenvoyé uniquement lorsque status vaut failed, pour expliquer l’échec. Ce champ est absent pour completed et processing.
Terminée · completed
Les URLs de téléchargement figurent dans data.data.results.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "nano-banana-2",
"status": "completed",
"data": {
"results": [
"https://example.com/generated.png"
],
"processing_time": 18
}
}
}Autres statuts
Pour processing ou failed, data.data vaut null. Cet exemple montre failed : seul failed inclut failed_reason. Continuez les consultations pour processing ; arrêtez-les pour failed.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "nano-banana-2",
"status": "failed",
"data": null,
"failed_reason": "Generation failed."
}
}Consommation de crédits
Crédits consommés pour une requête générant une image.
| Résolution | 1K | 2K | 4K |
|---|---|---|---|
| Une image | 20 | 30 | 40 |
Paramètres facultatifs omis: 20 crédits
Renseignez explicitement les paramètres input indiqués pour appliquer le tarif correspondant. Les requêtes générant plusieurs images peuvent consommer davantage de crédits.
Le champ credits renvoyé par POST /api/v1/create indique les crédits débités pour la tâche.
