Skip to main content
A API de imagens da Venice pode retornar imagens com um canal alfa real em vez de um fundo branco ou xadrez pintado. O modelo compõe o sujeito com transparência desde o início, então bordas, sombras e regiões semitransparentes (vidro, cabelo, fumaça) carregam alfa por pixel em vez de uma máscara rígida. Isso é diferente de /image/background-remove, que recebe uma imagem opaca já finalizada e segmenta o primeiro plano depois. Use a transparência nativa quando você já for gerar ou editar o asset de qualquer forma; use a remoção de fundo quando você tiver apenas a imagem opaca.
Lado a lado: um copo de chá gelado renderizado sobre um fundo de estúdio opaco versus o mesmo copo sobre um fundo transparente exibido sobre um xadrez

Mesmo prompt e seed no gpt-image-2-5-flare. Esquerda: saída padrão. Direita: transparent_background: true, exibida sobre um fundo xadrez. A sombra projetada sobrevive como alfa parcial.

O que você precisa

Qualquer outra combinação retorna 400 antes de a inferência ser executada, então você não é cobrado por uma requisição rejeitada.

Passo 1: Gere uma imagem transparente

/image/generate é o endpoint nativo. Defina format como png ou webp e transparent_background como true.
A resposta é content-type: image/png com layout de pixels RGBA. Sem return_binary, você recebe o envelope JSON habitual com uma string base64 em images[0]. format tem como padrão webp, que também suporta alfa, então omitir format funciona. Apenas um "format": "jpeg" explícito falha.
Diga “no background” ou “isolated on transparent background” no prompt, além de definir a flag. A flag garante um canal alfa; o prompt evita que o modelo desenhe um piso, mesa ou cenário que acabaria opaco dentro da caixa delimitadora do sujeito.

Passo 2: Verifique o canal alfa

Não confie na extensão do arquivo. Verifique o modo de pixel e observe a distribuição do alfa para confirmar que o fundo é realmente transparente, e não um preenchimento branco achatado.
Um resultado correto tem uma grande parcela de pixels com alfa 0 (o fundo), uma faixa de valores parciais ao longo das bordas (anti-aliasing e sombras suaves) e a caixa delimitadora do sujeito menor que o canvas. Se im.mode for RGB ou a parcela transparente for 0%, o canal alfa foi perdido em algum ponto do seu pipeline, geralmente por uma etapa de redimensionamento ou recodificação que o descartou.
Três painéis: a imagem transparente sobre um xadrez, seu canal alfa como máscara em escala de cinza e um recorte ampliado da borda da sombra mostrando um gradiente suave

O canal alfa da imagem acima, isolado. A sombra sob o copo esmaece ao longo de dezenas de níveis de cinza em vez de saltar do branco para o preto, que é o que você quer para compor sobre fundos arbitrários.

Os modelos GPT Image atualmente retornam a região opaca com alfa 252–254 em vez de 255. Visualmente é indistinguível, mas se você usar um limiar == 255 para encontrar o sujeito, obterá uma máscara vazia. Use um limiar > 0 ou >= 250.

Passo 3: Use o endpoint compatível com OpenAI

Se você já usa o SDK da OpenAI, /images/generations aceita o mesmo parâmetro background que a OpenAI usa. Defina-o como "transparent" e escolha png ou webp como output_format.
background aceita transparent, opaque ou auto. opaque, auto e null mantêm o comportamento padrão do modelo, então o único valor que muda algo é transparent. output_format tem como padrão png neste endpoint, então você pode omiti-lo.

Passo 4: Edite com transparência

Tanto /image/edit quanto /image/multi-edit também aceitam transparent_background. A imagem de origem não precisa ser transparente; você pode enviar uma foto opaca e pedir ao modelo que isole o sujeito enquanto o edita.
Nos endpoints de edição, output_format é inferido quando omitido: normalmente PNG para edições 1K e JPEG para 2K/4K, mas quando transparent_background é true, a inferência muda para PNG em todas as resoluções. Então você só precisa enviar output_format explicitamente se quiser WebP. A forma multi-edit é idêntica, com images[] em vez de image. É a opção natural para compor uma foto de produto em uma nova cena e receber o resultado composto como um recorte que você pode posicionar no seu próprio layout.

Preços

A transparência não adiciona sobretaxa. Você paga o preço normal por imagem do modelo, que no GPT Image 2.5 depende de resolution e quality. Uma geração 1K low no gpt-image-2-5-flare é a forma mais barata de iterar em um sticker ou ícone antes de pagar por high ou 4K. Veja Modelos de imagem para a tabela de preços atualizada.

Erros

A validação é executada antes de o modelo ser chamado. Ambas as mensagens indicam a correção. transparent_background: false com jpeg funciona normalmente e retorna um JPEG opaco comum.

Descubra os modelos suportados em tempo de execução

Os IDs de modelo mudam. Em vez de fixar a lista acima no código, filtre GET /models pela flag de constraint. A chave só está presente, como true, nos modelos que a suportam.
Use type=inpaint para os endpoints de edição, que retornam os IDs de modelo -edit.

Quando usar isto vs. /image/background-remove

Se você vai gerar o asset de qualquer forma, solicite transparência desde o início e pule a segunda chamada. Recorra a /image/background-remove quando a imagem opaca já existir e você não quiser gerá-la novamente.
O mesmo sticker de foguete de desenho animado composto sobre uma cor sólida escura, um gradiente quente e um xadrez

Um único sticker transparente da requisição do Passo 1, colocado sobre três fundos sem nenhum processamento adicional.

Relacionados