Guia de início rápido: gerar imagens com o Serviço OpenAI do Azure

Nota

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

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

Pré-requisitos

Ir para o Azure OpenAI Studio

Navegue até Azure OpenAI Studio e entre com as credenciais associadas ao seu recurso do Azure OpenAI. Durante ou após o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso do Azure OpenAI.

Na página inicial do Azure OpenAI Studio, selecione Playground de imagens para usar as APIs de geração de imagens. Selecione Configurações na parte superior da página e confirme se a lista suspensa Implantação tem sua implantação DALL-E 3 selecionada.

Experimente a geração de imagens

Comece a explorar os recursos do Azure OpenAI com uma abordagem sem código por meio do playground 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.

Nota

As APIs de geração 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.

Captura de ecrã da página inicial do Azure OpenAI Studio a mostrar o parque infantil DALL-E (Pré-visualização) com imagens geradas de ursos polares.

No playground Imagens, você também pode visualizar exemplos de código Python e cURL, que são pré-preenchidos de acordo com suas configuraçõ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.

Clean up resources (Limpar 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 Serviço OpenAI do Azure usando Python.

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

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 de extremidade por meio da página Implantações no Azure AI Studio. 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 Ponto de Extremidade para 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 rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de tela que mostra a página 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

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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.

    Você também precisa substituir <dalle3> na URL pelo nome de implantação escolhido quando implantou o modelo DALL-E 3. Inserir o nome do modelo resultará em um erro, a menos que você escolha um nome de implantação idêntico ao nome do modelo subjacente. Se você encontrar um erro, verifique novamente para se certificar de que você não tem uma duplicação da separação entre o ponto de extremidade e /openai/deployments./

    import requests
    import time
    import os
    api_base = os.environ['AZURE_OPENAI_ENDPOINT']  # Enter your endpoint here
    api_key = os.environ['AZURE_OPENAI_API_KEY']         # Enter your API key here
    
    api_version = '2024-02-01'
    url = f"{api_base}/openai/deployments/<dalle3>/images/generations?api-version={api_version}"
    headers= { "api-key": api_key, "Content-Type": "application/json" }
    body = {
        # Enter your prompt text here
        "prompt": "A multi-colored umbrella on the beach, disposable camera",
        "size": "1024x1024", # supported values are “1792x1024”, “1024x1024” and “1024x1792” 
        "n": 1, #The number of images to generate. Only n=1 is supported for DALL-E 3.
        "quality": "hd", # Options are “hd” and “standard”; defaults to standard 
        "style": "vivid" # Options are “natural” and “vivid”; defaults to “vivid”
    }
    submission = requests.post(url, headers=headers, json=body)
    
    image_url = submission.json()['data'][0]['url']
    
    print(image_url)
    

    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.

Saída

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 geração 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 do DALL-E.

O sistema retorna um status de operação de Failed e o error.code valor na mensagem é definido como contentFilter. Eis 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.. Eis um exemplo:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Generated image was filtered as a result of our safety system."
    }
}

