Claude Opus 5.5 est disponible sur SeedRouter
SeedRouter Docs

GPT Image 2.5

Générez et retouchez des images avec GPT Image 2.5 Flare ou Sunburst via un point de terminaison d'images asynchrone unique, avec six paliers de qualité jusqu'à max.

View Markdown

GPT Image 2.5 accepte un prompt textuel et, en option, des images de référence. Soumettez une fois, conservez l'identifiant de tâche renvoyé et interrogez cette tâche pour obtenir les images terminées. Il est proposé sous forme de deux modèles qui lisent les mêmes paramètres : Flare pour le travail courant et Sunburst lorsque la précision des retouches compte le plus.

ID de modèle

ID de modèleNiveauCanal
gpt-image-2.5-flareFlare : le choix par défaut pour la plupart des applicationsStandard
gpt-image-2.5-sunburstSunburst : le plus performant, un contrôle plus fin d'une retouche à l'autre, plus lentStandard
gpt-image-2.5-flare-officialFlareOfficial
gpt-image-2.5-sunburst-officialSunburstOfficial

Les quatre ID acceptent les mêmes paramètres. Les canaux diffèrent par leur facturation ; consultez la page du modèle pour les prix actuels.

Exemple rapide

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "An amber glass bottle on a cream background, studio lighting",
    "size": "1024x1024",
    "quality": "low"
  }'

Point de terminaison

POST https://api.seedrouter.ai/v1/images/generations
En-têteValeur
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Le même point de terminaison gère la génération, les retouches par référence et les retouches masquées. La réponse contient un identifiant de tâche, pas l'image terminée. Conservez les clés API dans du code côté serveur.

Paramètres

NomTypeRequisPar défautRemarques
modelstringOui—L'un des quatre ID de modèle ci-dessus.
promptstringOui—Non vide ; jusqu'à 32 000 caractères.
imagesobject[]Non—1 à 16 objets de la forme {"image_url":"https://..."} ; fournir images sélectionne la retouche.
maskobjectNon—{"image_url":"https://..."} ; nécessite images.
sizestringNonautoauto ou WIDTHxHEIGHT, sous réserve des règles ci-dessous.
qualityenumNonautoauto, low, medium, high, xhigh, max.
backgroundenumNonautoauto, opaque, transparent.
output_formatenumNonpngpng, jpeg.
output_compressionintegerNon100 pour JPEG0 à 100 ; à envoyer uniquement avec jpeg. Zéro est valide.
nintegerNon11 à 10 images.
moderationenumNonautoauto, low.
userstringNon—Identifiant facultatif de l'utilisateur final de votre application. Évitez les données personnelles.

Règles de taille

Les valeurs courantes sont 1024x1024, 1536x1024 et 1024x1536. Les dimensions personnalisées doivent respecter toutes les règles :

  • La largeur et la hauteur sont des multiples de 16.
  • Aucun côté ne dépasse 3840 pixels.
  • Le rapport d'aspect est compris entre 1:3 et 3:1.
  • La surface totale est comprise entre 655 360 et 8 294 400 pixels, bornes incluses.

auto laisse les dimensions de sortie au modèle. N'envoyez pas de rapports d'aspect tels que 16:9 comme size.

Le Playground propose les commandes Auto, Ratio et Personnalisé. Le mode Ratio combine un rapport d'aspect avec un budget de pixels prédéfini en 1K, 2K ou 4K, puis n'envoie que la size obtenue. Ce sont des préréglages d'interface, pas des paramètres d'API distincts : n'envoyez ni resolution ni aspect_ratio. Par exemple, 16:9 + 4K envoie size: "3840x2160" ; 9:16 + 4K envoie "2160x3840" ; 1:1 + 2K envoie "2048x2048". L'arrondi et la limite de côté peuvent réduire le nombre de pixels d'un palier sélectionné. Les dimensions exactes sont affichées avant la soumission.

