For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Génération d’images

Découvrez comment générer ou modifier des images.

Vue d’ensemble

L’API vous permet de générer et de modifier des images à partir de prompts textuels avec gpt-image-2.5-sunburst et gpt-image-2.5-flare. Choisissez Sunburst pour les workflows où la précision des modifications prime, et Flare pour générer rapidement des images de haute qualité au quotidien. Deux API donnent accès aux fonctionnalités de génération d’images :

API Image

L’API Image propose deux points de terminaison, chacun doté de fonctionnalités distinctes :

API Responses

L’API Responses vous permet de générer des images au fil de conversations ou de workflows en plusieurs étapes. Elle propose la génération d’images sous forme d’outil intégré et accepte dans le contexte des images en entrée et en sortie.

Par rapport à l’API Image, elle ajoute :

  • Modification sur plusieurs échanges : Modifiez progressivement les images avec une grande fidélité à l’aide de prompts
  • Entrées flexibles : Fournissez les images en entrée sous forme d’identifiants File, et pas uniquement sous forme d’octets

Pour connaître les modèles principaux capables d’appeler l’outil de génération d’images, consultez les modèles pris en charge.

Choisir l’API adaptée

  • Si vous avez seulement besoin de générer ou de modifier une seule image à partir d’un prompt, l’API Image est le meilleur choix.
  • Si vous souhaitez créer des expériences conversationnelles permettant de générer et de modifier des images avec GPT Image, choisissez l’API Responses.

Avec l’API Image, définissez directement model sur gpt-image-2.5-sunburst ou gpt-image-2.5-flare. Avec l’API Responses, sélectionnez un modèle principal pris en charge au niveau supérieur et indiquez gpt-image-2.5-sunburst ou gpt-image-2.5-flare dans le champ model de l’outil de génération d’images.

Les deux API vous permettent de personnaliser la sortie en ajustant la qualité, la taille, le format et la compression.

Pour garantir une utilisation responsable de ces modèles, vous devrez peut-être effectuer la vérification de l’organisation pour l’API depuis votre console de développement avant d’utiliser les modèles GPT Image.

Une tasse à café beige sur une table en bois

Générer des images

Vous pouvez utiliser le point de terminaison de génération d’images pour créer des images à partir de prompts textuels, ou l’outil de génération d’images de l’API Responses pour générer des images au fil d’une conversation.

Pour en savoir plus sur la personnalisation de la sortie (taille, qualité, format, compression), consultez la section Personnaliser les images de sortie ci-dessous.

Vous pouvez définir le paramètre n pour générer plusieurs images à la fois dans une seule requête (par défaut, l’API renvoie une seule image).

Générer une image
from openai import OpenAI
import base64

client = OpenAI()

prompt = """
A children's book drawing of a veterinarian using a stethoscope to
listen to the heartbeat of a baby otter.
"""

result = client.images.generate(model="gpt-image-2.5-sunburst", prompt=prompt)

image_base64 = result.data[0].b64_json
image_bytes = base64.b64decode(image_base64)

# Save the image to a file
with open("otter.png", "wb") as f:
    f.write(image_bytes)

Génération d’images sur plusieurs échanges

Avec l’API Responses, vous pouvez créer des conversations sur plusieurs échanges qui intègrent la génération d’images, soit en fournissant dans le contexte les sorties des appels de génération d’images (vous pouvez aussi utiliser simplement l’identifiant de l’image), soit en utilisant le paramètre previous_response_id. Vous pouvez ainsi retravailler les images sur plusieurs échanges : affiner les prompts, appliquer de nouvelles instructions et faire évoluer le résultat visuel au fil de la conversation.

Avec l’outil de génération d’images de l’API Responses, les modèles pris en charge par l’outil peuvent choisir de générer une nouvelle image ou de modifier une image déjà présente dans la conversation. Le paramètre facultatif action contrôle ce comportement : conservez action: "auto" pour laisser le modèle décider, définissez action: "generate" pour toujours créer une nouvelle image, ou définissez action: "edit" pour imposer une modification lorsqu’une image est présente dans le contexte.

