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

Génération d’images

Permettez aux modèles de générer ou de modifier des images.

L’outil de génération d’images permet de générer des images à partir d’un prompt textuel, auquel vous pouvez joindre des images. Il utilise les modèles GPT Image, notamment gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5 et gpt-image-1-mini, et optimise automatiquement le texte fourni pour améliorer les résultats.

Pour l’outil image_generation, réglez le paramètre model sur gpt-image-2.5-sunburst pour modifier des images avec précision, ou sur gpt-image-2.5-flare pour générer rapidement des images de haute qualité. Dans le champ model de premier niveau de la requête Responses, indiquez un modèle principal compatible.

gpt-image-1 a été mis hors service le 23 octobre 2026. Consultez l’avis de dépréciation pour connaître les modalités de migration.

Pour en savoir plus, consultez notre guide de la génération d’images.

Utilisation

Lorsque vous incluez l’outil image_generation dans votre requête, le modèle peut décider quand et comment générer des images au cours de la conversation, en s’appuyant sur votre prompt et sur les images que vous lui avez éventuellement fournies.

Le résultat de l’appel d’outil image_generation_call contient une image encodée en base64.

Si votre application s’adresse à des utilisateurs finaux, incluez dans chaque requête Responses de premier niveau un safety_identifier stable qui préserve la confidentialité de l’utilisateur concerné. Faites-le également pour les requêtes de modification ultérieures. Ce paramètre se définit au niveau de la requête et ne fait pas partie des options de l’outil image_generation. Consultez la section sur les identifiants de sécurité pour les images pour savoir comment les utiliser avec les deux API d’images.

Générer une image
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"}],
)

# 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))

Vous pouvez fournir des images en entrée à l’aide d’identifiants de fichiers ou de données encodées en base64.

Pour forcer l’appel à l’outil de génération d’images, réglez le paramètre tool_choice sur {"type": "image_generation"}.

Options de l’outil

Les paramètres de l’outil de génération d’images permettent de configurer les options de sortie suivantes :

  • Taille : dimensions de l’image, par exemple 1024 × 1024 ou 1024 × 1536
  • Qualité : qualité du rendu, par exemple faible, moyenne ou élevée
  • Format : format du fichier de sortie
  • Compression : niveau de compression (de 0 à 100 %) pour les formats JPEG et WebP
  • Arrière-plan : transparent, opaque ou choisi automatiquement
  • Action : choix automatique, génération d’une image ou modification d’une image existante

Les paramètres size, quality et background acceptent la valeur auto, qui laisse le modèle choisir le réglage le plus adapté au prompt.

Avec gpt-image-2.5-sunburst et gpt-image-2.5-flare, le paramètre quality accepte également les valeurs xhigh et max. Les modèles GPT Image antérieurs ne prennent pas en charge ces valeurs. La qualité par défaut reste auto.

gpt-image-2 accepte différentes valeurs de size, à condition qu’elles respectent ses contraintes de résolution. Les arrière-plans transparents sont disponibles en préversion. Pour en obtenir un, indiquez background: "transparent". Utilisez le format png (par défaut) ou webp. Le format jpeg ne prend pas en charge les arrière-plans transparents.

Pour en savoir plus sur les options disponibles, consultez le guide de la génération d’images.

Avec l’outil de génération d’images de l’API Responses, les modèles GPT Image compatibles 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. Laissez action sur auto pour que le modèle choisisse entre génération et modification, ou indiquez generate pour imposer la génération ou edit pour imposer la modification. Si vous omettez ce paramètre, sa valeur par défaut est auto.

Prompt reformulé

Lorsque vous utilisez l’outil de génération d’images, le modèle principal, par exemple gpt-5.5, reformule automatiquement votre prompt pour améliorer les résultats.

Vous pouvez retrouver le prompt reformulé dans le champ revised_prompt de l’appel à l’outil de génération d’images :

{
  "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": "..."
}

Conseils pour rédiger vos prompts

La génération d’images donne de meilleurs résultats lorsque votre prompt contient des verbes comme draw ou edit.

Par exemple, pour combiner des images, au lieu d’utiliser combine ou merge, vous pouvez écrire : « Modifiez la première image en y ajoutant cet élément de la deuxième image. »

Modifications successives

Pour modifier une image à plusieurs reprises, indiquez l’identifiant d’une réponse précédente ou celui de l’image. Vous pouvez ainsi affiner l’image au fil de la conversation.

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))

Diffusion en continu

L’outil de génération d’images peut diffuser des images partielles pendant qu’il génère l’image finale. Les utilisateurs voient ainsi plus rapidement les premiers résultats, ce qui réduit la latence perçue.

Le paramètre partial_images permet de fixer le nombre d’images partielles, de 1 à 3.

Diffuser 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])

Modèles compatibles

Les modèles suivants ne sont pas dépréciés et leur documentation confirme leur compatibilité avec l’outil de génération d’images de l’API Responses. Utilisez leurs identifiants dans le champ model de premier niveau. Consultez la page de chaque modèle pour connaître sa disponibilité et ses conditions d’accès.

Pour connaître la disponibilité des modèles et leurs dates de mise hors service, consultez la page Dépréciations.