OpenAI qualifie d'expérimentales les résolutions supérieures à 2560×1440. Elles sont acceptées dans les limites ci-dessus ; une résolution plus élevée ne garantit pas de meilleurs détails.

Paliers de qualité

xhigh et max sont nouveaux dans GPT Image 2.5 ; GPT Image 2 s'arrête à high. Les paliers supérieurs sont plus longs à rendre et, sur les ID facturés au token, consomment davantage de tokens de sortie. Mesuré en 1024x1024, un rendu a déclaré 196, 439, 1 756, 3 122 et 7 024 tokens de sortie pour low, medium, high, xhigh et max. Ce sont des échantillons observés, pas des garanties : la consommation dépend aussi de la taille et du contenu.

Utilisez low pour les brouillons et comparez les résultats avant de choisir un palier supérieur. auto laisse le modèle choisir ; cela ne garantit ni un palier ni un coût particulier.

Arrière-plans transparents

La transparence est prise en charge par GPT Image 2.5. Pour un arrière-plan transparent, définissez background: "transparent" et utilisez PNG. JPEG ne prend pas en charge la transparence. La compression ne s'applique qu'à JPEG.

user est disponible pour les intégrations d'API mais n'est ni affiché ni renseigné automatiquement dans le Playground.

Les réglages scalaires facultatifs (n, size, quality, background, output_format, output_compression, moderation) acceptent null comme omission. Les champs inconnus sont rejetés. input_fidelity n'est pas un paramètre de GPT Image 2.5. style et response_format appartiennent à d'autres modèles d'images et ne sont pas acceptés ici.

Modes

Il n'existe ni paramètre de mode distinct ni point de terminaison de retouche à choisir.

OpérationParamètres
Texte vers imageprompt
Retouche par référenceprompt + images
Retouche masquéeprompt + images + mask

Retoucher des images de référence

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "Make the bottle blue. Preserve the composition and lighting.",
    "images": [{"image_url": "https://example.com/reference.png"}],
    "mask": {"image_url": "https://example.com/mask.png"},
    "output_format": "jpeg",
    "output_compression": 90
  }'

Remplacez les deux URL d'exemple par vos propres images accessibles. Omettez mask pour une retouche par référence sans zone sélectionnée.

Entrées média

Cette API n'accepte que des références par URL. Les identifiants OpenAI Files, les data URL base64 et les envois multipart ne sont pas acceptés. Le Playground téléverse les fichiers sélectionnés vers le stockage avant d'en soumettre les URL.

Les images de référence doivent être des URL HTTP(S) publiques pointant vers des fichiers PNG, JPEG ou WebP de moins de 50 Mo chacun. Un masque doit être un PNG de moins de 4 Mo, aux mêmes dimensions que la première image de référence ; sa zone transparente indique ce qui doit être retouché. Un masque guide le modèle et ne garantit pas des contours au pixel près. Avec plusieurs références, le masque s'applique à la première image. Les médias référencés par URL sont validés pendant le traitement ; un média invalide ou inaccessible peut faire échouer la tâche.

Le Playground téléverse les fichiers sélectionnés et en soumet les URL. Les requêtes API utilisent des objets URL JSON : n'envoyez pas d'octets de fichier, de base64, d'URL data:, d'URL blob: ni de données de formulaire multipart.

Facteurs de coût

Consultez la section tarifs du modèle pour les tarifs actuels. Les ID Standard facturent un prix fixe par image livrée, quels que soient la qualité, la taille ou le prompt. Sur les ID Official, le coût final dépend de la consommation en entrée et en sortie : qualité, dimensions de sortie, images de référence, longueur du prompt et nombre d'images peuvent tous l'influencer.

L'estimation du Playground s'appuie sur un échantillon mesuré et les tarifs actuels ; ce n'est pas un devis ferme. Consultez les frais définitifs dans l'historique d'utilisation de votre compte. Les tâches échouées ne sont pas facturées.

Schéma de sortie

La soumission renvoie une référence de tâche :