Forcer la création d’une image avec action
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[
        {"type": "image_generation", "model": "gpt-image-2.5-sunburst", "action": "generate"}
    ],
)

# Save the image to a file
image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]
    with open("otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

Si vous imposez edit sans fournir d’image dans le contexte, l’appel renverra une erreur. Laissez action sur auto pour que le modèle décide quand générer ou modifier une image.

Génération d’images en plusieurs échanges
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]

    with open("cat_and_otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))


# Follow up

response_fwup = client.responses.create(
    model="gpt-6-astra",
    previous_response_id=response.id,
    input="Now make it look realistic",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_data_fwup = [
    output.result
    for output in response_fwup.output
    if output.type == "image_generation_call"
]

if image_data_fwup:
    image_base64 = image_data_fwup[0]
    with open("cat_and_otter_realistic.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

Résultat

« Générez une image d’un chat tigré gris qui enlace une loutre portant une écharpe orange »

Un chat et une loutre

« Rendez maintenant l’image réaliste »

Un chat et une loutre

Diffusion en continu

L’API Responses et l’API Image prennent en charge la génération d’images avec diffusion en continu. Vous pouvez diffuser des images partielles au fur et à mesure que les API les génèrent, pour offrir une expérience plus interactive.

Vous pouvez ajuster le paramètre partial_images pour recevoir de 0 à 3 images partielles.

  • Si vous définissez partial_images sur 0, vous ne recevrez que l’image finale.
  • Pour les valeurs supérieures à zéro, vous pourriez recevoir moins d’images partielles que demandé si l’image complète est générée plus rapidement.
Diffusion d’une image en continu
from openai import OpenAI
import base64

client = OpenAI()


def save_base64_image(filename, image_base64):
    image_bytes = base64.b64decode(image_base64)
    with open(filename, "wb") as f:
        f.write(image_bytes)


stream = client.responses.create(
    model="gpt-6-astra",
    input="Draw a gorgeous image of a river made of white owl feathers, snaking its way through a serene winter landscape",
    stream=True,
    tools=[
        {"type": "image_generation", "model": "gpt-image-2.5-sunburst", "partial_images": 2}
    ],
)

for event in stream:
    if event.type == "response.image_generation_call.partial_image":
        idx = event.partial_image_index
        save_base64_image(f"river-partial-{idx}.png", event.partial_image_b64)
    elif event.type == "response.completed":
        image_data = [
            output.result
            for output in event.response.output
            if output.type == "image_generation_call"
        ]

        if image_data:
            save_base64_image("river-final.png", image_data[0])

Résultat

Image partielle 1Image partielle 2Image finale
Première image partielleDeuxième image partielleImage finale

Prompt : Dessinez une magnifique image d’une rivière faite de plumes blanches de chouette, qui serpente à travers un paisible paysage hivernal

Prompt révisé

Lorsque vous utilisez l’outil de génération d’images dans l’API Responses, le modèle principal (par exemple, gpt-5.5) révise automatiquement votre prompt pour améliorer les performances.

Vous pouvez accéder au prompt révisé dans le champ revised_prompt de l’appel de génération d’images :

Réponse contenant le prompt révisé
{
  "id": "ig_123",
  "type": "image_generation_call",
  "status": "completed",
  "revised_prompt": "A gray tabby cat hugging an otter. The otter is wearing an orange scarf. Both animals are cute and friendly, depicted in a warm, heartwarming style.",
  "result": "..."
}

Modification d’images

Le point de terminaison de modification d’images vous permet de :

  • Modifier des images existantes
  • Générer de nouvelles images en utilisant d’autres images comme référence
  • Modifier des parties d’une image en important une image et un masque qui indique les zones à remplacer

Création d’une nouvelle image à partir d’images de référence

Vous pouvez utiliser une ou plusieurs images comme référence pour générer une nouvelle image.

Dans cet exemple, nous allons utiliser 4 images d’entrée pour générer une nouvelle image d’un panier cadeau contenant les articles présents dans les images de référence.

Lait pour le corpsSavonKit d’encensBombe de bain
Coffret cadeau pour le bain

Avec l’API Responses, vous pouvez fournir des images en entrée de 3 façons différentes :

  • En fournissant une URL complète
  • En fournissant une image sous forme d’URL de données encodées en Base64
  • En fournissant l’identifiant d’un fichier (créé avec l’API Files)

Créez un fichier

Créez un fichier
from openai import OpenAI

client = OpenAI()


def create_file(file_path):
    with open(file_path, "rb") as file_content:
        result = client.files.create(
            file=file_content,
            purpose="vision",
        )
        return result.id

Créez une image encodée en base64

Créez une image encodée en base64
import base64


def encode_image(file_path):
    with open(file_path, "rb") as f:
        base64_image = base64.b64encode(f.read()).decode("utf-8")
    return base64_image
Modifiez une image
from openai import OpenAI
import base64

client = OpenAI()


def encode_image(file_path):
    with open(file_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")


def create_file(file_path):
    with open(file_path, "rb") as file_content:
        result = client.files.create(file=file_content, purpose="vision")
    return result.id


prompt = """Generate a photorealistic image of a gift basket on a white background
labeled 'Relax & Unwind' with a ribbon and handwriting-like font,
containing all the items in the reference pictures."""

base64_image1 = encode_image("body-lotion.png")
base64_image2 = encode_image("soap.png")
file_id1 = create_file("bath-bomb.png")
file_id2 = create_file("incense-kit.png")

response = client.responses.create(
    model="gpt-6-astra",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": prompt},
                {
                    "type": "input_image",
                    "image_url": f"data:image/png;base64,{base64_image1}",
                },
                {
                    "type": "input_image",
                    "image_url": f"data:image/png;base64,{base64_image2}",
                },
                {
                    "type": "input_image",
                    "file_id": file_id1,
                },
                {
                    "type": "input_image",
                    "file_id": file_id2,
                },
            ],
        }
    ],
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_generation_calls = [
    output for output in response.output if output.type == "image_generation_call"
]

image_data = [output.result for output in image_generation_calls]

if image_data:
    image_base64 = image_data[0]
    with open("gift-basket.png", "wb") as f:
        f.write(base64.b64decode(image_base64))
else:
    print(response.output_text)

Modifiez une image à l’aide d’un masque

Vous pouvez fournir un masque pour indiquer la partie de l’image à modifier.

Lorsque vous utilisez un masque avec GPT Image, des instructions supplémentaires sont envoyées au modèle pour guider les modifications en conséquence.

L’utilisation de masques avec GPT Image repose entièrement sur des prompts. Le modèle utilise le masque comme repère, mais peut ne pas en respecter les contours avec une précision parfaite.

Si vous fournissez plusieurs images en entrée, le masque sera appliqué à la première image.

Modifiez une image à l’aide d’un masque
from openai import OpenAI
import base64

client = OpenAI()


def create_file(file_path):
    with open(file_path, "rb") as file_content:
        result = client.files.create(file=file_content, purpose="vision")
    return result.id


fileId = create_file("sunlit_lounge.png")
maskId = create_file("mask.png")

response = client.responses.create(
    model="gpt-6-astra",
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "generate an image of the same sunlit indoor lounge area with a pool but the pool should contain a flamingo",
                },
                {
                    "type": "input_image",
                    "file_id": fileId,
                },
            ],
        },
    ],
    tools=[
        {
            "type": "image_generation",
            "model": "gpt-image-2.5-sunburst",
            "quality": "high",
            "input_image_mask": {
                "file_id": maskId,
            },
        },
    ],
)

