/image/background-remove, qui prend une image opaque finalisée et segmente le premier plan après coup. Utilisez la transparence native lorsque vous générez ou éditez l’asset de toute façon ; utilisez la suppression d’arrière-plan lorsque vous ne disposez que de l’image opaque.

Même prompt et même seed sur gpt-image-2-5-flare. À gauche : sortie par défaut. À droite : transparent_background: true, affiché sur un damier. L'ombre portée est conservée sous forme d'alpha partiel.
Ce dont vous avez besoin
400 avant l’inférence, vous n’êtes donc pas facturé pour une requête refusée.
Étape 1 : Générer une image transparente
/image/generate est l’endpoint natif. Définissez format sur png ou webp et transparent_background sur true.
content-type: image/png avec une disposition de pixels RGBA. Sans return_binary, vous obtenez l’enveloppe JSON habituelle avec une chaîne base64 dans images[0].
format vaut webp par défaut, qui prend également en charge l’alpha, donc omettre format fonctionne. Seul un "format": "jpeg" explicite échoue.
Étape 2 : Vérifier le canal alpha
Ne vous fiez pas à l’extension du fichier. Vérifiez le mode des pixels et examinez la distribution de l’alpha pour confirmer que l’arrière-plan est réellement transparent et non un remplissage blanc aplati.0 (l’arrière-plan), une bande de valeurs partielles le long des contours (anticrénelage et ombres douces), et une zone englobante du sujet plus petite que le canevas. Si im.mode vaut RGB ou si la proportion transparente est de 0%, le canal alpha a été perdu quelque part dans votre pipeline, généralement lors d’une étape de redimensionnement ou de réencodage qui l’a supprimé.

Le canal alpha de l'image ci-dessus, isolé. L'ombre sous le verre s'estompe sur des dizaines de niveaux de gris au lieu de passer brusquement du blanc au noir, ce qui est exactement ce que vous voulez pour composer sur n'importe quel arrière-plan.
252–254 plutôt que 255. La différence est visuellement imperceptible, mais si vous appliquez un seuil == 255 pour trouver le sujet, vous obtiendrez un masque vide. Utilisez plutôt un seuil > 0 ou >= 250.Étape 3 : Utiliser l’endpoint compatible OpenAI
Si vous utilisez déjà le SDK OpenAI,/images/generations accepte le même paramètre background qu’OpenAI. Définissez-le sur "transparent" et choisissez png ou webp comme output_format.
background accepte transparent, opaque ou auto. opaque, auto et null conservent tous le comportement par défaut du modèle, donc la seule valeur qui change quelque chose est transparent. output_format vaut png par défaut sur cet endpoint, vous pouvez donc l’omettre.
/images/generations accepte quality, style, output_compression et size pour la compatibilité OpenAI, mais les ignore. Sur les modèles GPT Image couverts par cette page, size n’a aucun effet : la sortie conserve le ratio d’aspect et la résolution par défaut du modèle. En dehors de model et prompt, les champs qui affectent l’image sont background, output_format et moderation ; response_format choisit seulement entre base64 et une data URL. resolution et aspect_ratio ne sont pas des champs, et le schéma est strict, donc envoyer l’un ou l’autre renvoie 400. Omettez quality ici ; utilisez l’endpoint natif /image/generate lorsque vous avez besoin de contrôler le niveau (voir Tarification ci-dessous).Étape 4 : Éditer avec transparence
/image/edit et /image/multi-edit acceptent également transparent_background. L’image source n’a pas besoin d’être transparente ; vous pouvez envoyer une photo opaque et demander au modèle d’isoler le sujet pendant l’édition.
output_format est déduit lorsqu’il est omis : normalement PNG pour les éditions 1K et JPEG pour les éditions 2K/4K, mais lorsque transparent_background vaut true, la déduction passe à PNG pour toutes les résolutions. Vous n’avez donc besoin d’envoyer output_format explicitement que si vous voulez du WebP.
/image/multi-edit prend les mêmes champs, avec deux différences : envoyez chaque image d’entrée comme une partie images répétée, et indiquez le modèle avec modelId au lieu de model. C’est la solution idéale pour composer une photo de produit dans une nouvelle scène et récupérer le résultat composé sous forme de détourage à placer dans votre propre mise en page.
Tarification
La transparence n’entraîne aucun supplément. Vous payez le prix normal par image du modèle. Les deux routes facturent différemment :Erreurs
La validation s’exécute avant l’appel au modèle. Les deux messages indiquent la correction à apporter.transparent_background: false avec jpeg fonctionne et renvoie un JPEG opaque normal.
Découvrir les modèles compatibles à l’exécution
Les identifiants de modèles évoluent. Au lieu de coder en dur la liste ci-dessus, filtrezGET /models sur le flag de contrainte. La clé n’est présente, avec la valeur true, que sur les modèles qui la prennent en charge.
type=inpaint pour les endpoints d’édition, qui renvoient les identifiants de modèles -edit.
Quand utiliser cette option plutôt que /image/background-remove
/image/background-remove lorsque l’image opaque existe déjà et que vous ne souhaitez pas la régénérer.

Un seul sticker transparent issu de la requête de l'étape 1, déposé sur trois arrière-plans sans aucun traitement supplémentaire.
Pages liées
- Génération d’images pour le dimensionnement, les niveaux de qualité et la liste complète des paramètres de
/image/generate - Édition d’images pour
/image/edit,/image/multi-editet/image/background-remove - Modèles d’image pour la tarification et les contraintes actuelles