{
  "id": "task_...",
  "model": "gpt-image-2.5-flare",
  "status": "processing",
  "created_at": 1789970508
}

Interroger la tâche

curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

Interrogez à un rythme modéré, par exemple toutes les trois secondes, jusqu'à ce que status vaille completed ou failed. Un dépassement de délai réseau pendant l'interrogation ne signifie pas que la génération a échoué : conservez l'identifiant de tâche et reprenez la vérification. Ne créez pas une autre tâche pour vérifier l'avancement.

Exemple d'interrogation complet

Exécutez ceci après l'exemple de soumission Python ci-dessus. Il utilise le task_id renvoyé et attend jusqu'à dix minutes. Atteindre cette échéance locale ne fait qu'arrêter l'interrogation ; conservez l'identifiant et reprenez la consultation de la même tâche.

import time

print(f"Task ID: {task_id}")
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
    result = requests.get(
        f"https://api.seedrouter.ai/v1/tasks/{task_id}",
        headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
        timeout=30,
    )
    result.raise_for_status()
    task = result.json()
    if task["status"] == "completed":
        for image in task["output"]["data"]:
            print(image["url"])
        break
    if task["status"] == "failed":
        raise RuntimeError(task["error"]["message"])
    time.sleep(3)
else:
    raise TimeoutError(f"Still waiting. Resume polling task {task_id}.")

Tâche terminée

Une tâche terminée renvoie les URL des images hébergées ainsi que l'utilisation :

{
  "id": "task_...",
  "model": "gpt-image-2.5-flare",
  "status": "completed",
  "created_at": 1789970508,
  "finished_at": 1789970538,
  "output": {
    "created": 1789970532,
    "data": [{"url": "https://static.seedrouter.ai/media/tasks/task_example/0.png"}],
    "usage": {
      "input_tokens": 29,
      "output_tokens": 196,
      "total_tokens": 225
    }
  }
}
ChampSignification
idConservez cet identifiant pour les requêtes ultérieures.
statusprocessing, completed ou failed.
created_at, finished_atHorodatages Unix en secondes ; l'heure de fin est absente ou nulle pendant le traitement.
output.data[].urlURL des images générées, disponibles une fois la tâche terminée.
output.sizeDimensions de sortie réelles, lorsque rapportées.
output.qualityPalier de qualité réel, lorsque rapporté.
output.backgroundArrière-plan réel, lorsque rapporté.
output.output_formatFormat d'image réel, lorsque rapporté.
output.usageUtilisation de tokens rapportée, lorsqu'elle est disponible. Les objets de détail peuvent contenir le nombre de tokens de texte et d'image.
errorErreur structurée pour une tâche échouée.

Cette API livre ses résultats de façon asynchrone via des tâches. Ce n'est pas un remplacement d'un SDK Images synchrone ; stream et partial_images ne sont pas pris en charge.

Erreurs

Les requêtes rejetées avant la création d'une tâche renvoient une erreur HTTP accompagnée d'un objet error. Une tâche qui échoue après acceptation renvoie HTTP 200 à l'interrogation, avec status: "failed" et un objet error.

Voir le catalogue d'erreurs commun pour les codes, les statuts HTTP et les conseils de reprise. Toutes les API de modèles utilisent la même enveloppe d'erreur.

{
  "id": "task_...",
  "status": "failed",
  "error": {
    "code": 60002,
    "message": "Generation could not be completed. Please try again."
  }
}

Si la soumission elle-même dépasse le délai, vérifiez votre historique de tâches avant de soumettre à nouveau : la première requête a peut-être déjà été acceptée.

Conseils

  • Décrivez les matières, la composition et la lumière dans le prompt.
  • Pour une retouche, précisez à la fois le changement souhaité et ce qui doit rester inchangé.
  • Utilisez un masque lorsque seule une zone sélectionnée doit changer.
  • Enregistrez les images renvoyées dans votre propre stockage si vous avez besoin d'une copie durable.

Ressources liées