GPT Image 2 API Azure : tarifs et configuration sur Azure OpenAI

Configurer GPT Image 2 sur Azure OpenAI implique de composer avec la tarification au token, un quota initial de 5 images par minute, une sortie uniquement en base64 et des noms de déploiement. Cet article détaille le coût réel de chaque rendu, les étapes de déploiement dans Foundry, des appels REST et Python fonctionnels, et cinq erreurs qui gonflent la facture.

GPT Image 2 API Azure : tarifs et configuration sur Azure OpenAI
Cristian Da Conceicao
Fondateur de Picasso IA

Vous pouvez appeler GPT Image 2 depuis votre propre abonnement Azure. Dans ce cas, la facture, le quota et le modèle de sécurité suivent les règles d’Azure plutôt que celles d’OpenAI, ce qui change la manière de planifier votre usage. La tarification repose sur les tokens : un rendu coûte plus ou moins cher selon la qualité et la taille, et non un forfait fixe par image. Quant au quota par défaut, il est limité à 5 images par minute tant que vous n’en demandez pas davantage. Cet article détaille ce que coûte le modèle, comment le déployer dans Microsoft Foundry, les appels REST et Python exacts, et les erreurs qui gonflent discrètement une facture. Si vous voulez seulement des images, sans configuration cloud, une solution dans le navigateur est présentée vers la fin.

Ce que propose GPT Image 2 sur Azure

Mains de développeur sur un ordinateur portable argenté dans un espace de coworking lumineux

Azure OpenAI, la partie Azure de Microsoft Foundry, héberge les modèles d’images d’OpenAI aux côtés de ses modèles de texte. Vous créez une ressource, déployez un modèle sous un nom de votre choix et envoyez vos requêtes à un endpoint qui porte le nom de votre propre ressource. Le corps de la requête n’a rien d’exotique. Les différences apparaissent dans la facturation, le quota, l’authentification et le choix de la région.

La gamme de modèles

La documentation de Microsoft répertorie trois modèles d’images généralement disponibles dans la famille actuelle, ainsi qu’une série plus ancienne qui nécessite encore une demande d’accès.

ModèleStatut sur AzureRéglages de qualité
GPT Image 2Disponible en générallow, medium, high
GPT Image 2.5 SunburstDisponible en générallow, medium, high, xhigh, max, auto
GPT Image 2.5 FlareDisponible en générallow, medium, high, xhigh, max, auto
GPT Image 1, GPT Image 1.5, GPT Image 1 MiniPréversion à accès limitélow, medium, high

En pratique : GPT Image 2 et les modèles 2.5 ne nécessitent aucun formulaire d’approbation, donc un nouvel abonnement peut les déployer l’après-midi même. La série 1 exige d’abord une demande d’inscription.

Pour qui Azure est le bon choix

Azure justifie sa configuration supplémentaire lorsqu’au moins une de ces conditions est remplie :

  • Votre entreprise achète déjà ses services cloud via un contrat Azure, de sorte que les dépenses liées aux images figurent sur une facture existante.
  • Vous devez choisir la région dans laquelle les requêtes sont traitées.
  • Vous voulez une connexion via Microsoft Entra ID, des attributions de rôles et un réseau privé, au lieu d’un secret partagé dans un fichier d’environnement.
  • Le quota doit être géré par abonnement et par déploiement, avec un administrateur capable de l’augmenter.

Azure n’est pas le bon choix tant que vous vous demandez si l’idée fonctionne. Un développeur solo qui teste un concept n’a pas besoin d’un groupe de ressources, d’une attribution de rôle et d’une demande de quota juste pour voir dix rendus. Prototypez là où la configuration est peu coûteuse, puis passez à Azure une fois les prompts, les formats et le volume mensuel définis.

Voici la comparaison des trois parcours courants.

Azure OpenAIOpenAI en directPicasso IA dans le navigateur
Mise en placeAbonnement, ressource, déploiementCompte et facturationConnectez-vous et saisissez un prompt
Unité de facturationTokens, sur une facture AzureTokens, sur une facture OpenAIGéré par la plateforme
FormatsDimensions personnalisées par pas de 16 pxDéfinis par la documentation API d’OpenAI1:1, 3:2, 2:3
Idéal pourApplications en production avec des exigences de gouvernancePrototypes rapidesBrouillons, tests, non-développeurs

Le coût réel de chaque rendu

Bureau encombré avec un relevé imprimé, une calculatrice et une tasse de thé

Il n’existe pas de prix affiché par image. Vous payez en tokens : le texte de votre prompt, les images de référence éventuelles et, de loin la part la plus importante, l’image que produit le modèle.

Tarifs des tokens

