Partilhar via


Guia de início rápido: gerar imagens com o Azure OpenAI nos modelos do Azure AI Foundry

Observação

A API de geração de imagem cria uma imagem a partir de um prompt de texto. Não edita nem cria variações a partir de imagens existentes.

Use este guia para começar a gerar imagens com o Azure OpenAI em seu navegador com o Azure AI Foundry.

Pré-requisitos

Ir para Azure AI Foundry

Navegue até Azure AI Foundry e entre com as credenciais associadas ao seu recurso do Azure OpenAI. Durante ou após o processo de início de sessão, selecione o diretório apropriado, a assinatura do Azure e o recurso do Azure OpenAI.

Na página inicial do Azure AI Foundry, crie ou selecione um novo projeto. Navegue até a página Modelos + pontos de extremidade no painel de navegação esquerdo. Selecione Implantar modelo e, em seguida, escolha um dos modelos DALL-E na lista. Conclua o processo de implantação.

Na página do modelo, selecione Abrir na área de testes.

Experimente a geração de imagens

Comece a explorar as capacidades do Azure OpenAI com uma abordagem sem código por meio do playground de Imagens. Digite seu prompt de imagem na caixa de texto e selecione Gerar. Quando a imagem gerada por IA estiver pronta, ela aparecerá na página.

Observação

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o Azure OpenAI reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte Filtragem de conteúdo.

No playground de Imagens, também pode visualizar exemplos de código em Python e cURL, que estão pré-preenchidos de acordo com as suas definições. Selecione Ver código na parte superior da página. Você pode usar esse código para escrever um aplicativo que conclui a mesma tarefa.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

Use este guia para começar a chamar as APIs REST de geração de imagem do Azure OpenAI no Azure AI Foundry Models usando Python.

Pré-requisitos

Configuração

Recuperar a chave e o endpoint

Para chamar com êxito as APIs do Azure OpenAI, você precisa das seguintes informações sobre seu recurso do Azure OpenAI:

Variável Nome Valor
Ponto final api_base O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para seu recurso no portal do Azure. Você também pode encontrar o ponto final através da página de Implementações no portal Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
Chave api_key O valor da chave também está localizado em Chaves e Endpoint para o seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer um dos valores.

Vá para o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto Final em Gerenciamento de Recursos. Copie o valor Endpoint e um valor de chave de acesso. Você pode usar o valor KEY 1 ou KEY 2 . Ter sempre duas chaves permite-lhe alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã que mostra a página de chaves e ponto de extremidade de um recurso do Azure OpenAI no portal do Azure.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações 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 aplicação Python nova

Crie um novo arquivo Python chamado quickstart.py. Abra o novo arquivo em seu editor ou IDE preferido.

  1. Substitua o conteúdo do quickstart.py pelo código a seguir. Altere o valor de prompt para o seu texto preferido. Também defina deployment para o nome da implantação que escolheu quando implantou o modelo GPT-image-1.

    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" # the name of your GPT-image-1 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"
    }
    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

    Lembre-se de remover a chave do seu código quando terminar e nunca publique a chave publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Para obter mais informações, consulte Azure Key Vault.

  2. Execute o aplicativo com o python comando:

    python quickstart.py
    

    Aguarde alguns instantes para obter a resposta.

Resultado

A saída de uma chamada de API de geração de imagem bem-sucedida se parece com o exemplo a seguir. O url campo contém um URL onde pode descarregar a imagem gerada. O URL permanece ativo por 24 horas.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "url": "<URL_to_generated_image>",
            "revised_prompt": "<prompt_that_was_used>" 
        }
    ]
} 

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não gerará uma imagem. Para obter mais informações, consulte Filtragem de conteúdo. Para obter exemplos de respostas de erro, consulte o Guia de instruções sobre geração de imagens.

O sistema retorna um status de operação de Failed e o error.code valor 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. Nesse caso, a mensagem de erro é definida como 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."
    }
}

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para Python.

Código fonte da biblioteca | Pacote | Exemplos

Pré-requisitos

Configuração

Recuperar a chave e o endpoint

Para chamar com êxito as APIs do Azure OpenAI, você precisa das seguintes informações sobre seu recurso do Azure OpenAI:

Variável Nome Valor
Ponto final api_base O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para seu recurso no portal do Azure. Você também pode encontrar o ponto final através da página de Implementações no portal Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
Chave api_key O valor da chave também está localizado em Chaves e Endpoint para o seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer um dos valores.

Vá para o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto Final em Gerenciamento de Recursos. Copie o valor Endpoint e um valor de chave de acesso. Você pode usar o valor KEY 1 ou KEY 2 . Ter sempre duas chaves permite-lhe alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã que mostra a página de chaves e ponto de extremidade de um recurso do Azure OpenAI no portal do Azure.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações 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" 

Instalar o SDK do Python

Abra um prompt de comando e navegue até a pasta do projeto. Instale o OpenAI Python SDK usando o seguinte comando:

pip install openai

Instale também as seguintes bibliotecas:

