dall-e-3, le gpt-image-1 avec une capacité de rendu de texte plus forte, la dernière génération de gpt-image-2, ainsi que la série de modèles nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro accessibles via la même interface. Tous peuvent générer des images de haute qualité à partir de descriptions textuelles.
Ce document présente principalement le processus d’utilisation de l’API OpenAI Images Generations, qui nous permet d’utiliser facilement les fonctionnalités de génération d’images de la série OpenAI.
Processus de demande
Pour utiliser l’API OpenAI Images Generations, 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 seul API Token suffit pour accéder à tous les services de la plateforme, sans avoir à en demander un pour chaque service. La première demande vous donnera un quota gratuit pour une expérience sans frais ; lorsque le quota est insuffisant, vous pouvez recharger le solde général dans le tableau de bord.
📘 Documentation complète : OpenAI Images Generations API →
Modèle GPT-Image-2
gpt-image-2 est le nouveau modèle de génération d’images lancé par OpenAI, qui présente des améliorations significatives par rapport à dall-e-3 et gpt-image-1 dans les domaines suivants :
- Capacité de suivi des instructions améliorée : capable de comprendre avec précision des instructions structurées complexes concernant la composition, le comptage, les relations de position, etc.
- Rendu de texte plus clair : dans des scénarios tels que des affiches, des menus, des infographies, des logos, l’anglais et les chiffres ne présentent presque jamais de désordre.
- Expression de style plus riche : prend en charge nativement divers styles tels que les portraits cinématographiques, les affiches rétro, les illustrations pour enfants, la photographie de produits, les infographies, etc.
- Support natif pour plusieurs rapports + haute résolution : couvre 5 rapports (1:1, 4:3, 3:4, 16:9, 9:16) avec 3 niveaux de résolution (1K / 2K / 4K).
model sur gpt-image-2. L’URL dans le résultat retourné est un lien vers une image hébergée de manière permanente sur platform.cdn.acedata.cloud, que vous pouvez ouvrir directement dans un navigateur ou intégrer dans une page web.
Variantes de ligne (:official / :reverse)
gpt-image-2 utilise par défaut la ligne standard. Vous pouvez explicitement choisir la ligne en ajoutant un suffixe au nom du modèle :
gpt-image-2:official: canal officiel, stable et conforme. Les frais sont déterminés par le Token d’entrée de texte et le Token de sortie d’image, et sont finalement réglés en fonction de l’utilisation réelle dans la réponse ; le prix affiché pour la qualité/dimension sur la page est uniquement une estimation ; selon le forfait d’utilisation maximum, le prix client est d’environ 80 % du prix standard officiel d’OpenAI. Le service effectuera automatiquement une tolérance d’erreur entre les canaux disponibles, les capacités et les coûts étant basés sur les résultats retournés.gpt-image-2:reverse: équivalent complet àgpt-image-2par défaut, avec un meilleur rapport qualité-prix, sans changement de prix.
Formule de facturation:officialCoût final = Token d’entrée de texte + Token d’entrée d’image (uniquement pour l’édition) + Token de sortie d’image. Le prix affichéquality × sizeest une estimation avant la demande, le coût réel étant basé sur l’utilisation réussie deusage. Par exemple,low,1024x1024coûte généralement environ 0,0505 crédits pour la sortie d’image, plus un petit nombre de Tokens d’entrée ; lors de l’utilisation deauto, le modèle peut choisir une qualité supérieure, le montant préautorisé sera vérifié de manière conservatrice selon un niveau plus élevé.
Valeurs size prises en charge
gpt-image-2 vérifie uniquement le format de size, tant qu’il n’est pas auto ou une chaîne vide, il doit correspondre à WIDTHxHEIGHT (par exemple 1024x1024, 2048x1152, 800x600) ; toute autre forme renverra 400. Le gpt-image-2 par défaut et :reverse facturent uniformément par image ; les dimensions et la qualité de :official affecteront le Token de sortie d’image, le règlement final étant basé sur l’utilisation réelle des Tokens.
Limites de taille : les dimensions personnalisées doivent être des multiples de 16 pour la largeur et la hauteur, avec une longueur maximale de 3840 et un nombre total de pixels ≤ 8 294 400, tout dépassement sera renvoyé avec un code 4xx.
Lorsque vous transmettez explicitementVoici quelques exemples réels sous différents angles pour ressentir intuitivement la capacité desize: "auto", la plateforme planifiera le canevas dans l’espace de rapport continu et déterminera selon les priorités suivantes : pixels ou rapports explicites dans les mots-clés, normes de nommage (papier / impression / emplacement de plateforme / publicité / appareil / photographie / cinéma), pratiques de support, et enfin inférence de composition. Ainsi, en plus des rapports courants1:1,4:5,9:16,21:9, il est également possible de conserver des rapports non prédéfinis tels que1.91:1,1.85:1,2.39:1, et le papier ISO1:√2; la taille finale sera automatiquement ajustée pour être un multiple de 16 et respecter le budget de pixels. Si le jugement automatique n’est pas disponible, il reviendra au format par défaut du modèle, sans bloquer la génération. Si le champsizeest omis, le format par défaut du modèle sera utilisé ; pour des exigences strictes en matière de pixels, il est toujours conseillé de transmettre directementWIDTHxHEIGHT. La sortie en dessous de 1K ne garantit pas un alignement strict des pixels - vous pouvez transmettre1024x1024et obtenir1254x1254, le rapport restant cohérent. Si vous le transmettez à nouveau en tant quesize, la facturation ne changera pas. Un appel unique en 4K nécessite généralement 4 à 8 minutes, il est conseillé de l’utiliser avec lecallback_urlpour un rappel asynchrone. À propos du paramètrengpt-image-2prend en chargen > 1(valeurs de 1 à 10) : il est possible de retourner le nombre correspondant d’images en une seule demande. Par défaut,gpt-image-2et:reversefacturent en fonction du nombre d’images réussies ; la réponseusagede:officiala déjà été résumée pour l’ensemble de la demande de Token, et ne sera pas multipliée parnà nouveau. Pour que plusieurs résultats aient des différences, il est conseillé de transmettre simultanément différentspromptouseed. Cela s’applique également àgpt-image-1/gpt-image-1.5, ainsi qu’aux sériesnano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro;dall-e-3ne prend en charge quen = 1. Notez queresponse_format=b64_jsonne prend en charge quen=1, pourn>1, veuillez utiliser le retour d’URL par défaut. Si certaines images échouent à être générées, seules les parties réussies seront retournées et facturées.
gpt-image-2.
Scène 1 : Portrait cinématographique
Des termes cinématographiques (film 35 mm, faible profondeur de champ, lumière néon, etc.) peuvent être utilisés dans le prompt pour contrôler précisément l’ambiance et la texture. Exemple de code d’appel Python :
Scène 2 : Affiche de voyage rétro (avec rendu de texte)
gpt-image-2 montre une performance stable en matière de mise en page et de rendu de police, ce qui le rend très adapté pour générer des affiches, des menus, des cartes de vœux et d’autres conceptions contenant du texte.
url dans le résultat retourné est la suivante :