Clean up resources (Limpar 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.

Exemplos de pacotes | de código-fonte | da biblioteca

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

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 de extremidade por meio da página Implantações no Azure AI Studio. 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 Ponto de Extremidade para 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 rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de tela que mostra a página 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

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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 e a chave do ponto final 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.

Saída

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 geração 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.

Clean up resources (Limpar 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#.

Pacote de código-fonte da biblioteca (NuGet) | Exemplos |

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.

Nome da variável Value
ENDPOINT O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no Azure AI Studio. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
API-KEY Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2.

Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1 ou KEY2. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de ecrã da IU de descrição geral de um recurso OpenAI do Azure no portal do Azure com a localização do ponto de extremidade e das chaves de acesso em vermelho.

Variáveis de ambiente

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

Importante

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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 nova aplicação .NET Core

Em uma janela de console (como cmd, PowerShell ou Bash), use o dotnet new comando para criar um novo aplicativo de console com o nome azure-openai-quickstart. Este comando cria um projeto "Hello World" simples com um único arquivo de origem C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Altere seu diretório para a pasta do aplicativo recém-criada. Você pode criar o aplicativo com:

dotnet build

A saída da compilação não deve conter avisos ou erros.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Instale o OpenAI .NET SDK

Instale a biblioteca de cliente com:

dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6

Gerar imagens com DALL-E

No diretório do projeto, abra o arquivo program.cs e substitua o conteúdo pelo seguinte código:

using Azure;
using Azure.AI.OpenAI;
using OpenAI.Images;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

AzureOpenAIClient azureClient = new(
    new Uri(endpoint),
    new AzureKeyCredential(key));

// This must match the custom deployment name you chose for your model
ImageClient chatClient = azureClient.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);

Crie e execute o aplicativo a partir do diretório do aplicativo com estes comandos:

dotnet build
dotnet run

Saída

O URL da imagem gerada é impresso no console.

https://dalleproduse.blob.core.windows.net/private/images/b7ac5e55-f1f8-497a-8d0e-8f51446bf538/generated_00.png?se=2024-07-12T13%3A47%3A56Z&sig=Zri37iYVTVtc52qzTFBOqPgSHvXwEhcO86Smv2ojB%2FE%3D&ske=2024-07-17T12%3A15%3A44Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2024-07-10T12%3A15%3A44Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Nota

As APIs de geração 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.

Clean up resources (Limpar 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 | da biblioteca Artifact (Maven) | Samples

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.

Nome da variável Value
ENDPOINT O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no Azure AI Studio. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
API-KEY Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2.

Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1 ou KEY2. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de ecrã da IU de descrição geral de um recurso OpenAI do Azure no portal do Azure com a localização do ponto de extremidade e das chaves de acesso em vermelho.

Variáveis de ambiente

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

Importante

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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 nova aplicação Java

Crie um novo projeto Gradle.

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.

mkdir myapp && cd myapp

Execute o comando a gradle init partir do seu diretório de trabalho. Este comando criará arquivos de compilação essenciais para o Gradle, incluindo build.gradle.kts, que é usado em tempo de execução para criar e configurar seu aplicativo.

gradle init --type basic

Quando solicitado a escolher uma DSL, selecione Kotlin.

Instalar o Java SDK

Este guia de início rápido usa o gerenciador de dependência do Gradle. Você pode encontrar a biblioteca do cliente e informações para outros gerenciadores de dependência no Maven Central Repository.

Localize build.gradle.kts e abra-o com o seu IDE ou editor de texto preferido. Em seguida, copie na seguinte configuração de compilação. Esta configuração define o projeto como uma aplicação Java cujo ponto de entrada é a classe OpenAIQuickstart. Ele importa a biblioteca do Azure AI Vision.

plugins {
    java
    application
}
application { 
    mainClass.set("OpenAIQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
    implementation("org.slf4j:slf4j-simple:1.7.9")
}

Gerar imagens com DALL-E

  1. Crie um arquivo Java.

    No diretório de trabalho, execute o seguinte comando para criar uma pasta de origem do projeto:

    mkdir -p src/main/java
    

    Navegue até a nova pasta e crie um arquivo chamado OpenAIQuickstart.java.

  2. Abra OpenAIQuickstart.java em seu editor ou IDE preferido e cole no código a seguir.

    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;
    
    /**
     * Sample demonstrates how to get the images for a given prompt.
     */
    public class OpenAIQuickstart {
    
        /**
         * Runs the sample algorithm and demonstrates how to get the images for a given prompt.
         *
         * @param args Unused. Arguments to the program.
         */
        public static void main(String[] args) throws InterruptedException {
    
            // Get key and endpoint from environment variables:
            String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY");
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
    
            OpenAIAsyncClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .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 is not a blocking call. For the purpose of this example, we sleep
            // the thread so the program does not end before the send operation is complete. Using .block() instead of
            // .subscribe() will turn this into a synchronous call.
            TimeUnit.SECONDS.sleep(10);
        }
    }
    
  3. Navegue de volta para a pasta raiz do projeto e crie o aplicativo com:

    gradle build
    

    Em seguida, execute-o com o gradle run comando:

    gradle run
    

Saída

O URL da imagem gerada é impresso no console.

Image location URL that provides temporary access to download the generated image is https://dalleproduse.blob.core.windows.net/private/images/d2ea917f-8802-4ad6-8ef6-3fb7a15c8482/generated_00.png?se=2023-08-25T23%3A11%3A28Z&sig=%2BKa5Mkb9U88DfvxoBpyAjamYRzwb7aVCEucM6XJC3wQ%3D&ske=2023-08-31T15%3A27%3A47Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-24T15%3A27%3A47Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02.
Completed getImages.

Nota

As APIs de geração 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.

Clean up resources (Limpar 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

  • Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
  • Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI

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

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

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.

Nome da variável Value
ENDPOINT O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no Azure AI Studio. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
API-KEY Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2.

Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1 ou KEY2. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de ecrã da IU de descrição geral de um recurso OpenAI do Azure no portal do Azure com a localização do ponto de extremidade e das chaves de acesso em vermelho.

Variáveis de ambiente

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

Importante

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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 um aplicativo de nó

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma. Em seguida, execute o npm init comando para criar um aplicativo de nó com um arquivo package.json .

npm init

Instalar a biblioteca de cliente

Instale as bibliotecas de cliente com:

npm install openai @azure/identity

O arquivo de package.json do seu aplicativo será atualizado com as dependências.

Gerar imagens com DALL-E

Crie um novo arquivo chamado ImageGeneration.js e abra-o em seu editor de código preferido. Copie o seguinte código para o arquivo ImageGeneration.js :

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"];

// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-07-01";
const deploymentName = "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);
});

Execute o script com o seguinte comando:

node ImageGeneration.js

Saída

O URL da imagem gerada é impresso no console.

== Batch Image Generation ==
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_00.png?se=2023-08-29T19%3A12%3A57Z&sig=655GkWajOZ9ALjFykZF%2FBMZRPQALRhf4UPDImWCQoGI%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_01.png?se=2023-08-29T19%3A12%3A57Z&sig=B24ymPLSZ3HfG23uojOD9VlRFGxjvgcNmvFo4yPUbEc%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Nota

As APIs de geração 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.

Clean up resources (Limpar 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 Pacote de código-fonte | (npm)Amostras |

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.

Nome da variável Value
ENDPOINT O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no Azure AI Studio. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
API-KEY Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2.

Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1 ou KEY2. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de ecrã da IU de descrição geral de um recurso OpenAI do Azure no portal do Azure com a localização do ponto de extremidade e das chaves de acesso em vermelho.

Variáveis de ambiente

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

Importante

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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 um aplicativo de nó

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma. Em seguida, execute o npm init comando para criar um aplicativo de nó com um arquivo package.json .

npm init

Instalar a biblioteca de cliente

Instale as bibliotecas de cliente com:

npm install openai @azure/identity

O arquivo de package.json do seu aplicativo será atualizado com as dependências.

Gerar imagens com DALL-E

Crie um novo arquivo chamado ImageGeneration.ts e abra-o em seu editor de código preferido. Copie o seguinte código para o arquivo ImageGeneration.ts :

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"];

// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-07-01";
const deploymentName = "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);
});
  1. Crie o aplicativo com o seguinte comando:

    tsc
    
  2. Execute o aplicativo com o seguinte comando:

    node ImageGeneration.js
    

Saída

O URL da imagem gerada é impresso no console.

== Batch Image Generation ==
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_00.png?se=2023-08-29T19%3A12%3A57Z&sig=655GkWajOZ9ALjFykZF%2FBMZRPQALRhf4UPDImWCQoGI%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_01.png?se=2023-08-29T19%3A12%3A57Z&sig=B24ymPLSZ3HfG23uojOD9VlRFGxjvgcNmvFo4yPUbEc%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Nota

As APIs de geração 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.

Clean up resources (Limpar 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.

Exemplos de pacotes | de código-fonte | da biblioteca

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.

Nome da variável Value
ENDPOINT O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no Azure AI Studio. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
API-KEY Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2.

Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1 ou KEY2. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de ecrã da IU de descrição geral de um recurso OpenAI do Azure no portal do Azure com a localização do ponto de extremidade e das chaves de acesso em vermelho.

Variáveis de ambiente

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

Importante

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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 um novo aplicativo Go

Abra o prompt de comando e navegue até a pasta do projeto. Crie um novo arquivo sample.go.

Instalar o SDK Go

Instale o OpenAI Go SDK usando o seguinte comando:

go get github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai@latest

Ou, se você usar depo , dentro da execução do repositório:

dep ensure -add github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai

Gerar imagens com DALL-E

Abra sample.go no seu editor de código preferido.

Adicione o seguinte código ao script:

package main

import (
	"context"
	"fmt"
	"net/http"
	"os"

	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)

func main() {
	azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")

	// Ex: "https://<your-azure-openai-host>.openai.azure.com"
	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")

	if azureOpenAIKey == "" || azureOpenAIEndpoint == "" {
		fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
		return
	}

	keyCredential := azcore.NewKeyCredential(azureOpenAIKey)

	client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)

	if err != nil {
		// handle error
	}

	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),
	}, nil)

	if err != nil {
		// handle error
	}

	for _, generatedImage := range resp.Data {
		// the underlying type for the generatedImage is dictated by the value of
		// ImageGenerationOptions.ResponseFormat. In this example we used `azopenai.ImageGenerationResponseFormatURL`,
		// so the underlying type will be ImageLocation.

		resp, err := http.Head(*generatedImage.URL)

		if err != nil {
			// handle error
		}

		fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL)
	}
}