pip install requests
pip install pillow 

Gerar imagens com DALL-E

Crie um novo arquivo python, quickstart.py. Abra-o no seu editor ou IDE preferido.

Substitua o conteúdo do quickstart.py pelo código a seguir.

from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json

client = AzureOpenAI(
    api_version="2024-02-01",  
    api_key=os.environ["AZURE_OPENAI_API_KEY"],  
    azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)

result = client.images.generate(
    model="dalle3", # the name of your DALL-E 3 deployment
    prompt="a close-up of a bear walking throughthe forest",
    n=1
)

json_response = json.loads(result.model_dump_json())

# 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')

# Retrieve the generated image
image_url = json_response["data"][0]["url"]  # extract image URL from response
generated_image = requests.get(image_url).content  # download the image
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()
  1. Insira o URL do ponto final e a chave nos campos apropriados.
  2. Altere o valor de prompt para o seu texto preferido.
  3. Altere o valor de model para o nome do modelo DALL-E 3 implantado.

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca publique a chave publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Para obter mais informações, consulte Azure Key Vault.

Execute o aplicativo com o python comando:

python quickstart.py

Aguarde alguns instantes para obter a resposta.

Resultado

O Azure OpenAI armazena a imagem de saída no arquivo generated_image.png no diretório especificado. O script também exibe a imagem no visualizador de imagens padrão.

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não gerará uma imagem. Para obter mais informações, consulte Filtragem de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para C#.

Código fonte da biblioteca | Pacote (NuGet) | Amostras

Pré-requisitos

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a Cognitive Services User função à sua conta de utilizador. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Configurar

  1. Crie uma nova pasta vision-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Crie um novo aplicativo de console com o seguinte comando:

    dotnet new console
    
  3. Instale a biblioteca de cliente OpenAI .NET com o comando dotnet add package :

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Para a autenticação sem chave recomendada com o Microsoft Entra ID, instale o pacote Azure.Identity com:

    dotnet add package Azure.Identity
    
  5. Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:

    az login
    

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Executar o arranque rápido

O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se preferir usar uma chave de API, você pode substituir o DefaultAzureCredential objeto por um AzureKeyCredential objeto.

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Para executar o início rápido, siga estes passos:

  1. Substitua o conteúdo de Program.cs pelo código a seguir e atualize os valores dos marcadores de posição com os 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("dalle-3");
    
    var imageGeneration = await chatClient.GenerateImageAsync(
            "a happy monkey sitting in a tree, in watercolor",
            new ImageGenerationOptions()
            {
                Size = GeneratedImageSize.W1024xH1024
            }
        );
    
    Console.WriteLine(imageGeneration.Value.ImageUri);
    
  2. Execute o aplicativo usando o dotnet run comando ou o botão Executar na parte superior do Visual Studio:

    dotnet run
    

Resultado

O URL da imagem gerada é impresso no console.

<SAS URL>

Observação

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.

Próximos passos

Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para Java.

Código fonte | Artifact (Maven) | Exemplos

Pré-requisitos

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a Cognitive Services User função à sua conta de utilizador. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Configurar

  1. Crie uma nova pasta vision-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Instale o Apache Maven. Em seguida, execute mvn -v para confirmar a instalação bem-sucedida.

  3. Crie um novo pom.xml arquivo 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-dall-e</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>
    
  4. Instale o SDK e as dependências do Azure OpenAI.

    mvn clean dependency:copy-dependencies
    
  5. Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:

    az login
    

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Executar o aplicativo

O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se preferir usar uma chave de API, você pode substituir o DefaultAzureCredential objeto por um AzureKeyCredential objeto.

OpenAIAsyncClient client = new OpenAIClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildAsyncClient();

Siga estas etapas para criar um aplicativo de console para reconhecimento de fala.

  1. Crie um novo arquivo chamado Quickstart.java no mesmo diretório raiz do projeto.

  2. 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);
        }
    }
    
  3. Execute seu novo aplicativo de console para gerar uma imagem:

    javac Quickstart.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" Quickstart
    

Resultado

O URL da imagem gerada é impresso no console.

Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.

Observação

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.

Próximos passos

Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para JavaScript.

Documentação de Referência | Código-fonte | Pacote (npm) | Amostras

Pré-requisitos

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a Cognitive Services User função à sua conta de utilizador. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Configurar

  1. Crie uma nova pasta image-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir image-quickstart && cd image-quickstart
    
  2. Crie o package.json com o seguinte comando:

    npm init -y
    
  3. Instale a biblioteca de cliente OpenAI para JavaScript com:

    npm install openai
    
  4. Para a autenticação sem senha recomendada :

    npm install @azure/identity
    

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Atenção

Para usar a autenticação sem chave recomendada com o SDK, verifique se a AZURE_OPENAI_API_KEY variável de ambiente não está definida.

