Skip to main content
L’API di immagini di Venice può restituire immagini con un vero canale alfa invece di uno sfondo bianco o a scacchiera dipinto. Il modello compone il soggetto con la trasparenza fin dall’inizio, quindi bordi, ombre e regioni semitrasparenti (vetro, capelli, fumo) hanno un valore alfa per pixel anziché una maschera netta. Questo è diverso da /image/background-remove, che prende un’immagine opaca già finita e segmenta il primo piano a posteriori. Usa la trasparenza nativa quando stai comunque generando o modificando l’asset; usa la rimozione dello sfondo quando hai solo l’immagine opaca.
Confronto affiancato: un bicchiere di tè freddo renderizzato su uno sfondo da studio opaco e lo stesso bicchiere su sfondo trasparente mostrato sopra una scacchiera

Stesso prompt e stesso seed su gpt-image-2-5-flare. A sinistra: output di default. A destra: transparent_background: true, mostrato sopra una scacchiera. L'ombra proiettata sopravvive come alfa parziale.

Cosa ti serve

Qualsiasi altra combinazione restituisce 400 prima che venga eseguita l’inferenza, quindi non ti viene addebitato nulla per una richiesta rifiutata.

Passo 1: Genera un’immagine trasparente

/image/generate è l’endpoint nativo. Imposta format su png o webp e transparent_background su true.
La risposta è content-type: image/png con un layout di pixel RGBA. Senza return_binary ottieni il consueto envelope JSON con una stringa base64 in images[0]. Il default di format è webp, che supporta anch’esso l’alfa, quindi omettere format funziona. Fallisce solo un "format": "jpeg" esplicito.
Oltre a impostare il flag, scrivi “no background” o “isolated on transparent background” anche nel prompt. Il flag garantisce un canale alfa; il prompt evita che il modello disegni un pavimento, un tavolo o uno sfondo che risulterebbero opachi all’interno del riquadro di delimitazione del soggetto.

Passo 2: Verifica il canale alfa

Non fidarti dell’estensione del file. Controlla la modalità dei pixel e osserva la distribuzione dell’alfa per confermare che lo sfondo sia davvero trasparente e non un riempimento bianco appiattito.
Un risultato corretto ha un’ampia quota di pixel con alfa 0 (lo sfondo), una fascia di valori parziali lungo i bordi (anti-aliasing e ombre morbide) e un riquadro di delimitazione del soggetto più piccolo del canvas. Se im.mode è RGB o la quota trasparente è 0%, il canale alfa è andato perso da qualche parte nella tua pipeline, di solito in un passaggio di ridimensionamento o ricodifica che lo ha scartato.
Tre pannelli: l'immagine trasparente sopra una scacchiera, il suo canale alfa come maschera in scala di grigi e un ritaglio ingrandito del bordo dell'ombra che mostra un gradiente morbido

Il canale alfa dell'immagine sopra, isolato. L'ombra sotto il bicchiere sfuma attraverso decine di livelli di grigio invece di passare di colpo dal bianco al nero, ed è proprio ciò che serve per comporre l'immagine su sfondi arbitrari.

I modelli GPT Image attualmente restituiscono la regione opaca con alfa 252–254 anziché 255. Visivamente è indistinguibile, ma se applichi una soglia == 255 per trovare il soggetto otterrai una maschera vuota. Usa invece una soglia > 0 o >= 250.

Passo 3: Usa l’endpoint compatibile con OpenAI

Se usi già l’SDK di OpenAI, /images/generations accetta lo stesso parametro background usato da OpenAI. Impostalo su "transparent" e scegli png o webp come output_format.
background accetta transparent, opaque o auto. opaque, auto e null mantengono tutti il comportamento di default del modello, quindi l’unico valore che cambia qualcosa è transparent. Su questo endpoint il default di output_format è png, quindi puoi ometterlo.

Passo 4: Modifica con trasparenza

Anche /image/edit e /image/multi-edit accettano transparent_background. L’immagine sorgente non deve essere trasparente: puoi passare una foto opaca e chiedere al modello di isolare il soggetto mentre lo modifica.
Sugli endpoint di edit, output_format viene dedotto quando è omesso: normalmente PNG per gli edit a 1K e JPEG per 2K/4K, ma quando transparent_background è true la deduzione passa a PNG a ogni risoluzione. Quindi devi inviare output_format esplicitamente solo se vuoi WebP. La forma multi-edit è identica, con images[] al posto di image. È la scelta naturale per comporre una foto prodotto su una nuova scena e ottenere il risultato composto come ritaglio da posizionare nel tuo layout.

Prezzi

La trasparenza non comporta alcun sovrapprezzo. Paghi il normale prezzo per immagine del modello, che per GPT Image 2.5 dipende da resolution e quality. Una generazione 1K low su gpt-image-2-5-flare è il modo più economico per iterare su uno sticker o un’icona prima di pagare per high o 4K. Consulta Modelli di immagini per la tabella dei prezzi aggiornata.

Errori

La validazione viene eseguita prima che il modello venga chiamato. Entrambi i messaggi indicano come risolvere. transparent_background: false con jpeg va bene e restituisce un normale JPEG opaco.

Scopri i modelli supportati a runtime

Gli ID dei modelli cambiano nel tempo. Invece di inserire nel codice la lista qui sopra, filtra GET /models in base al flag dei constraints. La chiave è presente, con valore true, solo sui modelli che la supportano.
Usa type=inpaint per gli endpoint di edit, che restituiscono gli ID dei modelli -edit.

Quando usare questo rispetto a /image/background-remove

Se stai comunque generando l’asset, richiedi la trasparenza fin da subito e salta la seconda chiamata. Ricorri a /image/background-remove quando l’immagine opaca esiste già e non vuoi rigenerarla.
Lo stesso sticker del razzo cartoon composto su un colore pieno scuro, un gradiente caldo e una scacchiera

Un unico sticker trasparente ottenuto dalla richiesta del Passo 1, posizionato su tre sfondi senza ulteriori elaborazioni.

Correlati