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 pour vous inviter à vous inscrire et à vous connecter, après quoi vous serez automatiquement renvoyé à la page actuelle.
Un seul 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 ; 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 d’image hébergé de manière permanente sur platform.cdn.acedata.cloud, que vous pouvez ouvrir directement dans un navigateur ou intégrer dans une page web.
Intermédiaire Officiel / Variante Inversée (:official / :reverse)
gpt-image-2 utilise par défaut la ligne inversée. Vous pouvez explicitement choisir la ligne via le suffixe du nom du modèle :
gpt-image-2:official: ligne de transfert officielle. Prend en chargen > 1(retourne plusieurs images à la fois) et des résolutions réelles de 2K / 4K, facturé par image, au prix de 2 fois le tarif par défaut degpt-image-2. Actuellement, cela n’est fourni que par le canal openai-hk, et si la ligne n’est pas disponible, une erreur sera directement retournée, sans rétrogradation vers la ligne inversée.gpt-image-2:reverse: équivalent complet àgpt-image-2par défaut (ligne inversée), utilisé pour déclarer explicitement l’utilisation de la ligne inversée, sans changement de prix.
Les restrictions concernant le paramètre “n” ci-dessous ne s’appliquent qu’à la ligne par défaut / inversée ;gpt-image-2:officialprend en chargen > 1et est facturé par image.
Valeurs supportées pour size
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 retournera 400. Toutes les tailles (1K / 2K / 4K / personnalisées) sont facturées uniformément par image, sans augmentation de prix selon la taille.
Les contraintes strictes sur les tailles personnalisées en amont : largeur et hauteur doivent être des multiples de 16, longueur maximale ≤ 3840, nombre total de pixels ≤ 8 294 400. Tout dépassement sera refusé par l’amont et retournera un 4xx.
Vous pouvez également transmettresize: "auto"ou omettre le champsize, auquel cas le modèle choisira la taille par défaut. En dessous de 1K, la sortie en amont ne garantit pas un alignement strict des pixels - vous pouvez transmettre1024x1024et obtenir1254x1254, le rapport restant constant. Si vous le retransmettez 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_urlmentionné ci-dessous pour un rappel asynchrone.
Concernant le paramètreVoici quelques exemples réels sous différents angles pour ressentir intuitivement la capacité dengpt-image-2ne prend actuellement pas en chargen > 1: ce paramètre sera silencieusement ignoré, que vous transmettiezn=1oun=10, une seule image sera retournée par demande, et la facturation ne sera que pour une image. Si vous avez besoin d’obtenir plusieurs images candidates à la fois, veuillez initier plusieurs demandes en parallèle (il est conseillé de transmettre simultanément despromptdifférents ou desseeddifférents, sinon les images obtenues pourraient être très similaires). Cette restriction s’applique également àgpt-image-1/gpt-image-1.5, ainsi qu’à la sérienano-banana/nano-banana-2-lite/nano-banana-2/nano-banana-pro.dall-e-2est actuellement le seul modèle à prendre en charge nativementn > 1;dall-e-3ne prend en charge quen = 1.
gpt-image-2.
Scène 1 : Portrait Cinématographique
Des termes cinématographiques (film 35mm, faible profondeur de champ, lumière néon, etc.) peuvent être utilisés dans les mots-clés 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 se distingue par sa stabilité en typographie et rendu de police, ce qui le rend idéal 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 est comme suit :

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 telles que “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 d’émotion, on peut guider le modèle à produire des illustrations stylisées.
Asynchrone et rappel
gpt-image-2 nécessite généralement 60 à 90 secondes pour un appel unique. 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 est 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 est intégré via une couche d’adaptation au protocole OpenAI, et par rapport àgpt-image-*, ne prend en charge que les paramètres suivants :model,prompt,size.
sizesera mappé à l’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
n,quality,style,response_format,background,output_format, etc. ne sont pas pris en charge ; même s’ils sont remplis, ils seront ignorés.- La structure de retour suit le format OpenAI (
data[].url), maiscreatedest fixé à0, etb64_jsonne sera pas retourné,revised_promptsera 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 restant identiques :

Callback asynchrone
Le mécanisme de callback asynchronecallback_url est également valable pour nano-banana, le processus d’appel étant 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é :
authorization, que vous pouvez sélectionner directement dans la liste déroulante. L’autre paramètre est model, qui correspond à 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, qui est le mot clé 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, que vous pouvez copier et exécuter directement, ou cliquer sur le bouton « Essayer » pour tester.

created, l’ID de la génération de 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 contient les 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 contient deux options, la première 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 sont illustrés ci-dessous :


standard est illustrée ci-dessous :

hd ,可以得到如下图所示的图片:

hd 比 standard 生成的图片具有更精细的细节和更大的一致性。
图片大小尺寸参数 size
我们还可以设置生成图片的尺寸大小,我们可以进行下面的设置。
下面设置图片的尺寸大小为 1024 * 1024 ,具体设置如下图:


1024 * 1024 的生成图片如下图所示:

1792 * 1024 ,可以得到如下图所示的图片:
可以看到图片的尺寸大小很明显不一样,另外还可以设置更多尺寸大小,详情信息参考我们官网文档。
图片风格参数 style
图片风格参数 style 包含俩个参数,第一种 vivid 表示生成的图片是更加生动的,另一种 natural 表示生成的图片更加的自然一点。
下面设置图片风格参数为 vivid ,具体设置如下图:


vivid 的生成图片如下图所示:

natural ,可以得到如下图所示的图片:

vivid 比 natural 生成的图片具有更加生动逼真。
图片链接的格式参数 response_format
最后一个图片链接的格式参数 response_format 也有俩种,第一种 b64_json 是对图片链接进行 Base64 编码,另一种 url 就是普通的图片链接,可以直接查看图片。
下面设置图片链接的格式参数为 url ,具体设置如下图:


url pour l’image générée est URL de l’image c’est accessible directement, le contenu de l’image est illustré ci-dessous :

b64_json, pour obtenir le lien de l’image encodé en 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 en plus un champcallback_url, 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 inclut également le champ task_id, permettant ainsi de lier le résultat de la tâche par ID.
Voyons comment procéder avec un exemple.
Tout d’abord, le rappel Webhook est un service capable de recevoir des requêtes HTTP, les développeurs devraient le remplacer par l’URL de leur propre serveur HTTP. Ici, pour des raisons de démonstration, nous utilisons un site Web de modèle Webhook public https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme illustré ci-dessous :
Copiez cette URL, vous pouvez l’utiliser 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, le champ data contient les mêmes résultats de génération d’images que l’appel synchrone, et grâce au champ task_id, il est possible de lier la tâche.
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 demande, probablement en raison de paramètres manquants ou invalides.400 api_not_implemented: Mauvaise demande, 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 demandes, vous avez dépassé la limite de taux.500 api_error: Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