OpenAI publie ces tarifs standard pour GPT Image 2, par million de tokens :

Type de tokenPrix par million de tokens
Entrée texte5,00 $
Entrée texte en cache1,25 $
Entrée image8,00 $
Entrée image en cache2,00 $
Sortie image30,00 $

Le traitement par lots est proposé à la moitié du tarif standard sur la page tarifaire d’OpenAI. Des calculateurs de prix Azure tiers affichent 5,00 $ par million de tokens d’entrée et 30,00 $ par million de tokens de sortie pour le déploiement Azure, ce qui correspond aux lignes entrée texte et sortie image ci-dessus.

💡 Astuce : Azure publie ses tarifs par région et par type de déploiement, et ils peuvent différer du tableau public d’OpenAI. Vérifiez les chiffres exacts dans le calculateur de prix Azure pour votre région avant de fixer un budget.

Exemples de calcul de coût

Le prix d’une image unique correspond à son nombre de tokens de sortie multiplié par 30 $, divisé par un million. Le modèle décide du nombre de tokens qu’un rendu consomme, et cela dépend de la qualité et de la taille du canevas. Les chiffres ci-dessous sont des hypothèses choisies pour illustrer le calcul, et non des mesures. Consultez les données d’usage renvoyées avec chaque réponse réelle pour connaître vos chiffres exacts.

Tokens de sortie supposésCoût à 30 $ par millionCoût pour 1 000 images
1 0000,03 $30 $
2 5000,075 $75 $
5 0000,15 $150 $
8 0000,24 $240 $

Ajoutez le prompt lui-même : un prompt de 500 tokens à 5 $ par million ajoute 0,0025 $, soit une erreur d’arrondi à côté de l’image. Le côté sortie détermine l’essentiel du total, donc construisez votre budget autour de lui.

Réduire la facture

  • Faites vos brouillons en qualité basse. Passez à moyenne ou élevée seulement quand la composition est juste.
  • Adaptez le canevas à la page. Un rendu de 1 536 x 864 suffit largement pour une image d’en-tête de blog. La documentation d’OpenAI sur les images marque toute taille au-delà de 2 560x1440 comme expérimentale, et les canevas plus grands consomment généralement plus de tokens de sortie.
  • Demandez une image à la fois pendant vos itérations. Le paramètre n accepte de 1 à 10, et chaque image supplémentaire est facturée.
  • Réutilisez les préfixes de prompt. Le texte d’entrée en cache coûte 1,25 $ par million au lieu de 5,00 $, ce qui est utile lorsqu’une longue description de style se répète sur des milliers d’appels.
  • Vérifiez les options par lots pour les travaux qui peuvent attendre, puisque le traitement par lots est au demi-tarif côté OpenAI.

Liste de vérification avant déploiement

Rangées de baies serveurs le long d’une allée propre de centre de données

Deux points piègent les gens avant même l’envoi de la moindre requête : là où le modèle est disponible, et le faible quota par défaut.

Abonnement et région

Il vous faut un abonnement Azure actif et une ressource Azure OpenAI dans une région qui propose le modèle. La génération d’images n’est disponible que dans un sous-ensemble de régions. Ouvrez donc le tableau de disponibilité des régions de Microsoft, repérez GPT Image 2 et choisissez une région proche de vos utilisateurs ou de vos règles de gestion des données. Créer la ressource d’abord et vérifier le tableau ensuite est la cause la plus fréquente d’échec d’un déploiement.

Quota et limites de débit

Le quota par défaut documenté pour GPT Image 2 est de 5 images par minute. Plusieurs conséquences en découlent :

  • Une rafale de tâches parallèles atteindra presque immédiatement les réponses HTTP 429.
  • Le quota étant compté en images, une seule requête demandant dix images peut dépasser la limite sur un déploiement neuf. Testez votre valeur n avant de vous y fier.
  • Prévoyez des nouvelles tentatives avec un backoff exponentiel, et faites une demande d’augmentation de quota dès maintenant si vous attendez un trafic réel.

Un petit wrapper de nouvelles tentatives permet à une tâche par lots de tenir lorsque la limite se déclenche :

import time
from openai import RateLimitError

def generate_with_retry(client, deployment, prompt, attempts=5):
    for attempt in range(attempts):
        try:
            return client.images.generate(
                model=deployment, prompt=prompt, size="1536x864", quality="low", n=1
            )
        except RateLimitError:
            if attempt == attempts - 1:
                raise
            time.sleep(2 ** attempt * 5)

Avec le quota par défaut, une attente de 5, 10, 20 puis 40 secondes entre les tentatives laisse à la fenêtre par minute le temps de se recharger.

