Partager via


Démarrage rapide : Générer des images avec Azure OpenAI dans les modèles Microsoft Foundry

Utilisez ce guide pour commencer à appeler Azure OpenAI dans les API REST de génération d’images Microsoft Foundry Models à l’aide de Python.

Conditions préalables

Configuration

Récupérer la clé et le point de terminaison

Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes relatives à votre ressource Azure OpenAI :

Variable Nom Valeur
Point de terminaison api_base La valeur du point de terminaison se trouve sous Clés et point de terminaison pour votre ressource dans le portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/.
Clé api_key La valeur de la clé se trouve également sous Clés et point de terminaison pour votre ressource dans le portail Azure. Azure génère deux clés pour votre ressource. Vous pouvez utiliser l’une ou l’autre de ces valeurs.

Accédez à votre ressource sur le portail Azure. Dans le volet de navigation, sélectionnez Clés et point de terminaison sous Gestion des ressources. Copiez la valeur Point de terminaison et une valeur de clé d’accès. Vous pouvez utiliser la valeur CLÉ 1 ou CLÉ 2. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.

Capture d’écran montrant la page Clés et point de terminaison pour une ressource Azure OpenAI dans le portail Azure.

Variables d'environnement

Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Utilisez les clés API avec précaution. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement. Si vous utilisez des clés API, stockez-les en lieu sûr dans Azure Key Vault, permutez les clés régulièrement, et limitez l’accès à Azure Key Vault en utilisant le contrôle d’accès en fonction du rôle et des restrictions d’accès réseau. Pour plus d’informations sur l’utilisation sécurisée des clés API dans vos applications, consultez Clés API avec Azure Key Vault.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Créer une application Python

Créez un fichier Python nommé quickstart.py. Ouvrez le nouveau fichier dans votre éditeur ou votre IDE favori.

  1. Remplacez le contenu de quickstart.py par le code suivant. Remplacez la valeur de prompt par votre texte de préférence. Définissez deployment également le nom de déploiement que vous avez choisi lorsque vous avez déployé le modèle 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")
    

    Le script effectue un appel d’API de génération d’images synchrone.

    Important

    N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la publiez jamais. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Pour plus d’informations, consultez Azure Key Vault.

  2. Exécutez l’application avec la commande python :

    python quickstart.py
    

    Attendez quelques instants pour obtenir une réponse.

Output

La sortie d’un appel d’API de génération d’images réussi ressemble à l’exemple ci-dessous. Le champ url contient une URL dans laquelle vous pouvez télécharger l’image générée. L’URL reste active pendant 24 heures.

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

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre requête comme contenu nuisible, il ne génère pas d’image. Pour plus d’informations, consultez l’article Filtrage du contenu. Pour obtenir des exemples de réponses d’erreur, consultez le guide pratique de génération d’images.

Le système retourne l’état d’opération Failed et la valeur error.code dans le message est définie sur contentFilter. Voici un exemple :

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Your task failed as a result of our safety system."
    }
}

Il est également possible que l’image générée soit elle-même filtrée. Dans ce cas, le message d’erreur est défini sur Generated image was filtered as a result of our safety system.. Voici un exemple :

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

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Étapes suivantes

Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Python.

Code source de la bibliothèque | Package | Échantillons

Conditions préalables

Configuration

Récupérer la clé et le point de terminaison

Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes relatives à votre ressource Azure OpenAI :

Variable Nom Valeur
Point de terminaison api_base La valeur du point de terminaison se trouve sous Clés et point de terminaison pour votre ressource dans le portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Microsoft Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/.
Clé api_key La valeur de la clé se trouve également sous Clés et point de terminaison pour votre ressource dans le portail Azure. Azure génère deux clés pour votre ressource. Vous pouvez utiliser l’une ou l’autre de ces valeurs.

Accédez à votre ressource sur le portail Azure. Dans le volet de navigation, sélectionnez Clés et point de terminaison sous Gestion des ressources. Copiez la valeur Point de terminaison et une valeur de clé d’accès. Vous pouvez utiliser la valeur CLÉ 1 ou CLÉ 2. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.

Capture d’écran montrant la page Clés et point de terminaison pour une ressource Azure OpenAI dans le portail Azure.

Variables d'environnement

Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Utilisez les clés API avec précaution. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement. Si vous utilisez des clés API, stockez-les en lieu sûr dans Azure Key Vault, permutez les clés régulièrement, et limitez l’accès à Azure Key Vault en utilisant le contrôle d’accès en fonction du rôle et des restrictions d’accès réseau. Pour plus d’informations sur l’utilisation sécurisée des clés API dans vos applications, consultez Clés API avec Azure Key Vault.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Installer le Kit de développement logiciel (SDK) Python