Execute o script usando o go run comando:

go run sample.go

Saída

O URL da imagem gerada é impresso no console.

Image generated, HEAD request on URL returned 200
Image URL: https://dalleproduse.blob.core.windows.net/private/images/d7b28a5c-ca32-4792-8c2a-6a5d8d8e5e45/generated_00.png?se=2023-08-29T17%3A05%3A37Z&sig=loqntaPypYVr9VTT5vpbsjsCz31g1GsdoQi0smbGkks%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Nota

As APIs de geração 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.

Clean up resources (Limpar 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 de geração de imagem do Serviço OpenAI do Azure com o PowerShell.

Nota

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

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.

Nome da variável Value
ENDPOINT O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no Azure AI Studio. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/.
API-KEY Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2.

Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1 ou KEY2. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.

Captura de ecrã da IU de descrição geral de um recurso OpenAI do Azure no portal do Azure com a localização do ponto de extremidade e das chaves de acesso em vermelho.

Variáveis de ambiente

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

Importante

Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

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" 

Gerar imagens com DALL-E 2

  1. Crie um novo arquivo do PowerShell chamado quickstart.ps1. Abra o novo arquivo em seu editor ou IDE preferido.

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

    # Azure OpenAI metadata variables
    $openai = @{
      api_key     = $Env:AZURE_OPENAI_API_KEY
      api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
      api_version = '2023-06-01-preview' # this may change in the future
    }
    
    # Text to describe image
    $prompt = 'A painting of a dog'
    
    # Header for authentication
    $headers = [ordered]@{
      'api-key' = $openai.api_key
    }
    
    # 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 o artigo de segurança dos serviços de IA do Azure.

  3. Execute o script usando o PowerShell:

    ./quickstart.ps1
    

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

Saída

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 geração 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.

Clean up resources (Limpar 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