image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]
    with open("lounge.png", "wb") as f:
        f.write(base64.b64decode(image_base64))
ImageMasqueRésultat
Une pièce rose avec une piscineUn masque sur une partie de la piscineLa piscine d’origine avec un flamant rose gonflable à la place du masque

Prompt : un espace de détente intérieur baigné de soleil, avec une piscine contenant un flamant rose

Exigences relatives au masque

L’image à modifier et le masque doivent avoir le même format et la même taille (moins de 50 Mo).

L’image du masque doit également contenir un canal alpha. Si vous utilisez un outil de retouche d’image pour créer le masque, veillez à l’enregistrer avec un canal alpha.

Vous pouvez modifier une image en noir et blanc par programmation pour lui ajouter un canal alpha.

Ajoutez un canal alpha à un masque en noir et blanc
from PIL import Image
from io import BytesIO

# 1. Load your black & white mask as a grayscale image
mask = Image.open("mask.png").convert("L")

# 2. Convert it to RGBA so it has space for an alpha channel
mask_rgba = mask.convert("RGBA")

# 3. Then use the mask itself to fill that alpha channel
mask_rgba.putalpha(mask)

# 4. Convert the mask into bytes
buf = BytesIO()
mask_rgba.save(buf, format="PNG")
mask_bytes = buf.getvalue()