AMALFI et ITALIA 1958 a également été rendu de manière claire et correcte.
Scène 3 : Composition complexe et comptage
Le prompt suivant est utilisé pour tester la capacité du modèle à suivre des instructions structurées concernant “quantité” et “position”.
dall-e-3.
Scène 4 : Style d’illustration (paysage)
En spécifiant le médium artistique et des mots-clés émotionnels, on peut guider le modèle à produire des illustrations stylisées.
Asynchrone et rappel
L’appel unique àgpt-image-2 nécessite généralement 60 à 90 secondes. Si vous ne souhaitez pas maintenir une connexion longue, vous pouvez utiliser le mécanisme de rappel asynchrone callback_url décrit plus loin dans cet article, le processus d’appel étant identique à celui des autres modèles.
Modèles de la série Nano Banana
La sérienano-banana est un modèle de génération d’images basé sur Gemini, qui a été intégré via la même interface /openai/images/generations, sans avoir besoin de changer d’endpoint, il suffit de modifier model pour l’un des modèles du tableau ci-dessous.
Important : Plage de support des paramètres Nano Banana se connecte au protocole OpenAI via une couche d’adaptation, et ne prend en charge que les paramètres suivants par rapport àgpt-image-*:model,prompt,size,n.
sizesera mappé àaspect_ratiointerne selon le tableau ci-dessous, les tailles non listées seront dégradées à1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Les paramètres
quality,style,response_format,background,output_format, etc. ne sont pas pris en charge ; s’ils sont remplis, ils seront ignorés.n > 1est pris en charge (1–10), et renverra le nombre correspondant d’images facturées par image.- La structure de retour suit le format OpenAI (
data[].url), maiscreatedest fixé à0, etb64_jsonne sera pas renvoyé,revised_promptest toujours égal aupromptoriginal.
Appel de base
url retourné :

Mise à niveau vers le modèle phare nano-banana-pro
Il suffit de changer model en nano-banana-pro, les autres paramètres restent identiques :

Callback asynchrone
Le mécanisme de callback asynchronecallback_url est également valable pour nano-banana, le processus d’appel est identique à celui des autres modèles, voir la section Callback asynchrone ci-dessous.
Utilisation de base
Vous pouvez maintenant remplir le contenu correspondant sur l’interface, comme illustré ci-dessous :
authorization, que vous pouvez sélectionner directement dans la liste déroulante. L’autre paramètre est model, model est la catégorie de modèle que nous choisissons d’utiliser sur le site officiel d’OpenAI DALL-E, ici nous avons principalement 1 type de modèle, les détails peuvent être consultés dans les modèles que nous fournissons. Le dernier paramètre est prompt, prompt est le mot d’invite que nous entrons pour générer l’image.
Vous pouvez également remarquer qu’il y a un code d’appel correspondant généré à droite, vous pouvez copier le code et l’exécuter directement, ou cliquer directement sur le bouton « Essayer » pour tester.

