Skip to main content
L’API de génération d’images OpenAI prend actuellement en charge plusieurs modèles de génération d’images, notamment le classique dall-e-3, le modèle avec une capacité de rendu de texte améliorée gpt-image-1, la dernière génération gpt-image-2, ainsi que la série de modèles nano-banana / 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 de génération d’images OpenAI, qui 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 de génération d’images OpenAI, rendez-vous d’abord sur la page OpenAI Images Generations API et cliquez sur le bouton « Acquire » pour obtenir les identifiants nécessaires aux requêtes : Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inscrire et vous connecter. Après connexion ou inscription, vous serez automatiquement ramené à la page actuelle. Lors de la première demande, un quota gratuit est offert, vous permettant d’utiliser cette API gratuitement.

Modèle GPT-Image-2

gpt-image-2 est un modèle de génération d’images de nouvelle génération lancé par OpenAI. Par rapport à dall-e-3 et gpt-image-1, il présente des améliorations notables dans les domaines suivants :
  • Meilleure capacité à suivre les instructions : capable de comprendre précisément des instructions structurées complexes telles que la composition, le comptage, les relations de position, etc.
  • Rendu du texte plus clair : dans des scénarios comme les affiches, menus, infographies, logos, les lettres et chiffres en anglais sont quasiment exempts d’erreurs.
  • Expression stylistique plus riche : support natif de styles variés tels que portraits cinématographiques, affiches rétro, illustrations pour enfants, photographie de produit, infographies, etc.
  • Support natif multi-format + haute résolution : couvre 5 formats (1:1, 4:3, 3:4, 16:9, 9:16) avec 3 résolutions (1K / 2K / 4K).
La méthode d’appel est identique aux autres modèles, il suffit de définir le champ model à gpt-image-2. L’URL retournée dans le résultat est un lien d’image hébergée en permanence sur platform.cdn.acedata.cloud, pouvant être ouverte directement dans un navigateur ou intégrée dans une page web.

Valeurs supportées pour size

gpt-image-2 vérifie uniquement le format de size : tant que ce n’est pas auto ou une chaîne vide, il doit correspondre au format WIDTHxHEIGHT (par exemple 1024x1024, 2048x1152, 800x600) ; toute autre forme renverra une erreur 400. Tous les formats (1K / 2K / 4K / personnalisés) sont facturés de manière unifiée par image, sans supplément selon la taille. Contraintes strictes côté fournisseur pour les tailles personnalisées : largeur et hauteur doivent être multiples de 16, côté long ≤ 3840, nombre total de pixels ≤ 8 294 400. Les requêtes hors limites seront rejetées avec un code 4xx.
Vous pouvez aussi passer size: "auto" ou omettre le champ size, auquel cas le modèle choisira la taille par défaut. En 1K, la sortie du fournisseur ne garantit pas une correspondance stricte des pixels — par exemple, vous demandez 1024x1024 et obtenez 1254x1254, le ratio est conservé. Si vous réutilisez cette valeur comme size, la facturation reste la même. Un appel 4K prend généralement 4 à 8 minutes, il est recommandé d’utiliser le callback_url pour un rappel asynchrone (voir plus bas).
À propos du paramètre n gpt-image-2 ne supporte pas n > 1 : ce paramètre est ignoré silencieusement, que vous passiez n=1 ou n=10, une seule image est retournée et facturée par requête. Pour obtenir plusieurs images candidates, lancez plusieurs requêtes en parallèle (il est conseillé de varier prompt ou seed pour éviter des images très similaires). Cette limitation s’applique aussi à gpt-image-1 / gpt-image-1.5 et à la série nano-banana. dall-e-2 est actuellement le seul modèle supportant nativement n > 1 ; dall-e-3 ne supporte que n = 1.
Voici plusieurs exemples réels illustrant les capacités de gpt-image-2.

Scénario 1 : portrait cinématographique

Le prompt peut utiliser des termes cinématographiques (pellicule 35mm, faible profondeur de champ, néons, etc.) pour contrôler précisément l’ambiance et la texture. Exemple de code Python :
Réponse :
Image générée :

Scénario 2 : affiche de voyage rétro (avec rendu de texte)

gpt-image-2 est stable en typographie et mise en page, idéal pour générer des affiches, menus, cartes de vœux avec texte.
Image correspondante :

Le modèle reproduit fidèlement le style Art Deco et rend clairement les textes AMALFI et ITALIA 1958.

Scénario 3 : composition complexe et comptage

Ce prompt teste la capacité du modèle à suivre des instructions structurées sur les quantités et positions.
Image générée :

Le nombre de livres sur chaque étagère (1 / 3 / 7) correspond parfaitement au prompt, ce qui était difficile à obtenir de manière stable avec dall-e-3.

Scénario 4 : style illustration (format paysage)

En spécifiant le médium artistique et des mots-clés d’ambiance, on peut guider le modèle vers des illustrations stylisées.
Illustration paysage générée :

Asynchrone et rappel (callback)

Un appel unique à gpt-image-2 prend généralement 60 à 90 secondes. Pour éviter de maintenir une connexion longue, vous pouvez utiliser le mécanisme de rappel asynchrone via callback_url présenté plus bas, la procédure d’appel est identique aux autres modèles.

Série Nano Banana