Ouvrez une invite de commandes et accédez à votre dossier de projet. Installez le kit de développement logiciel (SDK) Python OpenAI à l’aide de la commande suivante :

pip install openai

Installez également les bibliothèques suivantes :

pip install requests
pip install pillow 

Générer des images avec DALL-E

Créez un fichier Python nommé quickstart.py. Ouvrez-le dans l’éditeur ou l’IDE de votre choix.

Remplacez le contenu de quickstart.py par le code suivant.

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. Entrez l’URL et la clé de votre point de terminaison dans les champs appropriés.
  2. Remplacez la valeur de prompt par votre texte de préférence.
  3. Remplacez la valeur de model par le nom de votre modèle DALL-E 3 déployé.

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la publiez jamais. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Pour plus d’informations, consultez Azure Key Vault.

Exécutez l’application avec la commande python :

python quickstart.py

Attendez quelques instants pour obtenir une réponse.

Output

Azure OpenAI stocke l’image de sortie dans le fichier generated_image.png dans le répertoire spécifié. Le script affiche également l’image dans votre visionneuse d’images par défaut.

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre requête comme contenu nuisible, il ne génère pas d’image. Pour plus d’informations, consultez l’article Filtrage du contenu.

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Étapes suivantes

Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour C#.

Code source de la bibliothèque | Package (NuGet) | Exemples

Conditions préalables

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier vision-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Créez une application console avec la commande suivante :

    dotnet new console
    
  3. Installez la bibliothèque de client OpenAI .NET avec la commande dotnet add package :

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, installez le package Azure.Identity avec :

    dotnet add package Azure.Identity
    
  5. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :

    az login
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Exécuter le démarrage rapide

L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’objet DefaultAzureCredential par un AzureKeyCredential objet.

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

Pour exécuter le démarrage rapide, procédez comme suit :

  1. Remplacez le contenu de Program.cs par le code suivant et remplacez les valeurs d’espace réservé par vos propres valeurs.

    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. Exécutez l’application à l’aide de la commande dotnet run ou du bouton Exécuter en haut de Visual Studio :

    dotnet run
    

Output

L’URL de l’image générée s’affiche dans la console.

<SAS URL>

Remarque

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.

Nettoyer les ressources

Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.

Étapes suivantes

Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Java.

Code source de la bibliothèque | Artefact (Maven) | Exemples

Conditions préalables

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier vision-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Installez Apache Maven. Exécutez ensuite mvn -v pour confirmer la réussite de l’installation.

  3. Créez un fichier pom.xml à la racine de votre projet, puis copiez-y le code suivant :

    <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. Installez le Kit de développement logiciel (SDK) Azure OpenAI et les dépendances.

    mvn clean dependency:copy-dependencies
    
  5. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :

    az login
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Exécuter l’application

L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’objet DefaultAzureCredential par un AzureKeyCredential objet.

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

Suivez ces étapes pour créer une application console pour la reconnaissance vocale.

  1. Créez un fichier nommé Quickstart.java dans le même répertoire racine du projet.

  2. Copiez le code suivant dans 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. Exécutez votre nouvelle application console pour générer une image :

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

Output

L’URL de l’image générée s’affiche dans la console.

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

Remarque

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.

Nettoyer les ressources

Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.

Étapes suivantes

Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour JavaScript.

Documentation de référence | Code source | Package (npm) | Exemples

Conditions préalables

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier image-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir image-quickstart && cd image-quickstart
    
  2. Créez le package.json avec la commande suivante :

    npm init -y
    
  3. Installez la bibliothèque de client OpenAI pour JavaScript avec :

    npm install openai
    
  4. Pour l’authentification sans mot de passe recommandée :

    npm install @azure/identity
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Avertissement

Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY n’est pas définie.

Générer des images avec DALL-E

  1. Créez le fichier index.js avec le code suivant :

    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. Connectez-vous à Azure à l’aide de la commande suivante :

    az login
    
  3. Exécutez le fichier JavaScript.

    node index.js
    

Output

L’URL de l’image générée s’affiche dans la console.

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

Remarque

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.

Nettoyer les ressources

Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.

Étapes suivantes

Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour JavaScript.

Documentation de référence | Code source | Package (npm) | Exemples