created, l’ID généré pour cette image, utilisé pour identifier de manière unique cette tâche.data, contenant les informations sur le résultat de la génération d’image.
data, il y a des informations spécifiques sur l’image générée par le modèle, où url est le lien détaillé de l’image générée, comme illustré ci-dessous.

Paramètre de qualité d’image quality
Nous allons maintenant expliquer comment définir certains paramètres détaillés des résultats de génération d’image, où le paramètre de qualité d’image quality comprend deux types, le premier standard indique que l’image générée est standard, l’autre hd indique que l’image créée a des détails plus fins et une plus grande cohérence.
Voici comment définir le paramètre de qualité d’image sur standard, les réglages spécifiques sont illustrés ci-dessous :


standard est illustrée ci-dessous :

hd, et on peut obtenir l’image illustrée ci-dessous :

hd génère des images avec des détails plus fins et une plus grande cohérence par rapport à standard.
Paramètre de taille d’image size
Nous pouvons également définir la taille de l’image générée, nous pouvons effectuer les réglages suivants.
Voici le réglage de la taille de l’image à 1024 * 1024, les réglages spécifiques sont illustrés ci-dessous :


1024 * 1024 est illustrée ci-dessous :

1792 * 1024, et on peut obtenir l’image illustrée ci-dessous :
On peut voir que la taille de l’image est clairement différente, et il est également possible de définir d’autres tailles, pour plus d’informations, veuillez consulter notre documentation officielle.
Paramètre de style d’image style
Le paramètre de style d’image style contient deux paramètres, le premier vivid indique que l’image générée est plus vivante, l’autre natural indique que l’image générée est plus naturelle.
Voici le réglage du paramètre de style d’image sur vivid, les réglages spécifiques sont illustrés ci-dessous :


vivid est illustrée ci-dessous :

natural, ce qui donne l’image illustrée ci-dessous :

vivid produit des images plus vivantes et réalistes que natural.
Paramètre de format de lien d’image response_format
Le dernier paramètre de format de lien d’image response_format a également deux options, la première b64_json est un encodage Base64 du lien d’image, l’autre url est simplement un lien d’image normal, que l’on peut consulter directement.
Voici comment définir le paramètre de format de lien d’image sur url, les réglages spécifiques sont illustrés ci-dessous :


url est lien d’image qui est accessible directement, le contenu de l’image est illustré ci-dessous :

b64_json, ce qui donne le lien d’image après encodage Base64, le résultat spécifique est illustré ci-dessous :
Rappel asynchrone
Étant donné que le temps de génération d’images de l’API OpenAI Images Generations peut être relativement long, si l’API ne répond pas pendant une longue période, la requête HTTP maintiendra la connexion, entraînant une consommation supplémentaire de ressources système, donc cette API propose également un support de rappel asynchrone. Le processus global est le suivant : lorsque le client initie une requête, il spécifie un champcallback_url supplémentaire, après que le client ait lancé la requête API, l’API renverra immédiatement un résultat, contenant un champ d’information task_id, représentant l’ID de la tâche actuelle. Lorsque la tâche est terminée, le résultat de l’image générée sera envoyé au callback_url spécifié par le client sous forme de POST JSON, qui inclura également le champ task_id, permettant ainsi de relier le résultat de la tâche par ID.
Voici comment procéder à travers un exemple.
Tout d’abord, le rappel Webhook est un service capable de recevoir des requêtes HTTP, les développeurs doivent le remplacer par l’URL de leur propre serveur HTTP. Pour faciliter la démonstration, nous utilisons un site Web de démonstration Webhook public https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme indiqué dans l’image ci-dessous :
Copiez cette URL, elle peut être utilisée comme Webhook, l’exemple ici est https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Ensuite, nous pouvons définir le champ callback_url sur l’URL Webhook ci-dessus, tout en remplissant les paramètres correspondants, comme le montre le code suivant :
task_id dans le résultat, le champ data contient les mêmes résultats de génération d’image que l’appel synchrone, et le champ task_id permet d’associer les tâches.
Gestion des erreurs
Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :400 token_mismatched: Mauvaise requête, probablement en raison de paramètres manquants ou invalides.400 api_not_implemented: Mauvaise requête, probablement en raison de paramètres manquants ou invalides.401 invalid_token: Non autorisé, jeton d’autorisation invalide ou manquant.429 too_many_requests: Trop de requêtes, vous avez dépassé la limite de taux.500 api_error: Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