# 5. Save the resulting file
img_path_mask_alpha = "mask_alpha.png"
with open(img_path_mask_alpha, "wb") as f:
    f.write(mask_bytes)

Personnalisation des images générées

Vous pouvez configurer les options de sortie suivantes :

  • Taille : dimensions de l’image (par exemple, 1024x1024, 1024x1536)
  • Qualité : qualité du rendu (par exemple, low, medium, high)
  • Format : format du fichier de sortie
  • Compression : niveau de compression (0 à 100 %) pour les formats JPEG et WebP
  • Arrière-plan : transparent, opaque ou automatique

size, quality et background prennent en charge l’option auto, qui laisse le modèle sélectionner automatiquement la meilleure option en fonction du prompt.

Options de taille et de qualité

gpt-image-2.5-sunburst et gpt-image-2.5-flare ajoutent les niveaux de qualité xhigh et max. Tous deux utilisent auto par défaut. Les modèles GPT Image antérieurs prennent en charge les niveaux de qualité jusqu’à high.

ParamètreOptions
Tailles recommandées1024x1024 (carré), 1536x1024 (paysage), 1024x1536 (portrait)
Qualitélow, medium, high, xhigh, max, auto

Les deux modèles prennent également en charge des dimensions personnalisées sous forme de chaînes WIDTHxHEIGHT, telles que 1536x864. La largeur et la hauteur doivent être des multiples de 16, le rapport largeur/hauteur doit être compris entre 1:3 et 3:1, et aucun côté ne doit dépasser 3840 pixels. Le nombre total de pixels doit être compris entre 655 360 et 8 294 400 (4K). Les résolutions supérieures à 2560x1440 sont expérimentales.

Pour obtenir un arrière-plan transparent avec l’un ou l’autre modèle, définissez background: "transparent" et utilisez output_format: "png" ou "webp".

Utilisez quality: "low" pour obtenir rapidement des ébauches. Pour les images finales, comparez les niveaux de qualité supérieurs afin de trouver le bon équilibre entre détails, latence et coût.

Format de sortie

L’API Image renvoie des données d’image encodées en base64. Le format par défaut est png, mais vous pouvez également demander jpeg ou webp.

Si vous utilisez jpeg ou webp, vous pouvez également définir le paramètre output_compression pour contrôler le niveau de compression (0 à 100 %). Par exemple, output_compression=50 compressera l’image de 50 %.

Le format jpeg est plus rapide que png ; privilégiez-le donc si la latence est un enjeu.

Limites

Les modèles GPT Image sont des modèles de génération d’images puissants et polyvalents, mais ils présentent encore certaines limites à connaître :

  • Latence : le traitement des prompts complexes peut prendre jusqu’à 2 minutes.
  • Rendu du texte : malgré des améliorations importantes, le modèle peut encore avoir du mal à placer le texte avec précision et à le rendre lisible.
  • Cohérence : bien qu’il soit capable de produire des images cohérentes, le modèle peut parfois avoir du mal à maintenir la cohérence visuelle de personnages récurrents ou d’éléments de marque d’une génération à l’autre.
  • Contrôle de la composition : malgré un meilleur respect des instructions, le modèle peut avoir du mal à placer les éléments avec précision dans des compositions structurées ou exigeant une disposition rigoureuse.

Modération du contenu

Tous les prompts et toutes les images générées sont filtrés conformément à notre politique relative au contenu.

Pour la génération d’images avec les modèles GPT Image, vous pouvez contrôler le niveau de rigueur de la modération à l’aide du paramètre moderation. Ce paramètre accepte deux valeurs :

  • auto (par défaut) : filtrage standard visant à limiter la création de certaines catégories de contenu potentiellement inapproprié pour certaines tranches d’âge.
  • low : filtrage moins restrictif.

Gestion des requêtes bloquées et des autres erreurs

Gérez les échecs de génération d’images comme les autres erreurs de l’API : vérifiez le code d’état HTTP ou le type d’exception du SDK, consignez l’identifiant de la requête et consultez le guide des codes d’erreur pour les problèmes d’authentification, de quota, de limite de débit et de serveur. En cas d’erreur temporaire liée à une limite de débit ou au serveur, réessayez en espaçant progressivement les tentatives. Ne relancez pas automatiquement les requêtes en cas d’erreur de quota ou d’erreur utilisateur de génération d’images nécessitant de modifier la requête.

Certains échecs de génération d’images peuvent être corrigés par l’utilisateur et renvoyer error.type = "image_generation_user_error". Ne relancez pas automatiquement ces requêtes sans modifier le prompt ou les images en entrée. Pour gérer ces erreurs dans votre code, utilisez error.code comme critère de distinction stable.

Lorsque error.code = "moderation_blocked", l’erreur peut également inclure un objet facultatif error.moderation_details :

{
  "error": {
    "type": "image_generation_user_error",
    "code": "moderation_blocked",
    "moderation_details": {
      "moderation_stage": "input",
      "categories": ["harassment"]
    }
  }
}

L’objet moderation_details fournit des informations générales utiles au débogage sans exposer les libellés ni les scores des classificateurs internes.

moderation_stage peut prendre les valeurs suivantes :

  • input : le blocage provient du prompt ou des données d’entrée de la requête.
  • output : le blocage provient d’une image générée ou d’une étape ultérieure de modération des sorties.
  • unknown : valeur de repli rarement utilisée, lorsque l’origine du blocage est difficile à déterminer.

categories contient des libellés publics généraux. Vous pouvez par exemple y trouver des valeurs comme harassment, self-harm, sexual ou violence.

Pour la plupart des applications, gardez un message principal générique à destination de l’utilisateur final. Utilisez moderation_details pour les journaux destinés aux développeurs, les workflows d’assistance, les analyses et les suggestions simples de correction.

Gérez les erreurs de génération d’images dues à un blocage par la modération
import OpenAI from "openai";

const openai = new OpenAI();