💡 Astuce : Considérez 5 images par minute comme une limite d’essai. Une page produit qui génère des images à la demande aura besoin d’un quota relevé, d’une file d’attente ou des deux.

Déployer le modèle dans Foundry

Ingénieur cloud debout devant un bureau à deux écrans

Les menus du portail sont renommés d’une version à l’autre. Suivez donc le nom du modèle plutôt qu’un parcours de clics mémorisé.

Créer la ressource

  1. Dans le portail Azure, créez une ressource Azure OpenAI ou un projet Microsoft Foundry, dans une région qui propose GPT Image 2.
  2. Choisissez un nom de ressource qui vous conviendra à long terme. Il fait partie de l’endpoint : https://<resource-name>.openai.azure.com.
  3. Terminez l’assistant de création et attendez la fin du provisionnement.

Créer le déploiement

  1. Ouvrez le portail Foundry et accédez à la page des déploiements de votre ressource.
  2. Choisissez de déployer un modèle de base et recherchez gpt-image-2.
  3. Sélectionnez un type de déploiement, définissez la capacité et donnez un nom au déploiement.

Ce nom compte. Sur Azure, le champ model de votre code est le nom de déploiement, et non l’identifiant public du modèle. Si vous l’appelez images-prod, votre code envoie images-prod.

Foundry propose aussi un espace d’essai pour les modèles d’images, qui est le moyen le plus rapide de vérifier qu’un déploiement fonctionne avant d’écrire du code.

Trouver l’endpoint et les identifiants

Votre endpoint apparaît sur la vue d’ensemble de la ressource et sur la page des déploiements. Pour l’authentification, Azure vous laisse choisir entre un identifiant statique et Microsoft Entra ID. Pour tout ce qui dépasse un simple test jetable, utilisez Entra ID : attribuez le rôle Cognitive Services OpenAI User à votre identité, connectez-vous avec l’Azure CLI et laissez le SDK récupérer des jetons à courte durée de vie. De cette façon, aucune donnée sensible ne finit dans votre dépôt.

Appeler l’API depuis le code

Mains tapant sur un ordinateur portable sur une table de cuisine en lumière du matin

L’endpoint d’images suit ce modèle :

https://<resource-name>.openai.azure.com/openai/deployments/<deployment-name>/images/generations?api-version=2025-04-01-preview

La documentation actuelle de Microsoft utilise la version d’API 2025-04-01-preview ou ultérieure. Voici les règles de requête pour GPT Image 2 :

  • Taille : dimensions personnalisées WIDTHxHEIGHT, les deux côtés étant des multiples de 16, aucun ne dépassant 3 840 pixels.
  • Format : compris entre 1:3 et 3:1.
  • Nombre de pixels : compris entre 655 360 et 8 294 400.
  • Qualité : low, medium ou high.
  • Nombre : n, de 1 à 10.

La requête REST

TOKEN=$(az account get-access-token \
  --resource https://cognitiveservices.azure.com \
  --query accessToken -o tsv)

curl -X POST "https://<resource-name>.openai.azure.com/openai/deployments/<deployment-name>/images/generations?api-version=2025-04-01-preview" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "prompt": "A ceramic mug of coffee on an oak desk, morning window light, 85mm photograph",
    "size": "1536x864",
    "quality": "medium",
    "n": 1
  }'

Python avec le SDK OpenAI

import base64
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(),
    "https://cognitiveservices.azure.com/.default",
)

client = AzureOpenAI(
    azure_endpoint="https://<resource-name>.openai.azure.com",
    azure_ad_token_provider=token_provider,
    api_version="2025-04-01-preview",
)

result = client.images.generate(
    model="<deployment-name>",
    prompt="A ceramic mug of coffee on an oak desk, morning window light, 85mm photograph",
    size="1536x864",
    quality="medium",
    n=1,
)

with open("render.png", "wb") as f:
    f.write(base64.b64decode(result.data[0].b64_json))

Enregistrer la sortie en base64

Photographies imprimées disposées en grille sur une table de studio de design

Voici le détail qui surprend : l’endpoint d’images d’Azure pour ces modèles ne renvoie que des données base64, sans option d’URL hébergée. Chaque réponse contient l’image complète dans le JSON.

Cela a des conséquences concrètes pour votre application :

  • Décodez le fichier et écrivez-le immédiatement sur un stockage durable, comme un conteneur blob.
  • Stockez l’URL de stockage dans votre base de données, et non la chaîne base64.
  • Redimensionnez les miniatures de votre côté, car l’API ne le fera pas à votre place.
  • Ne régénérez jamais une image que vous avez déjà payée simplement parce que vous avez perdu les octets.

Le stockage est la partie bon marché du pipeline. Quelques centaines de Ko par image dans un stockage blob coûtent une fraction infime de ce que le rendu lui-même a coûté. Conserver chaque sortie que vous payez est donc presque toujours le meilleur compromis.

Cinq erreurs qui font gaspiller de l’argent

Homme fronçant les sourcils devant un ordinateur portable, à côté d’une pile de tickets de caisse

  1. Laisser la qualité sur élevée pour les brouillons. Les tokens de sortie constituent la principale dépense, et la qualité élevée en demande le plus. Brouillon en basse qualité, finition en haute.
  2. Demander des canevas 4K pour des pages web. Si la page affiche l’image sur 1 280 pixels de large, un rendu de 3 840 pixels représente de l’argent que vous ne voyez pas passer.
  3. Relancer les erreurs 429 en boucle serrée. Les appels limités en débit, martelés sans backoff, font perdre du temps et peuvent accumuler des travaux échoués.
  4. Envoyer le nom public du modèle. La valeur model doit être votre nom de déploiement. Une incohérence renvoie une erreur, et les ingénieurs passent alors une heure à accuser la région.
  5. Ne pas enregistrer la sortie. Les réponses en base64 disparaissent avec votre processus. Si vous n’avez pas écrit les octets sur un stockage, la seule solution est un nouveau rendu payant.

Utiliser GPT Image 2 sur PicassoIA

Designer choisissant une image dans une galerie sur un grand écran

Tous les projets n’ont pas besoin d’une ressource cloud. GPT Image 2 sur PicassoIA fonctionne depuis une page web, ce qui en fait un moyen rapide de tester vos prompts avant de dépenser des tokens Azure pour eux.

Choisir vos réglages

Ouvrez la page du modèle, saisissez votre prompt et ajustez les options dont vous avez besoin.

RéglageFonctionPar défaut
PromptDécrit l’image (obligatoire)Aucun
QualitéDétail faible, moyen ou élevéauto
Arrière-planTransparent, opaque ou automatiqueauto
Format1:1, 3:2 ou 2:31:1
Nombre d’imagesDe 1 à 10 variantes par lancement1
Format de sortiePNG, JPEG ou WebPwebp
CompressionDe 0 à 100 %90
ModérationNiveau du filtre de contenuauto
Images d’entréeImages de référence pour les modifications et les variantesAucune

Un champ facultatif accepte votre propre identifiant OpenAI. Laissez-le vide et la plateforme achemine la requête pour vous.

💡 Astuce : Les prompts qui mentionnent un objectif photo, une direction de lumière et une texture de surface donnent des résultats plus stables. Demandez à un modèle de texte comme Claude Sonnet 5 ou GPT 5.6 Terra de rédiger trois variantes de prompt, puis testez chacune ici.

Générer et télécharger

  1. Appuyez sur le bouton de génération et attendez le rendu.
  2. Vérifiez le rendu du texte, des mains et des contours en taille réelle.
  3. Téléchargez le fichier dans le format de votre choix.
  4. Modifiez un réglage à la fois et relancez.

Un flux de travail raisonnable répartit le travail en deux étapes. Utilisez le navigateur pour fixer la composition, la formulation et l’emplacement du texte, car les itérations y sont rapides et vous pouvez lancer jusqu’à dix variantes à la fois. Une fois qu’un prompt produit de façon fiable ce que vous voulez, copiez-le dans votre code Azure et lancez-le au format et à la qualité dont votre produit a besoin. Le prompt est repris tel quel, donc chaque essai réalisé au préalable évite des appels payants plus tard.

Vous voulez comparer des modèles ? Essayez GPT Image 2.5 Flare, Seedream 4.5 ou Nano Banana 2 Lite avec le même prompt, et gardez celui qui vous semble le meilleur.

Créez votre première image dès aujourd’hui

Femme souriant devant une tablette, près d’une fenêtre ensoleillée

Vous avez maintenant une vue d’ensemble complète de GPT Image 2 sur Azure : une tarification au token qui récompense les brouillons en basse qualité, un quota initial de 5 images par minute, une sortie uniquement en base64 et un nom de déploiement qui fait aussi office de champ du modèle. Ces quatre éléments déterminent la plupart des budgets et la plupart des bogues.

La façon la moins coûteuse de trouver un prompt qui fonctionne est de le tester avant qu’il n’atteigne votre facture Azure. Ouvrez GPT Image 2 sur Picasso IA, rédigez la photo produit, l’affiche ou l’image d’en-tête que vous avez en tête, et lancez cinq variantes en basse qualité. Choisissez la gagnante, puis reprenez ce prompt exact dans votre déploiement Azure en toute confiance. Votre premier rendu n’est qu’à un prompt de distance, alors lancez-vous.

Partager cet article

Choisissez votre langue