La série nano-banana est un modèle de génération d’images basé sur Gemini, accessible via la même interface /openai/images/generations sans changer d’endpoint, il suffit de changer la valeur de model selon le tableau ci-dessous.
Important : portée des paramètres Nano Banana utilise une couche d’adaptation pour le protocole OpenAI et supporte moins de paramètres que gpt-image-* : uniquement model, prompt, size.
  • size est mappé en interne sur aspect_ratio selon le tableau ci-dessous, les tailles non listées sont ramenées à 1:1 :
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • Ne supporte pas n, quality, style, response_format, background, output_format ; ces paramètres sont ignorés s’ils sont fournis.
  • La structure de retour suit le format OpenAI (data[].url), mais created est toujours 0, aucun b64_json n’est retourné, et revised_prompt est toujours égal au prompt original.

Appel basique

Réponse :
L’image générée est accessible directement via le champ url :

Passage au modèle phare nano-banana-pro

Il suffit de changer model en nano-banana-pro, les autres paramètres restent identiques :
Exemple de réponse :

Rappel asynchrone

Le mécanisme callback_url fonctionne aussi avec nano-banana, la procédure d’appel est identique aux autres modèles, voir la section Rappel asynchrone.

Utilisation basique

Vous pouvez ensuite remplir les champs correspondants dans l’interface, comme illustré :

Lors de la première utilisation, vous devez renseigner au moins trois éléments : authorization (à sélectionner dans la liste déroulante), model (le modèle OpenAI DALL-E à utiliser, nous proposons principalement un modèle, voir la liste), et prompt (le texte décrivant l’image à générer). Sur la droite, vous verrez le code d’appel généré que vous pouvez copier et exécuter directement, ou cliquer sur « Try » pour tester.

Exemple de code Python :
Réponse attendue :
Les champs retournés sont :
  • created : identifiant unique de la tâche de génération d’image.
  • data : contient les informations sur l’image générée.
Le champ data contient les détails de l’image générée, notamment url qui est le lien vers l’image, comme illustré ci-dessous.

Paramètre de qualité d’image quality

Vous pouvez définir la qualité de l’image générée. Le paramètre quality propose deux options : standard pour une image standard, et hd pour une image avec plus de détails et une meilleure cohérence. Exemple de réglage sur standard :

Le code d’appel correspondant est généré à droite, vous pouvez le copier ou cliquer sur « Try ».

Exemple de code Python :
Réponse :
L’image générée avec quality à standard est la suivante :

En changeant simplement quality à hd, on obtient une image avec plus de détails et une meilleure cohérence :

Paramètre de taille d’image size

Vous pouvez aussi définir la taille de l’image générée. Exemple de réglage à 1024x1024 :

Le code d’appel est généré à droite, prêt à être copié ou testé.

Exemple de code Python :
Réponse :
Image générée en 1024x1024 :

En changeant la taille à 1792x1024, on obtient une image avec un format différent : D’autres tailles sont possibles, voir la documentation officielle pour plus de détails.

Paramètre de style d’image style

Le paramètre style propose deux options : vivid pour une image plus vive, et natural pour une image plus naturelle. Exemple avec vivid :

Code généré à droite, prêt à copier ou tester.

Exemple de code Python :
Réponse :
Image générée avec style à vivid :

En changeant style à natural, on obtient une image plus naturelle :

vivid produit des images plus vives et réalistes que natural.

Paramètre de format de lien d’image response_format

Ce paramètre propose deux options : b64_json pour un encodage Base64 du lien image, et url pour un lien direct vers l’image. Exemple avec url :

Code généré à droite, prêt à copier ou tester.

Exemple de code Python :
Réponse :
Le lien direct vers l’image est accessible ici : Image URL et l’image est affichée ci-dessous :

En changeant response_format à b64_json, vous obtiendrez l’image encodée en Base64, par exemple :

Rappel asynchrone

La génération d’images via l’API OpenAI peut prendre un certain temps. Pour éviter que la requête HTTP reste ouverte trop longtemps et consomme des ressources système, l’API supporte un mécanisme de rappel asynchrone. Le processus est le suivant : lors de l’envoi de la requête, vous spécifiez un champ callback_url. L’API retourne immédiatement un résultat contenant un task_id identifiant la tâche. Une fois la génération terminée, le résultat est envoyé en POST JSON à l’URL spécifiée dans callback_url, incluant aussi le task_id pour relier la réponse à la requête initiale. Exemple d’utilisation : Un webhook est un service HTTP capable de recevoir des requêtes. Vous devez remplacer l’URL par celle de votre serveur HTTP. Pour la démonstration, nous utilisons le site public https://webhook.site/ qui génère une URL webhook comme ci-dessous : Copiez cette URL, par exemple https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, et utilisez-la comme valeur de callback_url dans la requête :
Vous obtiendrez immédiatement :
Quelques instants plus tard, vous verrez sur le webhook le résultat de la génération :
Le champ task_id permet de relier la réponse asynchrone à la requête initiale.

Gestion des erreurs

En cas d’erreur lors de l’appel API, un code et un message d’erreur sont retournés, par exemple :
  • 400 token_mismatched : requête incorrecte, paramètres manquants ou invalides.
  • 400 api_not_implemented : requête incorrecte, paramètres manquants ou invalides.
  • 401 invalid_token : non autorisé, token d’autorisation invalide ou manquant.
  • 429 too_many_requests : trop de requêtes, limite de fréquence dépassée.
  • 500 api_error : erreur interne serveur.

Exemple de réponse d’erreur

Conclusion

Ce document vous a présenté comment utiliser facilement l’API de génération d’images OpenAI pour exploiter les fonctionnalités officielles de génération d’images DALL-E. Nous espérons que ce guide vous aidera à intégrer et utiliser cette API efficacement. Pour toute question, n’hésitez pas à contacter notre équipe de support technique.