API do GPT Image 2 no Azure: preços e configuração no Azure OpenAI
Configurar o GPT Image 2 no Azure OpenAI exige lidar com preço por token, uma cota inicial de 5 imagens por minuto, saída apenas em base64 e nomes de implantação. Este artigo apresenta o custo real de cada renderização, os passos de implantação no Foundry, chamadas REST e Python que funcionam e cinco erros que inflam a conta.
Você pode chamar o GPT Image 2 a partir da sua própria assinatura do Azure, e, ao fazer isso, a conta, a cota e o modelo de segurança seguem as regras do Azure em vez das da OpenAI. Isso muda a forma como você planeja o uso. O preço é baseado em tokens, então uma renderização custa mais ou menos conforme a qualidade e o tamanho, e não uma taxa fixa por imagem. Além disso, a cota padrão fica em apenas 5 imagens por minuto até você pedir mais. Este artigo mostra quanto o modelo custa, como implantá-lo no Microsoft Foundry, as chamadas REST e Python exatas e os erros que aumentam a conta sem você perceber. Se você só quer imagens e não quer configurar nada na nuvem, há uma opção pelo navegador perto do final.
O que o GPT Image 2 oferece no Azure
O Azure OpenAI, o lado Azure do Microsoft Foundry, hospeda os modelos de imagem da OpenAI junto com os modelos de texto. Você cria um recurso, implanta um modelo sob um nome que escolhe e envia requisições para um endpoint com o nome do seu próprio recurso. Nada no corpo da requisição é exótico. As diferenças aparecem na cobrança, na cota, na autenticação e na escolha da região.
A linha de modelos
A documentação da Microsoft lista três modelos de imagem disponíveis em geral na família atual, além de uma série mais antiga que ainda exige um pedido de acesso.
A conclusão prática: o GPT Image 2 e os modelos 2.5 não precisam de formulário de aprovação, então uma assinatura nova pode implantá-los na mesma tarde. A série 1 exige antes um pedido de registro.
Quem deve escolher o Azure
O Azure vale o trabalho extra de configuração quando pelo menos uma destas condições é verdadeira:
Sua empresa já contrata serviços de nuvem por meio de um contrato com o Azure, então os gastos com imagens entram em uma fatura que já existe.
Você precisa escolher a região onde as requisições são processadas.
Você quer login com Microsoft Entra ID, atribuições de função e rede privada, em vez de um segredo compartilhado em um arquivo de ambiente.
A cota deve ser controlada por assinatura e por implantação, com um administrador que possa aumentá-la.
O Azure é a escolha errada quando você ainda está decidindo se a ideia funciona. Um criador solo que testa um conceito não precisa de um grupo de recursos, uma atribuição de função e um pedido de cota só para ver dez renderizações. Faça o protótipo onde a configuração é barata e depois passe para o Azure quando os prompts, os tamanhos e o volume mensal estiverem definidos.
Veja como as três rotas comuns se comparam.
Azure OpenAI
OpenAI direto
Picasso IA no navegador
Configuração
Assinatura, recurso, implantação
Conta e cobrança
Entrar e digitar um prompt
Unidade de cobrança
Tokens, em uma fatura do Azure
Tokens, em uma fatura da OpenAI
Gerenciada pela plataforma
Tamanhos
Tamanhos personalizados em passos de 16 px
Definidos pela documentação de API da própria OpenAI
1:1, 3:2, 2:3
Melhor para
Aplicações em produção com necessidades de governança
Protótipos rápidos
Rascunhos, testes, quem não é desenvolvedor
O custo real de cada renderização
Não existe um preço fixo por imagem. Você paga por tokens: o texto do seu prompt, quaisquer imagens de referência que enviar e, de longe a maior parte, a imagem que o modelo produz.
Taxas por token
A OpenAI publica estas taxas padrão para o GPT Image 2, por um milhão de tokens:
Tipo de token
Preço por 1 milhão de tokens
Entrada de texto
US$ 5,00
Entrada de texto em cache
US$ 1,25
Entrada de imagem
US$ 8,00
Entrada de imagem em cache
US$ 2,00
Saída de imagem
US$ 30,00
O processamento em lote aparece com metade da taxa padrão na própria página de preços da OpenAI. Calculadoras de preço do Azure de terceiros mostram US$ 5,00 por milhão de tokens de entrada e US$ 30,00 por milhão de tokens de saída para a implantação no Azure, o que corresponde às linhas de entrada de texto e saída de imagem acima.
💡 Dica: O Azure publica taxas por região e tipo de implantação, e elas podem ser diferentes da tabela pública da OpenAI. Confirme os números exatos na calculadora de preços do Azure para a sua região antes de fechar um orçamento.
Exemplos de custo calculados
O preço de uma única imagem é a quantidade de tokens de saída multiplicada por US$ 30 e dividida por um milhão. O modelo decide quantos tokens uma renderização usa, e isso depende da qualidade e do tamanho da tela. Os números abaixo são premissas escolhidas para mostrar a aritmética, não medições. Leia os dados de uso devolvidos com cada resposta real para ver seus números verdadeiros.
Tokens de saída presumidos
Custo a US$ 30 por 1 milhão
Custo para 1.000 imagens
1.000
US$ 0,03
US$ 30
2.500
US$ 0,075
US$ 75
5.000
US$ 0,15
US$ 150
8.000
US$ 0,24
US$ 240
Some o próprio prompt: um prompt de 500 tokens a US$ 5 por milhão adiciona US$ 0,0025, que é um erro de arredondamento insignificante perto da imagem. O lado da saída define o total, então planeje o orçamento em torno dele.
Como reduzir a conta
Faça rascunhos em qualidade baixa. Passe para média ou alta só depois que a composição estiver certa.
Ajuste a tela à página. Uma renderização de 1536x864 basta para o destaque de um blog. A documentação de imagens da OpenAI marca qualquer coisa acima de 2560x1440 como experimental, e telas maiores geralmente consomem mais tokens de saída.
Peça uma imagem por vez enquanto itera. O parâmetro n aceita de 1 a 10, e cada imagem extra é cobrada.
Reaproveite prefixos de prompt. A entrada de texto em cache custa US$ 1,25 por milhão em vez de US$ 5,00, o que ajuda quando uma longa descrição de estilo se repete em milhares de chamadas.
Verifique as opções de lote para trabalhos que podem esperar, já que o preço em lote é metade do valor do lado da OpenAI.
Checklist antes da implantação
Duas coisas pegam as pessoas antes de enviarem qualquer requisição: onde o modelo está disponível e o pouco de cota padrão que elas recebem.
Assinatura e região
Você precisa de uma assinatura ativa do Azure e de um recurso do Azure OpenAI em uma região que ofereça o modelo. A geração de imagens está disponível em um subconjunto de regiões, então abra a tabela de disponibilidade de regiões da Microsoft, encontre o GPT Image 2 e escolha uma região próxima dos seus usuários ou das suas regras de dados. Criar o recurso primeiro e conferir a tabela depois é o motivo mais comum de uma implantação que falha.
Cota e limites de taxa
A cota padrão documentada para o GPT Image 2 é de 5 imagens por minuto. Algumas consequências seguem daí:
Uma rajada de tarefas paralelas vai atingir respostas HTTP 429 quase imediatamente.
Como a cota é contada em imagens, uma única requisição pedindo dez imagens pode ultrapassá-la em uma implantação recém-criada. Teste o seu valor de n antes de depender dele.
Planeje novas tentativas com backoff exponencial e abra cedo um pedido de aumento de cota se você espera tráfego real.
Um pequeno wrapper de novas tentativas mantém uma tarefa em lote funcionando quando o limite aperta:
import time
from openai import RateLimitError
def generate_with_retry(client, deployment, prompt, attempts=5):
for attempt in range(attempts):
try:
return client.images.generate(
model=deployment, prompt=prompt, size="1536x864", quality="low", n=1
)
except RateLimitError:
if attempt == attempts - 1:
raise
time.sleep(2 ** attempt * 5)
Com a cota padrão, uma espera de 5, 10, 20 e 40 segundos entre as tentativas dá tempo para a janela por minuto se recompor.
💡 Dica: Trate 5 imagens por minuto como um limite de teste. Uma página de produto que renderiza imagens sob demanda vai precisar de cota aumentada, uma fila, ou as duas coisas.
Implante o modelo no Foundry
Os menus do portal mudam de nome entre as versões, então siga o nome do modelo em vez de um caminho de cliques decorado.
Crie o recurso
No portal do Azure, crie um recurso Azure OpenAI, ou um projeto do Microsoft Foundry, em uma região que liste o GPT Image 2.
Escolha um nome de recurso com o qual você consiga conviver. Ele passa a fazer parte do endpoint: https://<resource-name>.openai.azure.com.
Termine o assistente de criação e aguarde o provisionamento ser concluído.
Crie a implantação
Abra o portal do Foundry e vá para a página de implantações do seu recurso.
Escolha implantar um modelo base e pesquise por gpt-image-2.
Selecione um tipo de implantação, defina a capacidade e dê um nome à implantação.
Esse nome importa. No Azure, o campo model no seu código é o nome da implantação, não o ID público do modelo. Se você chamá-la de images-prod, seu código envia images-prod.
O Foundry também oferece um playground para modelos de imagem, que é o jeito mais rápido de confirmar que a implantação funciona antes de escrever código.
Encontre o endpoint e as credenciais
Seu endpoint aparece na visão geral do recurso e na página de implantações. Para autenticação, o Azure permite escolher entre uma credencial estática e o Microsoft Entra ID. Para qualquer coisa além de um teste descartável, use o Entra ID: atribua a função Cognitive Services OpenAI User à sua identidade, faça login com a CLI do Azure e deixe o SDK buscar tokens de curta duração. Assim, nada sensível acaba no seu repositório.
A documentação atual da Microsoft usa a versão de API 2025-04-01-preview ou posterior. Estas são as regras de requisição para o GPT Image 2:
Tamanho:WIDTHxHEIGHT personalizado, com ambas as bordas múltiplas de 16 e nenhuma acima de 3.840 pixels.
Proporção: entre 1:3 e 3:1.
Contagem de pixels: entre 655.360 e 8.294.400.
Qualidade:low, medium ou high.
Quantidade:n de 1 a 10.
A requisição REST
TOKEN=$(az account get-access-token \
--resource https://cognitiveservices.azure.com \
--query accessToken -o tsv)
curl -X POST "https://<resource-name>.openai.azure.com/openai/deployments/<deployment-name>/images/generations?api-version=2025-04-01-preview" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
"prompt": "A ceramic mug of coffee on an oak desk, morning window light, 85mm photograph",
"size": "1536x864",
"quality": "medium",
"n": 1
}'
Python com o SDK da OpenAI
import base64
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default",
)
client = AzureOpenAI(
azure_endpoint="https://<resource-name>.openai.azure.com",
azure_ad_token_provider=token_provider,
api_version="2025-04-01-preview",
)
result = client.images.generate(
model="<deployment-name>",
prompt="A ceramic mug of coffee on an oak desk, morning window light, 85mm photograph",
size="1536x864",
quality="medium",
n=1,
)
with open("render.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))
Salve a saída em base64
Aqui está o detalhe que surpreende as pessoas: o endpoint de imagens do Azure para esses modelos devolve apenas dados em base64, sem opção de URL hospedada. Cada resposta traz a imagem completa dentro do JSON.
Isso tem consequências reais para a sua aplicação:
Decodifique e grave o arquivo em um armazenamento durável logo em seguida, como um contêiner de blob.
Guarde a URL de armazenamento no seu banco de dados, não a string base64.
Redimensione as miniaturas do seu lado, já que a API não fará isso por você.
Nunca gere de novo uma imagem pela qual você já pagou só porque perdeu os bytes.
O armazenamento é a parte barata do pipeline. Algumas centenas de quilobytes por imagem no armazenamento de blob custam uma fração minúscula do que a própria renderização custou, então guardar cada saída pela qual você paga quase sempre é o melhor negócio.
Cinco erros que desperdiçam dinheiro
Deixar a qualidade em alta para rascunhos. Os tokens de saída são a principal despesa, e a qualidade alta pede a maior quantidade deles. Faça rascunhos em baixa e finalize em alta.
Pedir telas em 4K para páginas web. Se a página mostra a imagem com 1.280 pixels de largura, uma renderização de 3.840 pixels é dinheiro que você não consegue ver.
Repetir erros 429 em um loop apertado. Chamadas limitadas que são disparadas sem backoff desperdiçam tempo e podem acumular trabalho falho.
Enviar o nome público do modelo. O valor de model precisa ser o nome da sua implantação. Um descompasso devolve um erro, e os engenheiros passam uma hora culpando a região.
Não salvar a saída. As respostas em base64 desaparecem junto com o seu processo. Se você não gravou os bytes no armazenamento, a única solução é outra renderização paga.
Use o GPT Image 2 no PicassoIA
Nem todo projeto precisa de um recurso na nuvem. O GPT Image 2 no PicassoIA roda em uma página web, o que o torna um jeito rápido de testar prompts antes de gastar tokens do Azure com eles.
Escolha suas configurações
Abra a página do modelo, digite seu prompt e ajuste as opções de que precisar.
Configuração
O que faz
Padrão
Prompt
Descreve a imagem (obrigatório)
Nenhum
Qualidade
Nível de detalhe baixo, médio ou alto
auto
Fundo
Transparente, opaco ou automático
auto
Proporção
1:1, 3:2 ou 2:3
1:1
Número de imagens
1 a 10 variações por execução
1
Formato de saída
PNG, JPEG ou WebP
webp
Compressão
0 a 100 por cento
90
Moderação
Nível do filtro de conteúdo
auto
Imagens de entrada
Imagens de referência para edições e variações
Nenhuma
Um campo opcional aceita sua própria credencial da OpenAI. Deixe-o vazio e a plataforma encaminha a requisição para você.
💡 Dica: Prompts que citam uma lente, a direção da luz e a textura de uma superfície produzem resultados mais consistentes. Peça a um modelo de texto como o Claude Sonnet 5 ou o GPT 5.6 Terra para rascunhar três variações do prompt e teste cada uma aqui.
Gere e baixe
Pressione o botão de gerar e aguarde a renderização.
Confira a renderização de texto, as mãos e as bordas em tamanho real.
Baixe o arquivo no formato escolhido.
Mude uma configuração por vez e execute de novo.
Um fluxo de trabalho sensato divide o trabalho em duas partes. Use o navegador para definir composição, redação e posição do texto, porque as iterações ali são rápidas e você pode rodar até dez variações de uma vez. Quando um prompt produzir de forma confiável o que você quer, copie-o para o seu código do Azure e execute-o no tamanho e na qualidade que o seu produto exige. O prompt segue sem alterações, então cada experimento feito antes economiza chamadas pagas depois.
Agora você tem a visão completa do GPT Image 2 no Azure: preço por token que recompensa rascunhos em baixa qualidade, uma cota inicial de 5 imagens por minuto, saída apenas em base64 e um nome de implantação que funciona como o campo do modelo. Esses quatro fatos decidem a maior parte dos orçamentos e a maioria dos bugs.
A forma mais barata de achar um prompt que funciona é testá-lo antes que ele toque na sua fatura do Azure. Abra o GPT Image 2 no Picasso IA, escreva a foto de produto, o cartaz ou a imagem de destaque que você tem em mente e rode cinco variações em baixa qualidade. Escolha a vencedora e leve esse prompt exato para a sua implantação no Azure com confiança. Sua primeira renderização está a um prompt de distância, então mãos à obra.