Gerar imagens com DALL-E

  1. Crie o index.js arquivo com o seguinte código:

    const { AzureOpenAI } = require("openai");
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require("@azure/identity");
    
    // 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 || "2024-07-01";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3";
    
    // 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://cognitiveservices.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: "",
        style: "vivid", // or "natural"
      });
    
      for (const image of results.data) {
        console.log(`Image generation result URL: ${image.url}`);
      }
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. Entre no Azure com o seguinte comando:

    az login
    
  3. Execute o arquivo JavaScript.

    node index.js
    

Resultado

O URL da imagem gerada é impresso no console.

== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>

Observação

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.

Próximos passos

Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para JavaScript.

Documentação de Referência | Código-fonte | Pacote (npm) | Amostras

Pré-requisitos

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a Cognitive Services User função à sua conta de utilizador. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Configurar

  1. Crie uma nova pasta image-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir image-quickstart && cd image-quickstart
    
  2. Crie o package.json com o seguinte comando:

    npm init -y
    
  3. Atualize o package.json para ECMAScript com o seguinte comando:

    npm pkg set type=module
    
  4. Instale a biblioteca de cliente OpenAI para JavaScript com:

    npm install openai
    
  5. Para a autenticação sem senha recomendada :

    npm install @azure/identity
    

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Atenção

Para usar a autenticação sem chave recomendada com o SDK, verifique se a AZURE_OPENAI_API_KEY variável de ambiente não está definida.

Gerar imagens com DALL-E

  1. Crie o index.ts arquivo com o seguinte código:

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    
    // 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 || "2024-07-01";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.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: "",
        style: "vivid", // or "natural"
      });
    
      for (const image of results.data) {
        console.log(`Image generation result URL: ${image.url}`);
      }
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. Crie o tsconfig.json arquivo para transpilar o código TypeScript e copie o código a seguir 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"]
    }
    
  3. Converter TypeScript em JavaScript.

    tsc
    
  4. Entre no Azure com o seguinte comando:

    az login
    
  5. Execute o código com o seguinte comando:

    node index.js
    

Resultado

O URL da imagem gerada é impresso no console.

== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>

Observação

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.

Próximos passos

Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para Go.

Código fonte da biblioteca | Pacote | Exemplos

Pré-requisitos

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a Cognitive Services User função à sua conta de utilizador. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Configurar

  1. Crie uma nova pasta dall-e-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:

    az login
    

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Executar o arranque rápido

O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se preferir usar uma chave de API, você 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 o exemplo:

  1. Crie um novo arquivo chamado quickstart.go. Copie o código a seguir para o arquivo 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 := "dall-e-3"
    
    	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)
    	}
    }
    
  2. Execute o seguinte comando para criar um novo módulo Go:

     go mod init quickstart.go
    
  3. Execute go mod tidy para instalar as dependências necessárias:

    go mod tidy
    
  4. Execute o seguinte comando para executar o exemplo:

     go run quickstart.go
    

Resultado

O URL da imagem gerada é impresso no console.

Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>

Observação

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

Use este guia para começar a chamar o Azure OpenAI nas APIs de geração de imagem do Azure AI Foundry Models com o PowerShell.

Pré-requisitos

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a Cognitive Services User função à sua conta de utilizador. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Gerar imagens

  1. Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:

    az login
    
  2. Crie um novo arquivo do PowerShell chamado quickstart.ps1. Em seguida, abra-o no seu editor ou IDE preferido.

  3. Substitua o conteúdo de quickstart.ps1 pelo código a seguir. Insira o URL do ponto final e a chave nos campos apropriados. Altere o valor de prompt para o seu texto preferido.

     # Azure OpenAI metadata variables
     $openai = @{
         api_base    = $Env:AZURE_OPENAI_ENDPOINT 
         api_version = '2023-06-01-preview' # This can change in the future.
     }
    
     # 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]@{
         prompt = $prompt
         size   = '1024x1024'
         n      = 1
     } | ConvertTo-Json
    
     # Call the API to generate the image and retrieve the response
     $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)"
    
     $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders
    
     $operation_location = $submissionHeaders['operation-location'][0]
     $status = ''
     while ($status -ne 'succeeded') {
         Start-Sleep -Seconds 1
         $response = Invoke-RestMethod -Uri $operation_location -Headers $headers
         $status   = $response.status
     }
    
     # 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'
    
     # Retrieve the generated image
     $image_url = $response.result.data[0].url  # extract image URL from response
     $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path  # download the image
     return $image_path
    

    Importante

    Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Gerenciamento Secreto do PowerShell com o Cofre de Chaves do Azure. Para obter mais informações sobre segurança de credenciais, consulte este artigo de segurança .

  4. Execute o script usando o PowerShell:

    ./quickstart.ps1
    

    O script é executado até que a imagem gerada esteja pronta.

Resultado

O PowerShell solicita a imagem do Azure OpenAI e armazena a imagem de saída no arquivo generated_image.png no diretório especificado. Por conveniência, o caminho completo para o arquivo é retornado no final do script.

As APIs de imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não gerará uma imagem. Para obter mais informações, consulte Filtragem de conteúdo.

Limpeza de recursos

Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos