Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O modelo dall-e-3 de geração de imagem DALL-E foi retirado a 4 de março de 2026 e já não está disponível para novas implementações. As implementações existentes não são funcionais. Usa um gpt-image- modelo em série para geração de imagens em vez disso. Consulte o guia prático de geração de imagens para instruções atualizadas.
Os modelos de geração de imagens da OpenAI criam imagens a partir de prompts de texto fornecidos pelo utilizador e imagens opcionais. Este artigo explica como utilizar estes modelos, configurar opções e beneficiar de capacidades avançadas de geração de imagens no Azure.
Pode gerar imagens através da API de geração de imagens ou da API de respostas. Ou pode experimentar a geração de imagens no portal da Foundry
Para selecionar a abordagem e modelo da API que prefere, utilize os separadores no início desta página.
Modelos e capacidades
Use esta tabela para aprender as diferenças entre os diferentes modelos de geração de imagens e para o ajudar a escolher o melhor modelo para as suas necessidades de geração de imagens.
| Aspeto | GPT-Image-2 | GPT-Imagem-1.5 | GPT-Imagem-1 | GPT-Image-1-Mini |
|---|---|---|---|---|
| Disponibilidade | Pré-visualização pública | Pré-visualização de acesso limitado (Solicitar acesso GPT-imagem-1.5) | Pré-visualização de acesso limitado (Candidatar-se ao acesso GPT-image-1) | Pré-visualização de acesso limitado (Candidatar-se ao acesso GPT-image-1) |
| Pontos fortes | Melhor para resolução alta e geração de 4K, edição de imagem melhorada e amplo suporte para relações de aspeto. | Melhor para realismo, seguir instruções, contexto multimodal e velocidade/custo melhorado | Ideal para o realismo, o cumprimento de instruções e o contexto multimodal. | Ideal para prototipagem rápida, geração em massa ou casos de uso sensíveis a custos |
| Modalidades de Entrada / Saída e Formato | Aceita entradas de texto + imagem ; gera imagens apenas no base64 (sem opção URL). | Aceita entradas de texto + imagem ; gera imagens apenas no base64 (sem opção URL). | Aceita entradas de texto + imagem ; gera imagens apenas no base64 (sem opção URL). | Aceita entradas de texto + imagem ; gera imagens apenas no base64 (sem opção URL). |
| Tamanhos / Resoluções das Imagens | Resoluções arbitrárias: ambas as arestas devem ser múltiplos de 16 px; comprimento máximo de 3.840 px (4K); proporção de aspeto até 3:1; contagem de píxeis de 655.360 a 8.294.400 | 1024×1024, 1024×1536, 1536×1024 | 1024×1024, 1024×1536, 1536×1024 | 1024×1024, 1024×1536, 1536×1024 |
| Opções de Qualidade | Controlos de qualidade reformulados: low, medium, high; low está otimizado para casos de uso sensíveis à latência |
low, medium, high (padrão = alto) |
low, medium, high (padrão = alto) |
low, medium, high (padrão = médio) |
| Número de imagens por pedido | 1–10 imagens por pedido (n parâmetro) |
1–10 imagens por pedido (n parâmetro) |
1–10 imagens por pedido (n parâmetro) |
1–10 imagens por pedido (n parâmetro) |
| Edição (pintura / variações) | ✅ Melhoria no desempenho da edição com pintura e variações | ✅ Suporta pintura e variações com máscara + prompt | ✅ Suporta pintura e variações com máscara + prompt | ✅ Suporta pintura e variações com máscara + prompt |
| Preservação do rosto | ✅ Preservação avançada do rosto para resultados realistas e consistentes | ✅ Preservação avançada do rosto para resultados realistas e consistentes | ✅ Preservação avançada do rosto para resultados realistas e consistentes | ❌Sem preservação facial dedicada; Melhor para imagens que não sejam retratos/criativas gerais |
| Desempenho e Custo | Modelo de alta fidelidade, otimizado para o realismo ; Maior latência e custo | Modelo de alta fidelidade, otimizado para o realismo ; melhoria da eficiência e latência em relação ao GPT-Image-1 | Modelo de alta fidelidade, otimizado para o realismo ; Maior latência e custo | Eficiente em termos de custos e mais rápido para geração em grande escala ou iterativa |
Início Rápido
Use este guia para começar a chamar as APIs REST de geração de imagens do Azure OpenAI no Microsoft Foundry Models usando Python.
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Python versão 3.8 ou posterior.
- As seguintes bibliotecas Python instaladas:
os,requests,json. - Um recurso Azure OpenAI criado numa região suportada. Ver disponibilidade por região.
- Depois, precisas de implementar um modelo em série gpt-image com o teu recurso Azure. Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Configuração
Recuperar chave e endpoint
Para conseguir ligar com sucesso às APIs Azure OpenAI, precisa da seguinte informação sobre o seu recurso Azure OpenAI:
| Variável | Nome | Valor |
|---|---|---|
| Ponto final | api_base |
O valor do endpoint está localizado em Chaves e Endpoint para o seu recurso no portal Azure. Também pode encontrar o endpoint através da página de Implementações no portal Foundry. Um exemplo de ponto final é: https://docs-test-001.openai.azure.com/. |
| Chave | api_key |
O valor da chave também está localizado em Keys e Endpoint para o seu recurso no portal Azure. O Azure gera duas chaves para o teu recurso. Podes usar qualquer um dos valores. |
Aceda ao seu recurso no portal Azure. No painel de navegação, selecione Chaves e Endpoint em Gestão de Recursos. Copie o valor do Endpoint e um valor da chave de acesso. Pode usar o valor KEY 1 ou KEY 2 . Ter sempre duas chaves permite alternar e regenerar chaves de forma segura sem causar interrupção no serviço.
Variáveis ambientais
Cria e atribui variáveis persistentes de ambiente para a tua chave e endpoint.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades geridas para recursos do Azure, para evitar armazenar credenciais nas suas aplicações que correm na nuvem.
Use as chaves API com cautela. Não incluas a chave API diretamente no teu código e nunca a publiques publicamente. Se usar chaves API, guarde-as de forma segura no Azure Key Vault, rode as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controlo de acesso baseado em funções e restrições de acesso à rede. Para mais informações sobre o uso seguro das chaves da API nas suas aplicações, consulte Chaves da API com Azure Key Vault.
Para mais informações sobre a segurança dos serviços de IA, consulte Autenticar pedidos para Serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar uma nova aplicação Python
Crie um novo ficheiro de Python chamado quickstart.py. Abre o novo ficheiro no teu editor ou IDE preferido.
Substitua o conteúdo da quickstart.py pelo seguinte código. Muda o valor de
promptpara o teu texto preferido. Também definedeploymentpara o nome de implementação que escolheste quando implementaste o modelo de geração de imagem.import os import requests import base64 from PIL import Image from io import BytesIO # set environment variables endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") subscription_key = os.getenv("AZURE_OPENAI_API_KEY") deployment = "gpt-image-1.5" # the name of your GPT-image series deployment api_version = "2025-04-01-preview" # or later version def decode_and_save_image(b64_data, output_filename): image = Image.open(BytesIO(base64.b64decode(b64_data))) image.show() image.save(output_filename) def save_all_images_from_response(response_data, filename_prefix): for idx, item in enumerate(response_data['data']): b64_img = item['b64_json'] filename = f"{filename_prefix}_{idx+1}.png" decode_and_save_image(b64_img, filename) print(f"Image saved to: '{filename}'") base_path = f'openai/deployments/{deployment}/images' params = f'?api-version={api_version}' generation_url = f"{endpoint}{base_path}/generations{params}" generation_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium", "output_format": "png", # "background": "transparent", # "auto" or "transparent" (GPT-image-1 only; requires PNG output) # "output_compression": 100, # 0-100 compression level (JPEG output only) } generation_response = requests.post( generation_url, headers={ 'Api-Key': subscription_key, 'Content-Type': 'application/json', }, json=generation_body ).json() save_all_images_from_response(generation_response, "generated_image") # In addition to generating images, you can edit them. edit_url = f"{endpoint}{base_path}/edits{params}" edit_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium" } files = { "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"), # You can use a mask to specify which parts of the image you want to edit. # The mask must be the same size as the input image. # "mask": ("mask.png", open("mask.png", "rb"), "image/png"), } edit_response = requests.post( edit_url, headers={'Api-Key': subscription_key}, data=edit_body, files=files ).json() save_all_images_from_response(edit_response, "edited_image")O script faz uma chamada de API de geração de imagem síncrona.
Importante
Lembra-te de remover a chave do teu código quando terminares e nunca publicar a chave publicamente. Para produção, utilize uma forma segura de armazenar e aceder às suas credenciais. Para mais informações, veja Azure Key Vault.
Execute a aplicação com o
pythoncomando:python quickstart.pyEspere alguns momentos para receber a resposta.
Produção
A saída de uma chamada de API de geração de imagem bem-sucedida assemelha-se ao seguinte exemplo. O b64_json campo contém os dados de imagem de saída codificados em base64.
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
Uma resposta bem-sucedida inclui:
- Um
createdselo temporal (tempo padrão Unix) - Um
dataarray com pelo menos um objeto de imagem - Ou umb64_jsonvalor (dados de imagem codificados base64) para cada imagem gerada
Erros comuns
| Erro | Causa | Resolução |
|---|---|---|
DeploymentNotFound |
O nome da implantação não existe ou está escrito incorretamente | Verifique o nome da implementação no portal Azure ou no portal Foundry |
401 Unauthorized |
Chave API inválida ou em falta | Verifica se a variável de ambiente AZURE_OPENAI_API_KEY está corretamente definida |
429 Too Many Requests |
Limite de taxa ultrapassado | Implementar lógica de retentativa com retrocesso exponencial |
content_policy_violation |
Pedido ou resultado gerado bloqueado pelo filtro de conteúdo | Modificar o prompt para cumprir a política de conteúdo |
InvalidPayload |
Parâmetros necessários em falta ou valores inválidos | Verifique que prompt, size, e n estão corretamente especificados |
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não gera uma imagem. Para mais informações, consulte Filtragem de conteúdo. Para exemplos de respostas a erros, consulte o guia prático de geração de imagens.
O sistema devolve um estado de operação de Failed e o error.code valor na mensagem é definido para contentFilter. Aqui está um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Também é possível que a própria imagem gerada seja filtrada. Neste caso, a mensagem de erro é definida para Generated image was filtered as a result of our safety system.. Aqui está um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Use este guia para começar a gerar imagens com o SDK Azure OpenAI para Python.
Código-fonte da biblioteca | Pacote | Exemplos
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Python versão 3.8 ou posterior.
- Um recurso Azure OpenAI criado numa região compatível.
Ver disponibilidade por região.
- Acede ao endpoint de recursos do Azure OpenAI e às chaves no portal Azure.
- Um modelo de geração de imagem implementado:
-
Série GPT-image-1: Implementar um modelo da série
gpt-image-1. Requer registo de acesso limitado.
-
Série GPT-image-1: Implementar um modelo da série
Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Configuração
Recuperar chave e endpoint
Para conseguir ligar com sucesso às APIs Azure OpenAI, precisa da seguinte informação sobre o seu recurso Azure OpenAI:
| Variável | Nome | Valor |
|---|---|---|
| Ponto final | api_base |
O valor do endpoint está localizado em Chaves e Endpoint para o seu recurso no portal Azure. Também pode encontrar o endpoint através da página Deployments no portal Microsoft Foundry. Um exemplo de ponto final é: https://docs-test-001.openai.azure.com/. |
| Chave | api_key |
O valor da chave também está localizado em Keys e Endpoint para o seu recurso no portal Azure. O Azure gera duas chaves para o teu recurso. Podes usar qualquer um dos valores. |
Aceda ao seu recurso no portal Azure. No painel de navegação, selecione Chaves e Endpoint em Gestão de Recursos. Copie o valor do Endpoint e um valor da chave de acesso. Pode usar o valor KEY 1 ou KEY 2 . Ter sempre duas chaves permite alternar e regenerar chaves de forma segura sem causar interrupção no serviço.
Variáveis ambientais
Cria e atribui variáveis persistentes de ambiente para a tua chave e endpoint.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades geridas para recursos do Azure, para evitar armazenar credenciais nas suas aplicações que correm na nuvem.
Use as chaves API com cautela. Não incluas a chave API diretamente no teu código e nunca a publiques publicamente. Se usar chaves API, guarde-as de forma segura no Azure Key Vault, rode as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controlo de acesso baseado em funções e restrições de acesso à rede. Para mais informações sobre o uso seguro das chaves da API nas suas aplicações, consulte Chaves da API com Azure Key Vault.
Para mais informações sobre a segurança dos serviços de IA, consulte Autenticar pedidos para Serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Instale o SDK Python
Abra um prompt de comandos e navegue até à pasta do seu projeto. Instale o SDK Python da OpenAI usando o seguinte comando:
pip install openai
Instale também as seguintes bibliotecas:
pip install requests
pip install pillow
Gerar imagens
Criar um novo ficheiro Python, quickstart.py. Abra-o no teu editor ou IDE preferido.
Substitua o conteúdo da quickstart.py pelo seguinte código.
from openai import AzureOpenAI
import os
import base64
from PIL import Image
client = AzureOpenAI(
api_version="2025-04-01-preview",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
result = client.images.generate(
model="gpt-image-1", # the name of your GPT-image series deployment
prompt="a close-up of a bear walking through the forest",
n=1,
size="1024x1024",
quality="high",
output_format="png",
# background="transparent", # Set to "transparent" for transparent backgrounds (GPT-image-1 only; requires PNG)
# output_compression=100, # 0-100 compression level (JPEG output only)
)
# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')
# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')
# GPT-image-1 models always return base64-encoded image data
image_base64 = result.data[0].b64_json
generated_image = base64.b64decode(image_base64)
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
- Certifique-se de que as
AZURE_OPENAI_ENDPOINTvariáveis de ambiente eAZURE_OPENAI_API_KEYestão definidas. - Muda o valor de
promptpara o teu texto preferido. - Mude o valor de
modelpara o nome do seu modelo de série de imagens GPT implementado.
Importante
Lembra-te de remover a chave do teu código quando terminares e nunca publicar a chave publicamente. Para produção, utilize uma forma segura de armazenar e aceder às suas credenciais. Para mais informações, veja Azure Key Vault.
Execute a aplicação com o python comando:
python quickstart.py
Espere alguns momentos para receber a resposta.
Produção
Azure OpenAI armazena a imagem de saída no ficheiro generated_image.png no diretório especificado. O script também mostra a imagem no seu visualizador de imagens predefinido.
Uma resposta bem-sucedida inclui:
- Um
createdcarimbo temporal - Um
dataarray com pelo menos um objeto imagem - Um
b64_jsoncampo com dados de imagem codificados base64 (modelos GPT-image-1 retornam sempre base64)
Erros comuns
| Erro | Causa | Resolução |
|---|---|---|
DeploymentNotFound |
O nome da implantação não existe ou está escrito incorretamente | Verifique o nome da implementação no portal Azure ou no portal Foundry |
AuthenticationError |
Chave API inválida ou em falta | Verifica se a variável de ambiente AZURE_OPENAI_API_KEY está corretamente definida |
RateLimitError |
Limite de taxa ultrapassado | Implementar lógica de retentativa com retrocesso exponencial |
content_policy_violation |
Pedido ou resultado gerado bloqueado pelo filtro de conteúdo | Modificar o prompt para cumprir a política de conteúdo |
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não gera uma imagem. Para mais informações, consulte Filtragem de conteúdo.
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Use este guia para começar a gerar imagens com o SDK Azure OpenAI para C#.
código-fonte da biblioteca | Pacote (NuGet) | Exemplos
Pré-requisitos
- Uma subscrição Azure - Crie uma gratuitamente
- O SDK .NET 7
- Um recurso Azure OpenAI criado numa região suportada (ver Disponibilidade de Região). Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, precisa:
- Instale o CLI do Azure usado para autenticação sem chave com Microsoft Entra ID.
- Atribui a
Cognitive Services Userfunção à tua conta de utilizador. Pode atribuir funções no portal Azure em Controlo de Acesso (IAM)>Adicionar atribuição de funções.
Configuração
Crie uma nova pasta
image-quickstarte vá à pasta de início rápido com o seguinte comando:mkdir image-quickstart && cd image-quickstartCrie uma nova aplicação de consola com o seguinte comando:
dotnet new consoleInstale a biblioteca cliente OpenAI.NET com o comando dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6Para a autenticação sem chave recomendada com Microsoft Entra ID, instale o pacote Azure.Identity com:
dotnet add package Azure.IdentityPara a autenticação sem chave recomendada com Microsoft Entra ID, inicie sessão em Azure com o seguinte comando:
az login
Recuperar informação de recursos
Precisa de obter a seguinte informação para autenticar a sua aplicação com o seu recurso Azure OpenAI:
| Nome da variável | Valor |
|---|---|
AZURE_OPENAI_ENDPOINT |
Este valor pode ser encontrado na secção Keys e Endpoint ao examinar o seu recurso no portal Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Este valor corresponderá ao nome personalizado que escolheu para a sua implementação quando implementou um modelo. Este valor pode ser encontrado em Resource Management>Model Deployments no portal Azure. |
Saiba mais sobre autenticação sem chave e definição de variáveis de ambiente.
Execute o início rápido
O código de exemplo neste quickstart utiliza o Microsoft Entra ID para a autenticação sem chave recomendada. Se preferir usar uma chave API, pode substituir o DefaultAzureCredential objeto por um AzureKeyCredential objeto.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Para executar o quickstart, siga estes passos:
Substitua o conteúdo de
Program.cspelo seguinte código e atualize os valores provisórios pelos seus próprios.using Azure; using Azure.AI.OpenAI; using OpenAI.Images; using static System.Environment; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); // This must match the custom deployment name you chose for your model ImageClient chatClient = openAIClient.GetImageClient("gpt-image-1"); var imageGeneration = await chatClient.GenerateImageAsync( "a happy monkey sitting in a tree, in watercolor", new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); Console.WriteLine(imageGeneration.Value.ImageUri);Execute a aplicação usando o comando
dotnet runou o botão run no topo de Visual Studio:dotnet run
Produção
Os dados da imagem codificados em base64 são impressos na consola.
Importante
GPT-image-1 e GPT-image-2 também suportam parâmetros adicionais como quality (low, medium, high), output_format (png, jpeg), background (auto, transparent), e output_compression (0-100, apenas JPEG). Para detalhes, consulte as opções da API.
Nota
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não devolverá uma imagem gerada. Para mais informações, consulte o artigo do filtro de conteúdo .
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes apagar o recurso. Antes de eliminar o recurso, deve primeiro eliminar quaisquer modelos implementados.
Use este guia para começar a gerar imagens com o Azure OpenAI SDK para Java.
Código-fonte da biblioteca | Artifact (Maven) | Amostras
Pré-requisitos
- Uma subscrição Azure - Crie uma gratuitamente
- A versão atual do Kit de Desenvolvimento Java (JDK)
- Instala Apache Maven.
- Um recurso Azure OpenAI criado numa região suportada (ver Disponibilidade de Região). Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, precisa:
- Instale o CLI do Azure usado para autenticação sem chave com Microsoft Entra ID.
- Atribui a
Cognitive Services Userfunção à tua conta de utilizador. Pode atribuir funções no portal Azure em Controlo de Acesso (IAM)>Adicionar atribuição de funções.
Configuração
Crie uma nova pasta
image-quickstarte vá à pasta de início rápido com o seguinte comando:mkdir image-quickstart && cd image-quickstartInstala Apache Maven. Depois corre
mvn -vpara confirmar a instalação bem-sucedida.Crie um novo
pom.xmlficheiro na raiz do seu projeto e copie o seguinte código para ele:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.azure.samples</groupId> <artifactId>quickstart-image-generation</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-openai</artifactId> <version>1.0.0-beta.3</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-core</artifactId> <version>1.53.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.9</version> </dependency> </dependencies> </project>Instale o SDK Azure OpenAI e as dependências.
mvn clean dependency:copy-dependenciesPara a autenticação sem chave recomendada com Microsoft Entra ID, inicie sessão em Azure com o seguinte comando:
az login
Recuperar informação de recursos
Precisa de obter a seguinte informação para autenticar a sua aplicação com o seu recurso Azure OpenAI:
| Nome da variável | Valor |
|---|---|
AZURE_OPENAI_ENDPOINT |
Este valor pode ser encontrado na secção Keys e Endpoint ao examinar o seu recurso no portal Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Este valor corresponderá ao nome personalizado que escolheu para a sua implementação quando implementou um modelo. Este valor pode ser encontrado em Resource Management>Model Deployments no portal Azure. |
Saiba mais sobre autenticação sem chave e definição de variáveis de ambiente.
Executa a aplicação
O código de exemplo neste quickstart utiliza o Microsoft Entra ID para a autenticação sem chave recomendada. Se preferir usar uma chave API, pode substituir o DefaultAzureCredential objeto por um AzureKeyCredential objeto.
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Siga estes passos para criar uma aplicação de consola para geração de imagens.
Crie um novo ficheiro chamado Quickstart.java na mesma pasta raiz do projeto.
Copie o seguinte código para Quickstart.java:
import com.azure.ai.openai.OpenAIAsyncClient; import com.azure.ai.openai.OpenAIClientBuilder; import com.azure.ai.openai.models.ImageGenerationOptions; import com.azure.ai.openai.models.ImageLocation; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.models.ResponseError; import java.util.concurrent.TimeUnit; public class Quickstart { public static void main(String[] args) throws InterruptedException { String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT"); // Use the recommended keyless credential instead of the AzureKeyCredential credential. OpenAIAsyncClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new DefaultAzureCredentialBuilder().build()) .buildAsyncClient(); ImageGenerationOptions imageGenerationOptions = new ImageGenerationOptions( "A drawing of the Seattle skyline in the style of Van Gogh"); client.getImages(imageGenerationOptions).subscribe( images -> { for (ImageLocation imageLocation : images.getData()) { ResponseError error = imageLocation.getError(); if (error != null) { System.out.printf("Image generation operation failed. Error code: %s, error message: %s.%n", error.getCode(), error.getMessage()); } else { System.out.printf( "Image location URL that provides temporary access to download the generated image is %s.%n", imageLocation.getUrl()); } } }, error -> System.err.println("There was an error getting images." + error), () -> System.out.println("Completed getImages.")); // The .subscribe() creation and assignment isn't a blocking call. // The thread sleeps so the program does not end before the send operation is complete. // Use .block() instead of .subscribe() for a synchronous call. TimeUnit.SECONDS.sleep(10); } }Execute a sua nova aplicação de consola para gerar uma imagem:
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Produção
O URL da imagem gerada é impresso na consola.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Importante
O GPT-image-1 também suporta parâmetros adicionais como quality (low, medium, high), output_format (png, jpeg), background (auto, , transparent), e output_compression (0-100, apenas JPEG). Para detalhes, consulte as opções da API.
Nota
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não devolverá uma imagem gerada. Para mais informações, consulte o artigo do filtro de conteúdo .
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes apagar o recurso. Antes de eliminar o recurso, deve primeiro eliminar quaisquer modelos implementados.
Use este guia para começar a gerar imagens com o Azure OpenAI SDK para JavaScript.
Documentação de referência | Código-fonte | Package (npm) | Samples
Pré-requisitos
- Uma subscrição Azure - Crie uma gratuitamente
- Versões LTS de Node.js
- CLI do Azure usado para autenticação sem palavra-passe num ambiente de desenvolvimento local, cria o contexto necessário iniciando sessão com o CLI do Azure.
- Um recurso Azure OpenAI criado numa região suportada (ver Disponibilidade de Região). Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, precisa:
- Instale o CLI do Azure usado para autenticação sem chave com Microsoft Entra ID.
- Atribui a
Cognitive Services Userfunção à tua conta de utilizador. Pode atribuir funções no portal Azure em Controlo de Acesso (IAM)>Adicionar atribuição de funções.
Configuração
Crie uma nova pasta
image-quickstarte vá à pasta de início rápido com o seguinte comando:mkdir image-quickstart && cd image-quickstartCrie o
package.jsoncom o seguinte comando:npm init -yInstale a biblioteca cliente OpenAI para JavaScript com:
npm install openaiPara a autenticação sem palavra-passe recomendada :
npm install @azure/identity
Recuperar informação de recursos
Precisa de obter a seguinte informação para autenticar a sua aplicação com o seu recurso Azure OpenAI:
| Nome da variável | Valor |
|---|---|
AZURE_OPENAI_ENDPOINT |
Este valor pode ser encontrado na secção Keys e Endpoint ao examinar o seu recurso no portal Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Este valor corresponderá ao nome personalizado que escolheu para a sua implementação quando implementou um modelo. Este valor pode ser encontrado em Resource Management>Model Deployments no portal Azure. |
Saiba mais sobre autenticação sem chave e definição de variáveis de ambiente.
Cautela
Para usar a autenticação sem chave recomendada com o SDK, certifique-se de que a AZURE_OPENAI_API_KEY variável ambiente não está definida.
Gerar imagens
Crie o
index.jsficheiro com o seguinte código:const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); const fs = require("fs"); // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-image-1"; // The prompt to generate images from const prompt = "a monkey eating a banana"; const numberOfImagesToGenerate = 1; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient() { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", quality: "high", // output_format: "png", // "png" or "jpeg" (GPT-image-1 only) // background: "transparent", // "auto" or "transparent" (GPT-image-1 only, requires PNG) }); // GPT-image-1 models always return base64-encoded images for (const image of results.data) { const imageBuffer = Buffer.from(image.b64_json, "base64"); fs.writeFileSync("generated_image.png", imageBuffer); console.log("Image saved to generated_image.png"); } } main().catch((err) => { console.error("The sample encountered an error:", err); });Inicie sessão no Azure com o seguinte comando:
az loginExecuta o ficheiro JavaScript.
node index.js
Produção
A imagem gerada é guardada em generated_image.png no diretório atual.
== Image Generation ==
Image saved to generated_image.png
Nota
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não devolverá uma imagem gerada. Para mais informações, consulte o artigo do filtro de conteúdo .
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes apagar o recurso. Antes de eliminar o recurso, deve primeiro eliminar quaisquer modelos implementados.
Use este guia para começar a gerar imagens com o Azure OpenAI SDK para JavaScript.
Documentação de referência | Código-fonte | Package (npm) | Samples
Pré-requisitos
- Uma subscrição Azure - Crie uma gratuitamente
- Versões LTS de Node.js
- TypeScript
- CLI do Azure usado para autenticação sem palavra-passe num ambiente de desenvolvimento local, cria o contexto necessário iniciando sessão com o CLI do Azure.
- Um recurso Azure OpenAI criado numa região suportada (ver Disponibilidade de Região). Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, precisa:
- Instale o CLI do Azure usado para autenticação sem chave com Microsoft Entra ID.
- Atribui a
Cognitive Services Userfunção à tua conta de utilizador. Pode atribuir funções no portal Azure em Controlo de Acesso (IAM)>Adicionar atribuição de funções.
Configuração
Crie uma nova pasta
image-quickstarte vá à pasta de início rápido com o seguinte comando:mkdir image-quickstart && cd image-quickstartCrie o
package.jsoncom o seguinte comando:npm init -yAtualize o
package.jsonpara ECMAScript com o seguinte comando:npm pkg set type=moduleInstale a biblioteca cliente OpenAI para JavaScript com:
npm install openaiPara a autenticação sem palavra-passe recomendada :
npm install @azure/identity
Recuperar informação de recursos
Precisa de obter a seguinte informação para autenticar a sua aplicação com o seu recurso Azure OpenAI:
| Nome da variável | Valor |
|---|---|
AZURE_OPENAI_ENDPOINT |
Este valor pode ser encontrado na secção Keys e Endpoint ao examinar o seu recurso no portal Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Este valor corresponderá ao nome personalizado que escolheu para a sua implementação quando implementou um modelo. Este valor pode ser encontrado em Resource Management>Model Deployments no portal Azure. |
Saiba mais sobre autenticação sem chave e definição de variáveis de ambiente.
Cautela
Para usar a autenticação sem chave recomendada com o SDK, certifique-se de que a AZURE_OPENAI_API_KEY variável ambiente não está definida.
Gerar imagens
Crie o
index.tsficheiro com o seguinte código:import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; import * as fs from "fs"; // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-image-1"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", quality: "high", // output_format: "png", // "png" or "jpeg" (GPT-image-1 only) // background: "transparent", // "auto" or "transparent" (GPT-image-1 only, requires PNG) }); // GPT-image-1 models always return base64-encoded images for (const image of results.data) { const imageBuffer = Buffer.from(image.b64_json!, "base64"); fs.writeFileSync("generated_image.png", imageBuffer); console.log("Image saved to generated_image.png"); } } main().catch((err) => { console.error("The sample encountered an error:", err); });Crie o
tsconfig.jsonficheiro para transpilar o código TypeScript e copie o seguinte código para ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpile de TypeScript para JavaScript.
tscInicie sessão no Azure com o seguinte comando:
az loginExecute o código com o seguinte comando:
node index.js
Produção
A imagem gerada é guardada em generated_image.png no diretório atual.
== Image Generation ==
Image saved to generated_image.png
Nota
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não devolverá uma imagem gerada. Para mais informações, consulte o artigo do filtro de conteúdo .
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes apagar o recurso. Antes de eliminar o recurso, deve primeiro eliminar quaisquer modelos implementados.
Use este guia para começar a gerar imagens com o SDK OpenAI do Azure para Go.
Código-fonte da biblioteca | Pacote | Exemplos
Pré-requisitos
- Uma subscrição Azure - Crie uma gratuitamente
- Go 1.8+
- Um recurso Azure OpenAI criado numa região suportada (ver Disponibilidade de Região). Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, precisa:
- Instale o CLI do Azure usado para autenticação sem chave com Microsoft Entra ID.
- Atribui a
Cognitive Services Userfunção à tua conta de utilizador. Pode atribuir funções no portal Azure em Controlo de Acesso (IAM)>Adicionar atribuição de funções.
Configuração
Crie uma nova pasta
dall-e-quickstarte vá à pasta de início rápido com o seguinte comando:mkdir dall-e-quickstart && cd dall-e-quickstartPara a autenticação sem chave recomendada com Microsoft Entra ID, inicie sessão em Azure com o seguinte comando:
az login
Recuperar informação de recursos
Precisa de obter a seguinte informação para autenticar a sua aplicação com o seu recurso Azure OpenAI:
| Nome da variável | Valor |
|---|---|
AZURE_OPENAI_ENDPOINT |
Este valor pode ser encontrado na secção Keys e Endpoint ao examinar o seu recurso no portal Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Este valor corresponderá ao nome personalizado que escolheu para a sua implementação quando implementou um modelo. Este valor pode ser encontrado em Resource Management>Model Deployments no portal Azure. |
Saiba mais sobre autenticação sem chave e definição de variáveis de ambiente.
Execute o início rápido
O código de exemplo neste quickstart utiliza o Microsoft Entra ID para a autenticação sem chave recomendada. Se preferir usar uma chave API, pode substituir a NewDefaultAzureCredential implementação por NewKeyCredential.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Para executar a amostra:
Crie um novo ficheiro chamado quickstart.go. Copie o código seguinte para o ficheiro quickstart.go .
package main import ( "context" "fmt" "net/http" "os" "log" "github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) func main() { azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT") modelDeploymentID := "gpt-image-1" credential, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Printf("ERROR: %s", err) return } client, err := azopenai.NewClient( azureOpenAIEndpoint, credential, nil) if err != nil { log.Printf("ERROR: %s", err) return } resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{ Prompt: to.Ptr("A painting of a cat in the style of Dali."), ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL), DeploymentName: to.Ptr(modelDeploymentID), }, nil) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } for _, generatedImage := range resp.Data { // The underlying type for the generatedImage is determined by the value of // ImageGenerationOptions.ResponseFormat. // In this example we use `azopenai.ImageGenerationResponseFormatURL`, // so the underlying type will be ImageLocation. resp, err := http.Head(*generatedImage.URL) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL) } }Execute o seguinte comando para criar um novo módulo Go:
go mod init quickstart.goExecute
go mod tidypara instalar as dependências necessárias:go mod tidyExecute o seguinte comando para executar a amostra:
go run quickstart.go
Produção
O URL da imagem gerada é impresso na consola.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Importante
Os modelos GPT-image-1 retornam sempre dados de imagem codificados base64 em vez de URLs. Se a versão do teu SDK devolver uma URL para modelos DALL-E, é necessário tratar a resposta base64 para implementações GPT-image-1. O GPT-image-1 também suporta parâmetros adicionais como quality (low, medium, high), output_format (png, jpeg), background (auto, , transparent), e output_compression (0-100, apenas JPEG). Para detalhes, consulte as opções da API.
Nota
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não devolverá uma imagem gerada. Para mais informações, consulte o artigo do filtro de conteúdo .
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Use este guia para começar a chamar as APIs de geração de imagens do Azure OpenAI no Microsoft Foundry Models com PowerShell.
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Para esta tarefa, recomenda-se a versão mais recente do PowerShell 7 porque os exemplos usam novas funcionalidades que não estão disponíveis no Windows PowerShell 5.1.
- Um recurso Azure OpenAI criado numa região suportada (ver Disponibilidade de Região). Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, precisa:
- Instale o CLI do Azure usado para autenticação sem chave com Microsoft Entra ID.
- Atribui a
Cognitive Services Userfunção à tua conta de utilizador. Pode atribuir funções no portal Azure em Controlo de Acesso (IAM)>Adicionar atribuição de funções.
Recuperar informação de recursos
Precisa de obter a seguinte informação para autenticar a sua aplicação com o seu recurso Azure OpenAI:
| Nome da variável | Valor |
|---|---|
AZURE_OPENAI_ENDPOINT |
Este valor pode ser encontrado na secção Keys e Endpoint ao examinar o seu recurso no portal Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Este valor corresponderá ao nome personalizado que escolheu para a sua implementação quando implementou um modelo. Este valor pode ser encontrado em Resource Management>Model Deployments no portal Azure. |
Saiba mais sobre autenticação sem chave e definição de variáveis de ambiente.
Gerar imagens
Para a autenticação sem chave recomendada com Microsoft Entra ID, inicie sessão em Azure com o seguinte comando:
az loginObtenha um token de autenticação Azure OpenAI e defina-o como variável de ambiente para a sessão atual do PowerShell:
$Env:DEFAULT_AZURE_CREDENTIAL_TOKEN = az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsvCrie um novo ficheiro PowerShell chamado quickstart.ps1. Depois abre-o no teu editor ou IDE preferido.
Substitua o conteúdo da quickstart.ps1 pelo seguinte código. Certifica-te de
AZURE_OPENAI_ENDPOINTque está definido e muda o valor depromptpara o teu texto preferido.Para usar autenticação por chave API em vez da autenticação sem chave, defina
AZURE_OPENAI_API_KEYe descomente a'api-key'linha.# Azure OpenAI metadata variables $openai = @{ api_base = $Env:AZURE_OPENAI_ENDPOINT deployment = 'gpt-image-1' # set to the name of your model deployment } # Use the recommended keyless authentication via bearer token. $headers = [ordered]@{ #'api-key' = $Env:AZURE_OPENAI_API_KEY 'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)" } # Text to describe image $prompt = 'A painting of a dog' # Adjust these values to fine-tune completions $body = [ordered]@{ model = $openai.deployment # required: the name of your model deployment prompt = $prompt size = '1024x1024' n = 1 quality = 'high' output_format = 'png' # background = 'transparent' # 'auto' or 'transparent' (GPT-image-1 only; requires PNG output) # output_compression = 100 # 0-100 compression level (JPEG output only) } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/v1/images/generations?api-version=preview" $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Decode the base64 image and save to file $image_bytes = [Convert]::FromBase64String($response.data[0].b64_json) [IO.File]::WriteAllBytes($image_path, $image_bytes) return $image_pathImportante
Para produção, use uma forma segura de armazenar e aceder às suas credenciais, como The PowerShell Secret Management com Azure Key Vault. Para mais informações sobre segurança de credenciais, consulte este artigo sobre segurança .
Executa o script usando PowerShell:
./quickstart.ps1O script gera a imagem e guarda-a.
Produção
O PowerShell solicita a imagem ao Azure OpenAI e armazena a imagem de saída no ficheiro generated_image.png na pasta especificada. Para conveniência, o caminho completo do ficheiro é devolvido no final do script.
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não gera uma imagem. Para mais informações, consulte Filtragem de conteúdo.
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Use este guia para começar a gerar imagens com o Azure OpenAI no seu navegador com o Microsoft Foundry.
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Um recurso Azure OpenAI criado numa região suportada. Ver disponibilidade por região. Para mais informações, consulte Crie um recurso e implemente um modelo com Azure OpenAI.
Ir à Fundição
Navegue até Foundry e inicie sessão com as credenciais associadas ao seu recurso Azure OpenAI. Durante ou após o fluxo de sessão de iniciação, selecione o diretório apropriado, a subscrição do Azure e o recurso Azure OpenAI.
Na página inicial da Foundry, crie ou selecione um novo projeto. Navegue até à página Modelos + endpoints na barra lateral esquerda. Selecione Deploy modelo e depois escolha um dos modelos de geração de imagem da lista. Conclua o processo de implantação.
Na página do modelo, selecione Abrir no Playground.
Experimenta a geração de imagens
Comece a explorar as capacidades do Azure OpenAI com uma abordagem sem código através do Images playground. Introduza o prompt da sua imagem na caixa de texto e selecione Gerar. Quando a imagem gerada pela IA está pronta, ela aparece na página.
Nota
As APIs de Imagem vêm com um filtro de moderação de conteúdos. Se o Azure OpenAI reconhecer o seu prompt como conteúdo prejudicial, não devolve uma imagem gerada. Para mais informações, consulte Filtragem de conteúdo.
No playground Images, também pode ver exemplos de código Python e cURL, que são pré-preenchidos de acordo com as suas definições. Selecione Ver código perto do topo da página. Pode usar este código para escrever uma aplicação que complete a mesma tarefa.
Liberar recursos
Se quiseres limpar e remover um recurso do Azure OpenAI, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Quotas e limites
A geração de imagens tem limites de taxa padrão por implementação:
| Modelo | Quota padrão (imagens/min) |
|---|---|
| Série GPT-image-1 | 5 |
| GPT-image-2 | 5 |
Para consultar a sua quota atual ou solicitar um aumento, consulte Gerenciar Azure quotas OpenAI.
Chame a API de geração de imagem
O comando seguinte mostra a forma mais básica de usar um modelo de imagem com código. Se for a primeira vez que usas estes modelos programáticamente, começa pelo quickstart.
Dica
A geração de imagens normalmente demora entre 10 a 30 segundos, dependendo do modelo, tamanho e definições de qualidade.
Pré-requisitos
- Uma subscrição do Azure. Podes criar um gratuitamente.
- Um recurso Azure OpenAI criado numa região suportada. Ver disponibilidade por região.
- Implementa um modelo
gpt-image-1-series ougpt-image-2com o teu recurso Azure OpenAI. Para mais informações sobre implementações, veja Criar um recurso e implementar um modelo com Azure OpenAI.- Os modelos da série GPT-image-1 estão disponíveis com acesso restrito: Candidate-se ao acesso GPT-image-1; Candidate-se ao acesso GPT-image-1.5.
- O GPT-image-2 está disponível em pré-visualização pública.
- Python 3.8 ou posterior.
- Instale os pacotes necessários:
pip install openai azure-identity
- Instale os pacotes necessários:
Envie um pedido POST para:
https://<your_resource_name>.openai.azure.com/openai/v1/images/generations?api-version=preview
URL:
Substitua <your_resource_name> pelo nome do seu recurso Azure OpenAI.
Cabeçalhos obrigatórios:
-
Content-Type:application/json -
api-key:<your_API_key>
Corpo:
Segue-se um exemplo de corpo de pedido. Especificas várias opções, definidas nas secções seguintes.
Nota
Defina o model parâmetro para o nome da implementação do seu modelo (por exemplo, gpt-image-1.5).
{
"prompt": "A multi-colored umbrella on the beach, disposable camera",
"model": "gpt-image-1.5",
"size": "1024x1024",
"n": 1,
"quality": "high"
}
Dica
Para os custos dos tokens de geração de imagem, veja Tokens de imagem.
Produção
A resposta a uma chamada de API de geração de imagem bem-sucedida é o seguinte exemplo. O b64_json campo contém os dados da imagem de saída.
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
Nota
O response_format parâmetro não é suportado para modelos da série GPT-imagem-1, que devolvem sempre imagens codificadas base64.
Streaming
O streaming permite-lhe receber imagens parciais à medida que são geradas, proporcionando um feedback visual mais rápido para os seus utilizadores. Isto é útil para aplicações onde queres mostrar o progresso da geração. O partial_images parâmetro (1-3) controla quantas imagens intermédias são devolvidas antes do resultado final.
Pode-se transmitir pedidos de geração de imagem para modelos da série gpt-image-1 e gpt-image-2 definindo o parâmetro stream para true, e o parâmetro partial_images para um valor entre 0 e 3.
import base64
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
client = OpenAI(
base_url = "https://RESOURCE-NAME-HERE/openai/v1/",
api_key=token_provider,
)
stream = client.images.generate(
model="gpt-image-1.5",
prompt="A cute baby sea otter",
n=1,
size="1024x1024",
stream=True,
partial_images = 2
)
for event in stream:
if event.type == "image_generation.partial_image":
idx = event.partial_image_index
image_base64 = event.b64_json
image_bytes = base64.b64decode(image_base64)
with open(f"river{idx}.png", "wb") as f:
f.write(image_bytes)
Especificar opções de API
Os seguintes parâmetros do corpo da API estão disponíveis para modelos de geração de imagens.
Dimensão
Para modelos da série GPT-imagem-1, especifique o tamanho das imagens geradas como uma de 1024x1024, 1024x1536, ou 1536x1024. Imagens quadradas são mais rápidas de gerar.
Para gpt-image-2, resoluções arbitrárias são suportadas com as seguintes restrições:
- Ambas as arestas devem ser múltiplas de 16 píxeis.
- Borda longa até 3840 px (compatibilidade 4K).
- Proporção de aspeto até 3:1.
- Contagem total de píxeis entre 655.360 e 8.294.400.
Qualidade
Existem três opções para a qualidade da imagem: low, medium, e high. Imagens de menor qualidade podem ser geradas mais rapidamente.
O valor padrão é high.
Número
Pode gerar entre uma e dez imagens numa única chamada de API. O valor padrão é 1.
ID de utilizador
Use o parâmetro de utilizador para especificar um identificador único para o utilizador que faz o pedido. Este identificador é útil para rastrear e monitorizar padrões de utilização. O valor pode ser qualquer cadeia, como um ID de utilizador ou endereço de email.
Formato de saída
Use o parâmetro output_format para especificar o formato da imagem gerada. Os formatos suportados são PNG e JPEG. O padrão é PNG.
Nota
As imagens WEBP não são suportadas no OpenAI do Azure nos modelos Microsoft Foundry.
Compressão
Use o parâmetro output_compression para especificar o nível de compressão da imagem gerada. Introduza um inteiro entre 0 e 100, onde 0 é sem compressão e 100 é compressão máxima. O padrão é 100.
Streaming
Use o parâmetro stream para ativar respostas de streaming. Quando definido para true, a API devolve imagens parciais à medida que são geradas. Esta funcionalidade proporciona um feedback visual mais rápido para os utilizadores e melhora a latência percebida. Defina o parâmetro partial_images para controlar quantas imagens parciais são geradas (1-3).
Transparência
Defina o parâmetro de fundo para transparent e output_formatPNG num pedido de geração de imagem para obter uma imagem com fundo transparente.
Chame a API de edição de imagem
A API de Edição de Imagem permite-lhe modificar imagens existentes com base nos prompts de texto que fornecer. A chamada da API é semelhante à chamada da API de geração de imagem, mas também necessita de fornecer uma imagem de entrada.
Importante
A imagem de entrada deve ter menos de 50 MB de tamanho e deve ser um ficheiro PNG ou JPG.
Envie um pedido POST para:
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/edits?api-version=<api_version>
URL:
Substitua os seguintes valores:
-
<your_resource_name>é o nome do seu recurso Azure OpenAI. -
<your_deployment_name>é o nome do seu modelo de implementação da série de imagens GPT. -
<api_version>é a versão da API que queres usar. Por exemplo,2025-04-01-preview.
Cabeçalhos obrigatórios:
-
Content-Type:multipart/form-data -
api-key:<your_API_key>
Corpo:
Segue-se um exemplo de corpo de pedido. Especificas várias opções, definidas nas secções seguintes.
Importante
A API de Edição de Imagem recebe dados do tipo multipart/form-data, não dados JSON. O exemplo abaixo mostra dados de formulário de exemplo que seriam associados a um pedido cURL.
-F "image[]=@beach.png" \
-F 'prompt=Add a beach ball in the center' \
-F "model=gpt-image-1" \
-F "size=1024x1024" \
-F "n=1" \
-F "quality=high"
Saída de resposta da API
A resposta a uma chamada API de edição de imagem bem-sucedida é o seguinte exemplo. O b64_json campo contém os dados da imagem de saída.
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
Especificar opções da API de edição de imagem
Os seguintes parâmetros do corpo da API estão disponíveis para modelos de edição de imagem, além dos disponíveis para modelos de geração de imagem.
Imagem
O valor da imagem indica o ficheiro de imagem que queres editar.
Fidelidade de entrada
O parâmetro input_fidelity controla quanto esforço o modelo coloca para corresponder ao estilo e às características, especialmente as características faciais, das imagens de entrada.
Este parâmetro permite-lhe fazer edições subtis numa imagem sem alterar áreas não relacionadas. Quando se usa alta fidelidade de entrada, as faces são preservadas com mais precisão do que no modo padrão.
Importante
A fidelidade de entrada não é suportada pelo gpt-image-1-mini modelo.
Máscara
O parâmetro máscara usa o mesmo tipo do parâmetro principal de entrada da imagem . Define a área da imagem que queres que o modelo edite, usando píxeis totalmente transparentes (alfa de zero) nessas áreas. A máscara deve ser um ficheiro PNG e ter as mesmas dimensões da imagem de entrada.
Streaming
Use o parâmetro stream para ativar respostas de streaming. Quando definido para true, a API devolve imagens parciais à medida que são geradas. Esta funcionalidade proporciona um feedback visual mais rápido para os utilizadores e melhora a latência percebida. Defina o parâmetro partial_images para controlar quantas imagens parciais são geradas (1-3).
Transparência
GPT-image-1 apenas: defina o parâmetro background para transparent e output_format para PNG em um pedido de geração de imagem para obter uma imagem com fundo transparente.
Escreva prompts eficazes para transformar texto em imagem
Os teus prompts devem descrever o conteúdo que queres ver na imagem e o estilo visual da imagem.
Ao escrever sugestões, considere que as APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer o seu prompt como conteúdo prejudicial, não gera uma imagem. Para mais informações, consulte Filtragem de conteúdo.
Dica
Para obter uma visão detalhada de como pode ajustar os seus prompts de texto para gerar diferentes tipos de imagens, consulte o guia de engenharia de prompts de imagem.
IA responsável e geração de imagens
Os modelos de geração de imagens do Azure OpenAI incluem proteções incorporadas de IA Responsável (RAI) para ajudar a garantir uma utilização segura e compatível.
Além disso, o Azure fornece moderação de entrada e saída em todos os modelos de geração de imagens, juntamente com salvaguardas específicas do Azure, como filtragem de conteúdos e monitorização de abusos. Estes sistemas ajudam a detetar e prevenir a geração ou uso indevido de conteúdos prejudiciais, inseguros ou que violem políticas.
Os clientes podem saber mais sobre estas salvaguardas e como as personalizar aqui:
- Saiba mais: Explore a filtragem de conteúdos
- Solicitar personalização: Candidatar-se para optar por não participar na filtragem de conteúdos
Considerações especiais para gerar imagens de menores
Imagens fotorrealistas de menores são automaticamente bloqueadas. Os clientes podem solicitar acesso a esta funcionalidade. Os clientes de nível empresarial são automaticamente aprovados.
Resolução de problemas
Rejeição de chamadas API
Os prompts e imagens são filtrados com base na nossa política de conteúdos. A API devolve um erro quando um prompt ou imagem é sinalizado.
Se o seu prompt for sinalizado, o valor error.code na mensagem é definido como contentFilter. Aqui está um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Também é possível que a própria imagem gerada seja filtrada. Neste caso, a mensagem de erro está definida como A imagem gerada foi filtrada como resultado do nosso sistema de segurança. Aqui está um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Erros de limite de velocidade
Se receber um erro 429, excedeu o seu limite de taxa. Espere antes de tentar novamente ou peça um aumento de quota no portal Azure.
Erros de autenticação
Se receber um erro 401:
- Autenticação da chave API: Verifique se a sua chave API está correta e não está expirada.
- Identidade gerida: Assegure que a sua identidade tem o papel de Utilizador OpenAI de Serviços Cognitivos no recurso.
Erros de timeout
A geração de imagens pode demorar até 60 segundos para prompts complexos. Se tiver tempos mortos:
- Usa streaming para obter resultados parciais mais cedo.
- Simplifica o teu prompt.
- Experimenta um tamanho de imagem mais pequeno.
Conteúdo relacionado
- Saiba mais sobre tokens de geração de imagem