Passer au contenu principal
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, rendez-vous d’abord sur la console Ace Data Cloud pour obtenir votre API Token et le conserver pour une utilisation ultérieure. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion qui vous invitera à vous inscrire et à vous connecter ; une fois terminé, vous reviendrez automatiquement sur la page actuelle. Un seul API Token permet d’appeler tous les services de la plateforme, sans avoir à en demander un séparément pour chaque service. Lors de votre première demande, vous recevrez un quota gratuit pour une expérience gratuite ; lorsque le quota est insuffisant, vous pouvez recharger votre solde universel dans la console.
📘 Documentation complète : Nano Banana Images API →

Aperçu de l’interface

  • Base URL : https://api.acedata.cloud
  • Endpoint : POST /nano-banana/images
  • Méthode d’authentification : inclure authorization: Bearer {token} dans le HTTP Header
  • En-têtes de requête :
    • accept: application/json
    • content-type: application/json
  • Actions (action) :
    • generate : génère une image à partir d’un prompt textuel
    • edit : édite une image à partir d’une image donnée
  • Modèles (model) (facultatif) :
    • nano-banana (par défaut) : basé sur Gemini 2.5 Flash Image, rapide et économique
    • nano-banana-2-lite : basé sur Gemini 3.1 Flash Lite Image, prend uniquement en charge 1K, vitesse de génération rapide
    • nano-banana-2 : basé sur Gemini 3.1 Flash Image Preview, qualité de niveau Pro + vitesse Flash
    • nano-banana-2.1 : modèle d’image efficace de nouvelle génération, prend en charge la génération et l’édition en 1K, 2K et 4K
    • 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 via les canaux officiels des modèles correspondants, avec une meilleure qualité d’image et stabilité, et une tarification différente
  • Callback asynchrone : facultatif, recevez les notifications de fin de tâche et les résultats via callback_url
  • Nombre d’images : facultatif, spécifiez 1 à 4 images via count, 1 image par défaut ; chaque image est réalisée par un appel de génération indépendant ; les échecs techniques ordinaires ou les refus de sécurité du fournisseur n’affectent que l’appel correspondant, les autres images réussies sont retournées normalement, et la facturation est basée sur le nombre réel d’images réussies

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

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

Exemple de requête (cURL)

Exemple de requête (Python)

Exemple de réponse en cas de succès

Description des champs

  • success : indique si cette requête a réussi.
  • task_id : ID de la tâche.
  • trace_id : ID de traçage de la chaîne, utile pour diagnostiquer les problèmes.
  • count : nombre d’images demandées pour la génération ou l’édition, prend en charge 1 à 4, 1 par défaut. data contient uniquement les images générées avec succès, et la facturation est basée sur le nombre réel d’images retournées. Chaque appel de génération utilise obligatoirement la politique de sécurité native du fournisseur ; le refus d’un appel n’affecte pas les autres appels réussis, et un code 403 est retourné lorsque tous les appels sont refusés.
  • data[] : liste des résultats.
    • prompt : prompt utilisé pour la génération (renvoyé tel quel).
    • 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 effectuer une édition à partir d’images existantes, définissez action sur edit, transmettez la liste des liens des images à éditer (une ou plusieurs images) via image_urls, et fournissez en même temps un prompt décrivant l’objectif de l’édition. Par exemple, nous fournissons ici une photo d’une personne et une photo d’un vêtement ; pour faire porter ce vêtement à la personne, vous pouvez transmettre simultanément les liens des images et définir action sur edit. L’URL peut être une URL HTTP, un lien publiquement accessible utilisant le protocole https ou http, ou une image encodée en Base64, telle que data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAVGCAMAAAA6u2FyAAADAFBMVEXq6uwdHCEeHyMdHS....

Exemple de requête (cURL)

Exemple de requête (Python)

Exemple de retour en cas de succès

Description des champs

  • image_urls[] : liste des URL des images à modifier (doivent être accessibles publiquement). Plusieurs images peuvent être transmises ; le service combinera ces ressources avec le prompt pour effectuer la modification.
  • Les autres champs sont identiques au retour de « Génération d’images ».

Rappel asynchrone (facultatif, recommandé)

La génération ou la modification peut nécessiter un certain temps. Afin d’éviter que les connexions longues n’occupent des ressources, il est recommandé d’utiliser un rappel Webhook via callback_url :
  1. Ajoutez callback_url au corps de la requête, par exemple l’adresse Webhook de votre serveur (doit être accessible publiquement et prendre en charge POST JSON).
  2. L’API renverra immédiatement une réponse contenant task_id (ou contenant les résultats de base).
  3. Une fois la tâche terminée, la plateforme enverra le JSON complet à callback_url via POST. Vous pouvez associer la requête et le résultat grâce à task_id.
Exemple de charge utile de rappel (la structure des champs est identique au retour synchrone en cas de succès) :

Gestion des erreurs

En cas d’échec de l’appel, le format d’erreur standard et l’ID de traçage 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 rejeté la requête ou le résultat généré. Cet appel ne renverra pas d’image et ne sera pas facturé ; les requêtes multi-images peuvent toujours renvoyer et facturer les autres appels réussis.
  • 429 too_many_requests : fréquence des requêtes dépassant la limite.
  • 500 api_error : exception côté serveur.

Exemple de réponse d’erreur


Correspondance des paramètres et remarques

  • Obligatoires : action, prompt
  • Réservé à la modification : image_urls (tableau, au moins 1 élément)
  • Facultatifs : model (par défaut nano-banana, options : nano-banana-2-lite, nano-banana-2, nano-banana-2.1, nano-banana-pro ; à l’exception de nano-banana-2.1, des versions de canal officiel :official correspondantes sont également disponibles), aspect_ratio (rapport largeur-hauteur, tel que 1:1, 16:9), resolution (résolution, telle que 1K, 2K, 4K ; nano-banana-2-lite ne prend en charge que 1K), callback_url (utilisé pour les rappels asynchrones)
  • Headers : vous devez fournir authorization: Bearer {token} ; il est recommandé de définir accept sur application/json
  • Accessibilité des images : image_urls doit être un lien direct accessible publiquement (HTTP/HTTPS) ; l’utilisation de HTTPS est recommandée
  • Idempotence et traçage : conservez task_id et trace_id afin de faciliter le dépannage et l’association des résultats