dall-e-3, o gpt-image-1 com capacidade de renderização de texto mais avançada, a mais recente geração gpt-image-2, bem como a série de modelos nano-banana / nano-banana-2 / nano-banana-pro acessados pela mesma interface. Todos eles podem gerar imagens de alta qualidade a partir de descrições textuais.
Este documento apresenta principalmente o fluxo de uso da OpenAI Images Generations API, que permite utilizar facilmente as funcionalidades de geração de imagens da série OpenAI.
Processo de Solicitação
Para usar a OpenAI Images Generations API, primeiro acesse a página OpenAI Images Generations API e clique no botão “Acquire” para obter as credenciais necessárias para as requisições: Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login para se registrar e entrar; após isso, retornará automaticamente à página atual. Na primeira solicitação, será concedida uma cota gratuita para uso da API.Modelo GPT-Image-2
gpt-image-2 é o modelo de geração de imagens de nova geração lançado pela OpenAI, que apresenta melhorias significativas em relação ao dall-e-3 e gpt-image-1 nos seguintes aspectos:
- Melhor capacidade de seguir instruções: consegue entender com precisão instruções estruturadas complexas como composição, contagem e relações de posição.
- Renderização de texto mais clara: em cenários como pôsteres, menus, infográficos e logos, os textos em inglês e números quase não apresentam erros.
- Expressão de estilo mais rica: suporta nativamente vários estilos como retratos cinematográficos, pôsteres vintage, ilustrações infantis, fotografia de produtos e infográficos.
- Suporte nativo a múltiplas proporções + alta resolução: cobre 5 proporções (1:1, 4:3, 3:4, 16:9, 9:16) com 3 níveis de resolução (1K / 2K / 4K).
model como gpt-image-2. O campo url no resultado é um link permanente hospedado em platform.cdn.acedata.cloud, que pode ser aberto diretamente no navegador ou incorporado em páginas web.
Valores suportados para size
gpt-image-2 apenas verifica o formato de size; desde que não seja auto ou uma string vazia, deve corresponder ao formato WIDTHxHEIGHT (por exemplo, 1024x1024, 2048x1152, 800x600); qualquer outro formato retornará 400. Todas as dimensões (1K / 2K / 4K / personalizadas) são cobradas por imagem, sem acréscimo por tamanho.
Restrições rígidas do backend para tamanhos personalizados: largura e altura devem ser múltiplos de 16, lado maior ≤ 3840, total de pixels ≤ 8.294.400. Valores fora desse intervalo serão rejeitados pelo backend com resposta 4xx.
Você também pode passarsize: "auto"ou omitir o camposize, e o modelo escolherá o tamanho padrão automaticamente. No nível 1K, o backend não garante alinhamento exato de pixels — por exemplo, ao passar1024x1024, pode receber1254x1254, mantendo a proporção. Se você reutilizar essa dimensão comosize, a cobrança permanece a mesma. Chamadas 4K geralmente levam 4–8 minutos, recomendando-se o uso docallback_urlpara retorno assíncrono.
Sobre o parâmetroA seguir, alguns exemplos reais para demonstrar as capacidades donAtualmente,gpt-image-2não suportan > 1: esse parâmetro será silenciosamente ignorado, e independentemente de passarn=1oun=10, cada requisição retornará apenas 1 imagem, cobrando por 1 imagem. Para obter múltiplas imagens candidatas, faça múltiplas requisições concorrentes (recomendado usarpromptouseeddiferentes para evitar imagens muito similares). Essa limitação também se aplica agpt-image-1/gpt-image-1.5e à sérienano-banana. O único modelo que suporta nativamenten > 1é odall-e-2;dall-e-3suporta apenasn = 1.
gpt-image-2.
Cenário 1: Retrato cinematográfico
No prompt, você pode usar termos cinematográficos (filme 35mm, profundidade de campo rasa, luzes neon etc.) para controlar atmosfera e textura com precisão. Exemplo em Python:Cenário 2: Pôster de viagem vintage (com renderização de texto)
gpt-image-2 apresenta estabilidade na tipografia e layout, ideal para pôsteres, menus, cartões com texto.
AMALFI e ITALIA 1958.
Cenário 3: Composição complexa e contagem
Este prompt testa a capacidade do modelo de seguir instruções estruturadas sobre quantidade e posição.dall-e-3.
Cenário 4: Estilo ilustração (paisagem)
Especificando mídia artística e palavras-chave de emoção, o modelo gera ilustrações estilizadas.Assíncrono e Callback
Chamadas aogpt-image-2 geralmente levam 60–90 segundos. Caso não queira manter conexão longa, pode usar o mecanismo de callback assíncrono callback_url, com fluxo idêntico a outros modelos.
Série Nano Banana
A sérienano-banana é baseada no modelo Gemini e está integrada na mesma interface /openai/images/generations, sem necessidade de trocar endpoint; basta alterar o campo model para qualquer um da tabela abaixo.
Importante: Escopo de parâmetros suportados Nano Banana usa uma camada adaptadora para o protocolo OpenAI e suporta apenas os parâmetros:model,prompt,size.
sizeé mapeado paraaspect_ratiointerno conforme tabela; tamanhos não listados caem para1:1:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Não suporta
n,quality,style,response_format,background,output_format; se enviados, são ignorados.- Retorno segue formato OpenAI (
data[].url), mascreatedé sempre0, não retornab64_json, erevised_prompté igual ao prompt original.
Chamada básica
url:
Upgrade para modelo topo de linha nano-banana-pro
Basta alterar model para nano-banana-pro, demais parâmetros permanecem iguais:
Callback assíncrono
O mecanismocallback_url funciona igualmente para nano-banana, com fluxo idêntico a outros modelos, veja seção Callback assíncrono.
Uso Básico
Agora você pode preencher os campos correspondentes na interface, conforme a imagem: Na primeira vez usando a API, é necessário preencher pelo menos três campos:authorization, que pode ser selecionado na lista suspensa; model, que define o modelo OpenAI DALL-E a ser usado (temos 1 modelo principal, consulte a lista de modelos); e prompt, que é o texto para geração da imagem.
À direita, há o código gerado para a chamada, que pode ser copiado e executado diretamente ou testado clicando em “Try”.
Exemplo em Python:
created: ID único da tarefa de geração.data: contém as informações da imagem gerada, incluindo o link emurl.
Parâmetro de qualidade da imagem quality
Você pode definir parâmetros detalhados para a geração, como a qualidade da imagem: standard gera imagens padrão, enquanto hd cria imagens com detalhes mais finos e maior consistência.
Exemplo definindo quality como standard:
Código gerado à direita pode ser copiado ou testado clicando em “Try”.
Exemplo em Python:
standard:
Alterando para hd, obtém-se imagem com detalhes mais finos e maior consistência:
Parâmetro de tamanho da imagem size
Você pode definir o tamanho da imagem gerada.
Exemplo definindo tamanho 1024x1024:
Código gerado pode ser copiado ou testado:
Exemplo em Python:
1024x1024:
Alterando para 1792x1024:
O tamanho da imagem é claramente diferente. Mais tamanhos estão disponíveis, consulte a documentação oficial.
Parâmetro de estilo da imagem style
O parâmetro style tem duas opções: vivid para imagens mais vívidas e natural para imagens mais naturais.
Exemplo definindo style como vivid:
Código gerado pode ser copiado ou testado:
Exemplo em Python:
style = vivid:
Alterando para natural:
vivid gera imagens mais vivas e realistas que natural.
Parâmetro de formato do link da imagem response_format
O parâmetro response_format tem duas opções: b64_json codifica a imagem em Base64, e url retorna o link direto da imagem.
Exemplo definindo response_format como url:
Código gerado pode ser copiado ou testado:
Exemplo em Python:
url) pode ser acessado diretamente: Imagem URL
Imagem:
Alterando para b64_json, o resultado é a imagem codificada em Base64:
Callback Assíncrono
Como a geração de imagens pode levar tempo, a API suporta callback assíncrono para evitar conexões HTTP longas que consomem recursos. O fluxo é: o cliente envia a requisição com o campocallback_url; a API responde imediatamente com um task_id identificando a tarefa; quando a geração termina, o resultado é enviado via POST JSON para o callback_url especificado, incluindo o task_id para associação.
Exemplo prático:
Para demonstração, use um serviço público de webhook como https://webhook.site/ para obter uma URL de webhook, por exemplo:
Copie a URL, por exemplo https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Configure o campo callback_url com essa URL e envie a requisição:
task_id permite associar a resposta à requisição original.
Tratamento de Erros
Se ocorrer erro na chamada, a API retorna código e mensagem de erro, por exemplo:400 token_mismatched: Requisição inválida, parâmetros faltando ou incorretos.400 api_not_implemented: Requisição inválida, parâmetros faltando ou incorretos.401 invalid_token: Não autorizado, token inválido ou ausente.429 too_many_requests: Muitas requisições, limite de taxa excedido.500 api_error: Erro interno no servidor.