try {
  // The same error handling pattern applies to image generation requests,
  // image edits, and Responses API tool calls that generate images.
  await openai.images.generate({
    model: "gpt-image-2.5-sunburst",
    prompt: "Create a poster humiliating my coworker with insulting captions",
  });
} catch (error) {
  if (error?.code !== "moderation_blocked") {
    throw error;
  }

  const moderationDetails = error.error?.moderation_details;
  const categories = moderationDetails?.categories ?? [];
  const stage = moderationDetails?.moderation_stage;

  let hint =
    "This request could not be completed because it did not meet safety requirements.";

  if (categories.includes("harassment")) {
    hint =
      "Try removing abusive or targeting language and focus on neutral visual details instead.";
  } else if (stage === "input") {
    hint =
      "Try revising the prompt or input images and submit the request again.";
  } else if (stage === "output") {
    hint =
      "The generated result was blocked by a safety check. Try changing the prompt and generating again.";
  }

  console.error("Image generation blocked", {
    request_id: error?.requestID,
    code: error?.code,
    moderation_details: moderationDetails,
  });

  console.log(hint);
}

Modèles pris en charge

Pour la génération d’images dans l’API Responses, gpt-5 et les modèles plus récents devraient prendre en charge l’outil de génération d’images. Consultez la page détaillée de votre modèle pour vérifier si celui que vous souhaitez utiliser peut faire appel à cet outil.

Coût et latence

Coûts de GPT Image 2.5

Les requêtes à l’API Responses incluent la consommation de tokens du modèle principal en plus des coûts de génération d’images.

Les deux modèles GPT Image 2.5 appliquent les mêmes tarifs par token : 8 $ par million de tokens d’image en entrée, 2 $ par million de tokens d’image en entrée mis en cache, 30 $ par million de tokens d’image en sortie, 5 $ par million de tokens de texte en entrée et 1,25 $ par million de tokens de texte en entrée mis en cache. Consultez les tarifs.

Utilisez le champ usage de la réponse pour mesurer la consommation de tokens selon vos prompts, les dimensions et les réglages de qualité. Des tarifs par token identiques n’impliquent pas un coût par image identique : la consommation de tokens peut varier selon le modèle et le réglage de qualité. Pour des exemples de tarifs des modèles précédents, consultez la section Modèles GPT Image précédents.

Tokens de sortie de GPT Image 2.5 et GPT Image 2

Sélectionnez un modèle, une qualité et des dimensions pour estimer le nombre de tokens de sortie et le coût de l’image en sortie. Pour gpt-image-2.5-sunburst et gpt-image-2.5-flare, les options de qualité sont low, medium, high, xhigh et max. Pour gpt-image-2, les options sont low, medium et high. Les modèles peuvent consommer un nombre différent de tokens pour un même réglage de qualité, mais appliquent le même tarif par token d’image en sortie. Utilisez des valeurs explicites de qualité et de dimensions pour cette estimation ; auto dépend de l’image générée.

Modèle
Qualité
Tokens de sortie
196
Coût estimé de l’image en sortie
$0.00588

Par image, au tarif de 30 USD par million de tokens d’image en sortie. Hors tokens de texte et d’image en entrée et images partielles diffusées en continu.

Coût des images partielles

Si vous souhaitez diffuser la génération d’images en continu à l’aide du paramètre partial_images, chaque image partielle entraîne un coût supplémentaire de 100 tokens d’image en sortie.

Modèles GPT Image précédents

Les informations ci-dessous s’appliquent aux modèles précédents, pas à Sunburst ni à Flare. Pour les nouvelles intégrations, utilisez l’un des modèles GPT Image 2.5 décrits ci-dessus.

Paramètres de GPT Image 2 et fidélité aux images en entrée

gpt-image-2 accepte toute résolution dans le paramètre size dès lors qu’elle respecte les contraintes ci-dessous. Les images carrées sont généralement les plus rapides à générer.

Dimensions courantes
  • 1024x1024 (carré)

  • 1536x1024 (paysage)

  • 1024x1536 (portrait)

  • 2048x2048 (carré 2K)

  • 2048x1152 (paysage 2K)

  • 3840x2160 (paysage 4K)

  • 2160x3840 (portrait 4K)

  • auto (par défaut)

