Skip to main content
L’API d’images de Venice peut renvoyer des images avec un véritable canal alpha au lieu d’un fond blanc ou d’un damier peint dans l’image. Le modèle compose le sujet avec la transparence dès le départ, de sorte que les contours, les ombres et les zones semi-transparentes (verre, cheveux, fumée) portent un alpha par pixel plutôt qu’un masque net. C’est différent de /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.
Côte à côte : un verre de thé glacé rendu sur un fond de studio opaque, et le même verre sur un arrière-plan transparent affiché sur un damier

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

Toute autre configuration renvoie une erreur 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.
La réponse est de type 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.
Indiquez « no background » ou « isolated on transparent background » dans le prompt en plus de définir le paramètre. Le paramètre garantit un canal alpha ; le prompt dissuade le modèle de dessiner un sol, une table ou un décor qui resterait opaque à l’intérieur de la zone englobante du sujet.

É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.
Un résultat correct présente une large proportion de pixels à alpha 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é.
Trois panneaux : l'image transparente sur un damier, son canal alpha sous forme de masque en niveaux de gris, et un recadrage agrandi du bord de l'ombre montrant un dégradé doux

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.

Les modèles GPT Image renvoient actuellement la zone opaque avec un alpha de 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.

É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.
Sur les endpoints d’é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. La forme multi-edit est identique, avec images[] au lieu de image. 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, qui pour GPT Image 2.5 dépend de resolution et de quality. Une génération 1K low sur gpt-image-2-5-flare est le moyen le moins coûteux d’itérer sur un sticker ou une icône avant de payer pour high ou 4K. Voir Modèles d’image pour le tableau des prix à jour.

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, filtrez GET /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.
Utilisez 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

Si vous générez l’asset de toute façon, demandez la transparence dès le départ et évitez le second appel. Optez pour /image/background-remove lorsque l’image opaque existe déjà et que vous ne souhaitez pas la régénérer.
Le même sticker de fusée cartoon composé sur une couleur unie sombre, un dégradé chaud et un damier

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