Conditions préalables

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier image-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir image-quickstart && cd image-quickstart
    
  2. Créez le package.json avec la commande suivante :

    npm init -y
    
  3. Mettez à jour le package.json vers ECMAScript avec la commande suivante :

    npm pkg set type=module
    
  4. Installez la bibliothèque de client OpenAI pour JavaScript avec :

    npm install openai
    
  5. Pour l’authentification sans mot de passe recommandée :

    npm install @azure/identity
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Avertissement

Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY n’est pas définie.

Générer des images avec DALL-E

  1. Créez le fichier index.ts avec le code suivant :

    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. Créez le fichier tsconfig.json pour transpiler le code TypeScript et copiez le code suivant pour 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. Transpiler de TypeScript à JavaScript.

    tsc
    
  4. Connectez-vous à Azure à l’aide de la commande suivante :

    az login
    
  5. Exécutez le code avec la commande suivante :

    node index.js
    

Output

L’URL de l’image générée s’affiche dans la console.

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

Remarque

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.

Nettoyer les ressources

Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.

Étapes suivantes

Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Go.

Code source de la bibliothèque | Package | Échantillons

Conditions préalables

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier dall-e-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :

    az login
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Exécuter le démarrage rapide

L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’implémentation NewDefaultAzureCredential par NewKeyCredential.

azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)

Pour exécuter l’exemple :

  1. Créez un fichier nommé quickstart.go. Copiez le code suivant dans le fichier 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. Exécutez la commande suivante pour créer un module Go :

     go mod init quickstart.go
    
  3. Exécutez go mod tidy pour installer les dépendances requises :

    go mod tidy
    
  4. Exécutez la commande suivante pour exécuter l’exemple :

     go run quickstart.go
    

Output

L’URL de l’image générée s’affiche dans la console.

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

Remarque

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Étapes suivantes

Utilisez ce guide pour commencer à appeler les API de génération d’images Azure OpenAI dans Microsoft Foundry Models avec PowerShell.

Conditions préalables

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Générer des images

  1. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :

    az login
    
  2. Créez un fichier PowerShell appelé quickstart.ps1. Ensuite, ouvrez-le dans l’éditeur ou l’IDE de votre choix.

  3. Remplacez le contenu du fichier quickstart.ps1 par le code suivant. Entrez l’URL et la clé de votre point de terminaison dans les champs appropriés. Remplacez la valeur de prompt par votre texte de préférence.

     # 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
    

    Important

    Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification, comme La gestion des secrets PowerShell dans Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez cet article de sécurité .

  4. Exécutez le script à l’aide de PowerShell :

    ./quickstart.ps1
    

    Le script s’exécute en boucle jusqu’à ce que l’image générée soit prête.

Output

PowerShell demande l’image à Azure OpenAI et stocke l’image de sortie dans le fichier generated_image.png dans votre répertoire spécifié. Pour des raisons pratiques, le chemin d’accès complet du fichier est retourné à la fin du script.

Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre requête comme contenu nuisible, il ne génère pas d’image. Pour plus d’informations, consultez l’article Filtrage du contenu.

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Étapes suivantes

  • Explorez plus en détail les API d’image avec le guide pratique de l’API Image.

Utilisez ce guide pour commencer à générer des images avec Azure OpenAI dans votre navigateur avec Microsoft Foundry.

Conditions préalables

Accéder à Foundry

Accédez à Foundry et connectez-vous avec les informations d’identification associées à votre ressource Azure OpenAI. Pendant ou après le flux de travail de connexion, sélectionnez le répertoire approprié, l’abonnement Azure et la ressource Azure OpenAI.

Dans la page d’accueil Foundry, créez ou sélectionnez un projet. Accédez à la page Modèles + points de terminaison dans le volet de navigation gauche. Sélectionnez Déployer le modèle, puis choisissez l’un des modèles DALL-E dans la liste. Terminez le processus de déploiement.

Dans la page du modèle, sélectionnez Ouvrir dans le terrain de jeu.

Essayer la génération d’images

Commencez à découvrir les fonctionnalités Azure OpenAI avec une approche sans code grâce au terrain de jeu Images. Entrez votre invite d’images dans la zone de texte, puis sélectionnez Générer. Quand l’image générée par l’IA est prête, elle s’affiche sur la page.

Remarque

Les API Image sont fournies avec un filtre de modération de contenu. Si Azure OpenAI reconnaît votre invite comme étant du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article Filtrage du contenu.

Dans le terrain de jeu Images, vous pouvez également afficher des exemples de code Python et cURL préremplis en fonction de vos paramètres. Sélectionnez Afficher le code en haut de la page. Vous pouvez utiliser ce code pour écrire une application qui effectue la même tâche.

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Étapes suivantes