Skip to main content
Cet article présente l’intégration et l’utilisation de l’API Nano Banana Images. Cette interface prend en charge deux capacités : génération d’images (generate) et édition d’images (edit).

Processus de demande

Pour utiliser l’API Nano Banana Images, commencez par obtenir votre API Token sur le tableau de bord Ace Data Cloud pour le garder en réserve. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion vous invitant à vous inscrire et à vous connecter, après quoi vous serez automatiquement renvoyé à la page actuelle. Un API Token suffit pour appeler tous les services de la plateforme, sans avoir besoin de demander séparément pour chaque service. La première demande vous donnera un quota gratuit pour une expérience sans frais ; si le quota est insuffisant, vous pouvez recharger le solde général dans le tableau de bord.
📘 Documentation complète : Nano Banana Images API →

Vue d’ensemble de l’API

  • Base URL : https://api.acedata.cloud
  • Endpoint : POST /nano-banana/images
  • Méthode d’authentification : Inclure authorization: Bearer {token} dans l’en-tête HTTP
  • En-têtes de requête :
    • accept: application/json
    • content-type: application/json
  • Actions (action) :
    • generate : Générer une image selon le texte d’invite
    • edit : Éditer une image donnée
  • Modèles (model) (optionnel) :
    • nano-banana (par défaut) : Basé sur Gemini 2.5 Flash Image, rapide et peu coûteux
    • nano-banana-2-lite : Basé sur Gemini 3.1 Flash Lite Image, prend en charge uniquement 1K, génération rapide
    • nano-banana-2 : Basé sur Gemini 3.1 Flash Image Preview, qualité Pro + vitesse Flash
    • nano-banana-pro : Basé sur Gemini 3 Pro Image Preview, qualité maximale
    • nano-banana:official, nano-banana-2-lite:official, nano-banana-2:official, nano-banana-pro:official : Versions officielles des modèles correspondants, meilleure qualité d’image et stabilité, facturation différente
  • Callback asynchrone : Optionnel, recevoir des notifications de fin de tâche et des résultats via callback_url
  • Nombre d’images : Optionnel, spécifier 1 à 4 images via count, par défaut 1 image ; chaque image est générée par un appel indépendant ; les échecs techniques normaux ou les refus de sécurité du fournisseur n’affectent que l’appel correspondant, les autres images réussies sont retournées normalement et facturées selon le nombre d’images réussies

Démarrage rapide : Générer une image (action=generate)

Paramètres minimaux requis : action, prompt Lorsque vous souhaitez simplement générer une image à partir d’un texte d’invite, définissez action sur generate et fournissez un prompt clair.

Exemple de requête (cURL)

Exemple de requête (Python)

Exemple de réponse réussie

Description des champs

  • success : Indique si la demande a réussi.
  • task_id : ID de la tâche.
  • trace_id : ID de suivi de la chaîne, utile pour le dépannage.
  • count : Nombre d’images demandées pour la génération ou l’édition, prend en charge 1 à 4, par défaut 1. data ne contient que les images générées avec succès et est facturé selon le nombre d’images retournées. Chaque appel de génération utilise obligatoirement la politique de sécurité native du fournisseur ; un appel refusé n’affecte pas les autres appels réussis, si tous les appels sont refusés, un 403 est retourné.
  • data[] : Liste des résultats.
    • prompt : Texte d’invite utilisé pour la génération (écho).
    • image_url : URL directe de l’image générée.
Remarque : /nano-banana/images nécessite uniquement action et prompt pour générer une image

Éditer une image (action=edit)

Lorsque vous souhaitez éditer une image existante, définissez action sur edit et passez la liste des liens d’images à éditer via image_urls (1 ou plusieurs images), tout en fournissant un prompt décrivant l’objectif de l’édition. Par exemple, ici nous fournissons une photo de personne et une photo de vêtement, pour faire porter le vêtement à la personne, nous pouvons transmettre les liens d’images et spécifier l’action comme edit, l’URL peut être une URL HTTP, accessible publiquement via le protocole https ou http, ou peut être une image encodée en Base64, comme data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAVGCAMAAAA6u2FyAAADAFBMVEXq6uwdHCEeHyMdHS....

Exemple de requête (cURL)

Exemple de requête (Python)

Exemple de réponse réussie

Description des champs

  • image_urls[] : liste des URL des images à éditer (doit être accessible publiquement). Plusieurs images peuvent être transmises, le service combinera ces éléments avec le prompt pour réaliser l’édition.
  • Les autres champs sont les mêmes que ceux retournés par « génération d’images ».

Callback asynchrone (optionnel, recommandé)

La génération ou l’édition peut prendre un certain temps. Pour éviter que les connexions longues n’occupent des ressources, il est conseillé d’utiliser un Webhook callback via callback_url :
  1. Ajoutez callback_url dans le corps de la requête, par exemple l’adresse Webhook de votre serveur (doit être accessible publiquement, supporte POST JSON).
  2. L’API renverra immédiatement une réponse contenant task_id (ou contenant les résultats de base).
  3. Lorsque la tâche est terminée, la plateforme enverra le JSON complet à callback_url via POST. Vous pouvez associer la requête et le résultat par task_id.
Exemple de charge utile de callback (la structure des champs est identique à celle de la réponse réussie synchronisée) :

Gestion des erreurs

En cas d’échec de l’appel, un format d’erreur standard et un ID de suivi seront renvoyés. Les erreurs courantes sont les suivantes :
  • 400 token_mismatched : requête non valide ou erreur de paramètre.
  • 400 api_not_implemented : interface non implémentée (veuillez contacter le support).
  • 401 invalid_token : échec de l’authentification ou token manquant.
  • 403 forbidden : la politique de sécurité native du fournisseur a refusé la requête ou le résultat généré. Cet appel ne renverra pas d’image et ne sera pas facturé ; les demandes multiples peuvent toujours renvoyer et facturer d’autres appels réussis.
  • 429 too_many_requests : fréquence de requêtes dépassée.
  • 500 api_error : exception côté serveur.

Exemple de réponse d’erreur


Correspondance des paramètres et points à noter

  • Obligatoire : action, prompt
  • Spécifique à l’édition : image_urls (tableau, au moins 1 élément)
  • Optionnel : model (par défaut nano-banana, options nano-banana-2-lite, nano-banana-2, nano-banana-pro, ou les versions officielles correspondantes :official), aspect_ratio (rapport largeur/hauteur, comme 1:1, 16:9), resolution (résolution, comme 1K, 2K, 4K ; nano-banana-2-lite ne supporte que 1K), callback_url (pour le callback asynchrone)
  • En-têtes : il est nécessaire de fournir authorization: Bearer {token} ; accept est recommandé d’être défini sur application/json
  • Accessibilité des images : image_urls doit être des liens directs accessibles publiquement (HTTP/HTTPS), il est recommandé d’utiliser HTTPS
  • Idempotence et suivi : conservez task_id et trace_id pour faciliter le dépannage et l’association des résultats