Démarrage rapide : Générer des images avec Azure OpenAI Service
Remarque
L’API de génération d’image crée une image à partir d’une invite de texte. Elle ne modifie pas les images existantes et ne crée pas de variantes.
Utilisez ce guide pour commencer à générer des images avec Azure OpenAI dans votre navigateur.
Prérequis
- Un abonnement Azure. Créez-en un gratuitement.
- Une ressource Azure OpenAI créée dans une région prise en charge. Consultez Disponibilité dans les régions.
- Ensuite, vous devez déployer un modèle
dalle3
avec votre ressource Azure. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Connectez-vous à Azure OpenAI Studio
Accédez à Azure OpenAI Studio 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.
Sur la page d’accueil Azure OpenAI Studio, sélectionnez Terrain de jeu Images pour utiliser les API de génération d’images. Sélectionnez Paramètres en haut de la page et vérifiez que la liste déroulante Déploiement a sélectionné votre déploiement DALL-E 3.
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 de génération d’images sont fournies avec un filtre de modération du 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
- Consultez la référence de l’API
Utilisez ce guide pour commencer à appeler les API REST de génération d’images Azure OpenAI Service à l’aide de Python.
Prérequis
- Un abonnement Azure. Créez-en un gratuitement.
- Python 3.8 ou version ultérieure.
- Installez les bibliothèques Python suivantes :
os
,requests
,json
. - Une ressource Azure OpenAI créée dans une région prise en charge. Consultez Disponibilité dans les régions.
- Ensuite, vous devez déployer un modèle
dalle3
avec votre ressource Azure. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes sur 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 Azure AI Studio. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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.
Remplacez le contenu du fichier quickstart.py par le code suivant. Remplacez la valeur de
prompt
par votre texte de préférence.Vous devez aussi remplacer
<dalle3>
dans l’URL par le nom de déploiement que vous avez choisi lors du déploiement du modèle DALL-E 3. L’entrée du nom du modèle entraîne une erreur, sauf si vous avez choisi un nom de déploiement identique au nom du modèle sous-jacent. Si vous rencontrez une erreur, vérifiez à nouveau que vous n'avez pas un doublement de la/
à la séparation entre votre point de terminaison et/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)
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.
Exécutez l’application avec la commande
python
:python quickstart.py
Attendez quelques instants pour obtenir une réponse.
Sortie
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 de génération d’images sont fournies avec un filtre de modération du contenu. Si le service reconnaît votre invite comme étant du 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 DALL-E.
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 elle-même soit 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
- Consultez la référence de l’API
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Python.
Code source de la bibliothèque | Package | Exemples
Prérequis
- Un abonnement Azure. Créez-en un gratuitement.
- Python 3.8 ou version ultérieure.
- Une ressource Azure OpenAI créée dans une région compatible. Consultez Disponibilité dans les régions.
- Ensuite, vous devez déployer un modèle
dalle3
avec votre ressource Azure. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes sur 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 Azure AI Studio. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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 du fichier 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()
- 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. - 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.
Sortie
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 de génération d’images sont fournies avec un filtre de modération du contenu. Si le service reconnaît votre invite comme étant du 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 de génération d’images avec le guide pratique DALL-E.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
- Consultez la référence de l’API
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
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Le SDK .NET 7
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans Azure AI Studio. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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éez une application .NET Core
Dans une fenêtre de console (par exemple cmd, PowerShell ou Bash), utilisez la commande dotnet new
pour créer une application console avec le nom azure-openai-quickstart
. Cette commande crée un projet « Hello World » simple avec un seul fichier source C# : Program.cs.
dotnet new console -n azure-openai-quickstart
Déplacez vos répertoires vers le dossier d’application nouvellement créé. Vous pouvez générer l’application avec :
dotnet build
La sortie de génération ne doit contenir aucun avertissement ni erreur.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installer le SDK .NET OpenAI
Installez la bibliothèque de client avec :
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Générer des images avec DALL-E
À partir du répertoire du projet, ouvrez le fichier program.cs et remplacez le contenu par le code suivant :
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);
Générez et exécutez l’application à partir de votre répertoire d’application avec ces commandes :
dotnet build
dotnet run
Sortie
L’URL de l’image générée s’affiche dans la 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
Remarque
Les API de génération d’images sont fournies avec un filtre de modération du 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
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
Prérequis
- Un abonnement Azure - En créer un gratuitement
- La version actuelle du JDK (Java Development Kit)
- L’outil de génération Gradle ou un autre gestionnaire de dépendances.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans Azure AI Studio. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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 Java
Créez un projet Gradle.
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.
mkdir myapp && cd myapp
Exécutez la commande gradle init
à partir de votre répertoire de travail. Cette commande crée des fichiers de build essentiels pour Gradle, notamment build.gradle.kts, qui est utilisé au moment de l’exécution pour créer et configurer votre application.
gradle init --type basic
Quand vous êtes invité à choisir un DSL, sélectionnez Kotlin.
Installer le Kit de développement logiciel (SDK) Java
Ce guide de démarrage rapide utilise le gestionnaire de dépendances Gradle. Vous trouverez la bibliothèque de client et des informations concernant d’autres gestionnaires de dépendances sur le référentiel central Maven.
Recherchez build.gradle.kts et ouvrez-le avec votre IDE ou votre éditeur de texte habituel. Copiez-y ensuite la configuration de build suivante. Cette configuration définit le projet sous forme d’application Java dont le point d’entrée est la classe OpenAIQuickstart. Cela importe la bibliothèque 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")
}
Générer des images avec DALL-E
Créez un fichier Java.
Dans votre répertoire de travail, exécutez la commande suivante pour créer un dossier de projet source :
mkdir -p src/main/java
Accédez au nouveau dossier et créez le fichier OpenAIQuickstart.java.
Ouvrez OpenAIQuickstart.java dans votre éditeur ou IDE préféré, et collez le code suivant.
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); } }
Revenez au dossier racine du projet et générez l’application avec :
gradle build
Ensuite, exécutez-la avec la commande
gradle run
:gradle run
Sortie
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 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.
Remarque
Les API de génération d’images sont fournies avec un filtre de modération du 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Consultez le référentiel GitHub Azure OpenAI samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
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
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Versions LTS de Node.js
- Azure CLI est utilisé pour l’authentification sans mot de passe dans un environnement de développement local. Créez le contexte nécessaire en vous connectant avec Azure CLI.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans Azure AI Studio. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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 Node
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y. Exécutez ensuite la commande npm init
pour créer une application de nœud avec un fichier package.json.
npm init
Installer la bibliothèque de client
Installez les bibliothèques de client avec :
npm install openai @azure/identity
Le fichier package.json de votre application est mis à jour avec les dépendances.
Générer des images avec DALL-E
Créez un fichier ImageGeneration.js et ouvrez-le avec votre éditeur de code préféré. Copiez le code suivant dans le fichier 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);
});
Exécutez le script avec la commande suivante :
node ImageGeneration.js
Sortie
L’URL de l’image générée s’affiche dans la 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
Remarque
Les API de génération d’images sont fournies avec un filtre de modération du 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
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
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Versions LTS de Node.js
- TypeScript
- Azure CLI est utilisé pour l’authentification sans mot de passe dans un environnement de développement local. Créez le contexte nécessaire en vous connectant avec Azure CLI.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans Azure AI Studio. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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 Node
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y. Exécutez ensuite la commande npm init
pour créer une application de nœud avec un fichier package.json.
npm init
Installer la bibliothèque de client
Installez les bibliothèques de client avec :
npm install openai @azure/identity
Le fichier package.json de votre application est mis à jour avec les dépendances.
Générer des images avec DALL-E
Créez un fichier appelé ImageGeneration.ts et ouvrez-le avec votre éditeur de code préféré. Copiez le code suivant dans le fichier 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);
});
Générez l’application avec la commande suivante :
tsc
Exécutez l’application avec la commande suivante :
node ImageGeneration.js
Sortie
L’URL de l’image générée s’affiche dans la 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
Remarque
Les API de génération d’images sont fournies avec un filtre de modération du 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Go.
Code source de la bibliothèque | Package | Exemples
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Go 1.8+
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans Azure AI Studio. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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 Go
Ouvrez l’invite de commandes et accédez au dossier de votre projet. Créez un fichier sample.go.
Installer le kit de développement logiciel (SDK) Go
Installez le SDK Go OpenAI avec la commande suivante :
go get github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai@latest
Sinon, si vous utilisez dep
, dans votre dépôt exécutez :
dep ensure -add github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai
Générer des images avec DALL-E
Ouvrez sample.go dans votre éditeur de code préféré.
Ajoutez le code suivant à votre 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)
}
}
Exécutez le script avec la commande go run
:
go run sample.go
Sortie
L’URL de l’image générée s’affiche dans la 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
Remarque
Les API de génération d’images sont fournies avec un filtre de modération du 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
- Explorez plus en détail les API de génération d’images avec le guide pratique DALL-E.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Utilisez ce guide pour commencer à appeler les API de génération d’images Azure OpenAI Service avec PowerShell.
Remarque
L’API de génération d’image crée une image à partir d’une invite de texte. Elle ne modifie pas les images existantes et ne crée pas de variantes.
Prérequis
- Un abonnement Azure. Créez-en un gratuitement.
- Pour cette tâche, la dernière version de PowerShell 7 est recommandée, car les exemples utilisent de nouvelles fonctionnalités non disponibles dans Windows PowerShell 5.1.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Programme d’installation
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans Azure AI Studio. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. 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.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes 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"
Générer des images avec DALL-E 2
Créez un fichier PowerShell nommé quickstart.ps1. Ouvrez le nouveau fichier dans votre éditeur ou votre IDE favori.
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_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
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 l’article de sécurité Azure AI services.
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.
Sortie
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 de génération d’images sont fournies avec un filtre de modération du contenu. Si le service reconnaît votre invite comme étant du 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 de génération d’images avec le guide pratique DALL-E.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.