Contraintes de dimensions
  • La longueur du côté le plus long doit être inférieure ou égale à 3840px

  • Les deux côtés doivent être des multiples de 16px

  • Le rapport entre le côté le plus long et le côté le plus court ne doit pas dépasser 3:1

  • Le nombre total de pixels doit être au minimum de 655,360 et au maximum de 8,294,400

Options de qualité
  • low
  • medium
  • high
  • auto (par défaut)

Fidélité aux images en entrée

Le paramètre input_fidelity détermine dans quelle mesure un modèle préserve les détails des images en entrée lors des modifications et des workflows utilisant des images de référence. Pour gpt-image-2, omettez ce paramètre : l’API ne permet pas de le modifier, car le modèle traite automatiquement chaque image en entrée avec une haute fidélité.

Comme gpt-image-2 traite toujours les images en entrée avec une haute fidélité, le nombre de tokens d’image en entrée peut être plus élevé pour les requêtes de modification qui incluent des images de référence. Pour comprendre les conséquences sur le coût, consultez la section Coûts liés à la vision.

Exemples de tarifs des anciens modèles

Modèles antérieurs à gpt-image-2

Les modèles GPT Image antérieurs à gpt-image-2 génèrent des images en produisant d’abord des tokens d’image spécialisés. La latence et le coût final sont proportionnels au nombre de tokens nécessaires au rendu d’une image : des dimensions plus grandes et des réglages de qualité plus élevés entraînent un nombre de tokens plus important.

Le nombre de tokens générés dépend des dimensions et de la qualité de l’image :

QualitéCarré (1024×1024)Portrait (1024×1536)Paysage (1536×1024)
Faible272 tokens408 tokens400 tokens
Médium1056 tokens1584 tokens1568 tokens
Élevé4160 tokens6240 tokens6208 tokens

Vous devez également tenir compte des tokens d’entrée : les tokens de texte du prompt et, si vous modifiez des images, les tokens d’image des images en entrée. Comme gpt-image-2 traite toujours les images en entrée avec une haute fidélité, les requêtes de modification qui incluent des images de référence peuvent utiliser davantage de tokens d’entrée.

Consultez la page des tarifs pour connaître les prix actuels des tokens de texte et d’image, et utilisez la section Calcul des coûts ci-dessous pour estimer le coût des requêtes.

Le coût final correspond à la somme des coûts suivants :

  • tokens de texte en entrée
  • tokens d’image en entrée si vous utilisez le point de terminaison de modification
  • tokens d’image en sortie

Calcul des coûts

Utilisez le calculateur de tarifs ci-dessous pour estimer le coût des requêtes pour les modèles GPT Image. gpt-image-2 prend en charge des milliers de résolutions valides ; le tableau ci-dessous présente les mêmes dimensions que celles des modèles GPT Image précédents pour faciliter la comparaison. Pour GPT Image 1.5, GPT Image 1 et GPT Image 1 Mini, l’ancien tableau des tarifs de sortie par image figure également ci-dessous. Vous devez toujours tenir compte des tokens de texte et d’image en entrée pour estimer le coût total d’une requête.

Une résolution plus élevée au format non carré peut parfois produire moins de tokens de sortie qu’une résolution plus faible ou carrée, avec le même réglage de qualité.

Modèle

Qualité

1024 x 1024 1024 x 1536 1536 x 1024

GPT Image 2


Autres dimensions disponibles
Faible $0.006 $0.005 $0.005
Médium $0.053 $0.041 $0.041
Élevé $0.211 $0.165 $0.165

GPT Image 1.5

Faible $0.009 $0.013 $0.013
Médium $0.034 $0.05 $0.05
Élevé $0.133 $0.2 $0.2

GPT Image 1

Faible $0.011 $0.016 $0.016
Médium $0.042 $0.063 $0.063
Élevé $0.167 $0.25 $0.25

GPT Image 1 Mini

Faible $0.005 $0.006 $0.006
Médium $0.011 $0.015 $0.015
Élevé $0.036 $0.052 $0.052