Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Het DALL-E model dall-e-3 voor het genereren van beelden is op 4 maart 2026 buiten gebruik gesteld en is niet meer beschikbaar voor nieuwe implementaties. Bestaande implementaties zijn niet functioneel. Gebruik in plaats daarvan een gpt-image- seriemodel voor het genereren van afbeeldingen. Zie de instructiegids voor het genereren van afbeeldingen voor bijgewerkte instructies.
Met de modellen voor het genereren van afbeeldingen van OpenAI worden afbeeldingen gemaakt op basis van door de gebruiker verstrekte tekstprompts en optionele afbeeldingen. In dit artikel wordt uitgelegd hoe u deze modellen gebruikt, opties configureert en profiteert van geavanceerde mogelijkheden voor het genereren van installatiekopieën in Azure.
U kunt beeldgeneratie uitvoeren via de beeldgeneratie-API of responses-API. U kunt ook experimenteren met beeldgeneratie in het Foundry-portaal
Als u uw voorkeurs-API-benadering en -model wilt selecteren, gebruikt u de tabbladen aan het begin van deze pagina.
Modellen en mogelijkheden
Gebruik deze tabel voor meer informatie over de verschillen tussen de verschillende modellen voor het genereren van afbeeldingen en om u te helpen bij het kiezen van het beste model voor uw behoeften voor het genereren van afbeeldingen.
| Eigenschap | GPT-Image-2 | GPT-Image-1.5 | GPT-Image-1 | GPT-Image-1-Mini |
|---|---|---|---|---|
| Beschikbaarheid | Openbare preview | Preview van beperkte toegang (aanvragen voor GPT-image-1.5-toegang) | Preview van beperkte toegang (aanvragen voor GPT-image-1-toegang) | Preview van beperkte toegang (aanvragen voor GPT-image-1-toegang) |
| Sterke punten | Het meest geschikt voor het genereren van hoge resolutie en 4K, verbeterde afbeeldingsbewerking en brede ondersteuning voor hoogte-breedteverhouding | Het meest geschikt voor realisme, instructies volgen, multimodale context en verbeterde snelheid/kosten | Het beste voor realisme, instructies volgen en multimodale context | Het meest geschikt voor snelle prototypen, bulkgeneratie of kostengevoelige gebruiksvoorbeelden |
| Invoer-/uitvoermodaliteiten en -indeling | Accepteert tekst + afbeeldingsinvoer ; voert alleen afbeeldingen uit in base64 (geen URL-optie). | Accepteert tekst + afbeeldingsinvoer ; voert alleen afbeeldingen uit in base64 (geen URL-optie). | Accepteert tekst + afbeeldingsinvoer ; voert alleen afbeeldingen uit in base64 (geen URL-optie). | Accepteert tekst + afbeeldingsinvoer ; voert alleen afbeeldingen uit in base64 (geen URL-optie). |
| Afbeeldingsgrootten/resoluties | Willekeurige resoluties: beide randen moeten veelvouden van 16 px zijn; lange rand tot 3.840 px (4K); hoogte-breedteverhouding tot 3:1; pixelaantal 655.360-8.294.400 | 1024×1024, 1024×1536, 1536×1024 | 1024×1024, 1024×1536, 1536×1024 | 1024×1024, 1024×1536, 1536×1024 |
| Kwaliteitsopties | Aangepaste kwaliteitscontroles: low, medium, ; highlow is geoptimaliseerd voor latentiegevoelige use cases |
low, , medium( high standaard = hoog) |
low, , medium( high standaard = hoog) |
low, , medium( high standaard = gemiddeld) |
| Aantal afbeeldingen per verzoek | 1-10 afbeeldingen per aanvraag (n parameter) |
1-10 afbeeldingen per aanvraag (n parameter) |
1-10 afbeeldingen per aanvraag (n parameter) |
1-10 afbeeldingen per aanvraag (n parameter) |
| Bewerken (inpainting/variaties) | ✅ Verbeterde bewerkingsprestaties met inpainting en variaties | ✅ Ondersteunt inpainting en variaties met masker + prompt | ✅ Ondersteunt inpainting en variaties met masker + prompt | ✅ Ondersteunt inpainting en variaties met masker + prompt |
| Gezichtsbehoud | ✅ Geavanceerd gezichtsbehoud voor realistische, consistente resultaten | ✅ Geavanceerd gezichtsbehoud voor realistische, consistente resultaten | ✅ Geavanceerd gezichtsbehoud voor realistische, consistente resultaten | ❌ Geen toegewezen gezichtsbehoud; beter voor niet-portret/algemene creatieve beelden |
| Prestaties en kosten | Hoogwaardige weergave, realism-optimized model; hogere latentie en kosten | Hoge nauwkeurigheid, voor realisme geoptimaliseerd model; verbeterde efficiëntie en latentie ten opzichte van GPT-Image-1 | Hoogwaardige weergave, realism-optimized model; hogere latentie en kosten | Kostenefficiënt en sneller voor grootschalige of iteratieve generatie |
Snelstart
Gebruik deze handleiding om aan de slag te gaan met het oproepen van de Azure OpenAI in de REST-API's voor afbeeldingsgeneratie van Microsoft Foundry Models met behulp van Python.
Voorwaarden
- Een Azure-abonnement. Maak er gratis een.
- Python versie 3.8 of hoger.
- De volgende Python bibliotheken zijn geïnstalleerd:
os,requests,json. - Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio. Zie beschikbaarheid van regio's.
- Vervolgens moet u een model van de gpt-image-serie implementeren met uw Azure resource. Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
Installatie
Sleutel en eindpunt ophalen
Als u de Azure OpenAI-API's wilt aanroepen, hebt u de volgende informatie nodig over uw Azure OpenAI-resource:
| Variabele | Naam | Waarde |
|---|---|---|
| Eindpunt | api_base |
De eindpuntwaarde bevindt zich onder Keys en Endpoint voor uw resource in de Azure-portal. U kunt het eindpunt ook vinden via de pagina Implementaties in de Foundry-portal. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/. |
| Sleutel | api_key |
De sleutelwaarde bevindt zich ook onder Keys en Endpoint voor uw resource in de Azure-portal. Azure twee sleutels voor uw resource genereert. U kunt beide waarden gebruiken. |
Ga naar uw resource in de Azure-portal. Selecteer sleutels en eindpunt in het navigatiedeelvenster onder Resourcebeheer. Kopieer de eindpuntwaarde en een toegangssleutelwaarde. U kunt de waarde KEY 1 of KEY 2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
We raden Microsoft Entra ID-authenticatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen bij uw toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Authenticate requests to Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Een nieuwe Python-toepassing maken
Maak een nieuw Python-bestand met de naam quickstart.py. Open het nieuwe bestand in de gewenste editor of IDE.
Vervang de inhoud van quickstart.py door de volgende code. Wijzig de waarde van
promptnaar uw gewenste tekst. Steldeploymentook in op de implementatienaam die u hebt gekozen bij het uitrollen van het beeldgeneratiemodel.import os import requests import base64 from PIL import Image from io import BytesIO # set environment variables endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") subscription_key = os.getenv("AZURE_OPENAI_API_KEY") deployment = "gpt-image-1.5" # the name of your GPT-image series deployment api_version = "2025-04-01-preview" # or later version def decode_and_save_image(b64_data, output_filename): image = Image.open(BytesIO(base64.b64decode(b64_data))) image.show() image.save(output_filename) def save_all_images_from_response(response_data, filename_prefix): for idx, item in enumerate(response_data['data']): b64_img = item['b64_json'] filename = f"{filename_prefix}_{idx+1}.png" decode_and_save_image(b64_img, filename) print(f"Image saved to: '{filename}'") base_path = f'openai/deployments/{deployment}/images' params = f'?api-version={api_version}' generation_url = f"{endpoint}{base_path}/generations{params}" generation_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium", "output_format": "png", # "background": "transparent", # "auto" or "transparent" (GPT-image-1 only; requires PNG output) # "output_compression": 100, # 0-100 compression level (JPEG output only) } generation_response = requests.post( generation_url, headers={ 'Api-Key': subscription_key, 'Content-Type': 'application/json', }, json=generation_body ).json() save_all_images_from_response(generation_response, "generated_image") # In addition to generating images, you can edit them. edit_url = f"{endpoint}{base_path}/edits{params}" edit_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium" } files = { "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"), # You can use a mask to specify which parts of the image you want to edit. # The mask must be the same size as the input image. # "mask": ("mask.png", open("mask.png", "rb"), "image/png"), } edit_response = requests.post( edit_url, headers={'Api-Key': subscription_key}, data=edit_body, files=files ).json() save_all_images_from_response(edit_response, "edited_image")Het script doet een synchrone API-aanroep voor beeldgeneratie.
Belangrijk
Vergeet niet om de sleutel uit uw code te verwijderen wanneer u klaar bent en plaats uw sleutel nooit openbaar. Gebruik in de productieomgeving een veilige manier om uw referenties op te slaan en te openen. Zie Azure Key Vault voor meer informatie.
Voer de toepassing uit met de
pythonopdracht:python quickstart.pyWacht even om het antwoord te krijgen.
Uitvoer
De uitvoer van een geslaagde API-aanroep voor het genereren van afbeeldingen ziet eruit als in het volgende voorbeeld. Het b64_json veld bevat de met base64 gecodeerde uitvoerafbeeldingsgegevens.
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
Een geslaagd antwoord omvat:
- Een
createdtijdstempel (Unix-tijdsperiode) - Een
dataarray met ten minste één afbeeldingsobject - eenb64_jsonwaarde (base64-gecodeerde afbeeldingsgegevens) voor elke gegenereerde afbeelding
Veelvoorkomende fouten
| Fout | Oorzaak | Resolutie |
|---|---|---|
DeploymentNotFound |
De implementatienaam bestaat niet of is onjuist gespeld | Controleer of verifieer de naam van de implementatie in de Azure-portal of Foundry-portal. |
401 Unauthorized |
Ongeldige of ontbrekende API-sleutel | Controleer of uw AZURE_OPENAI_API_KEY omgevingsvariabele juist is ingesteld |
429 Too Many Requests |
Snelheidslimiet overschreden | Implementeer logica voor opnieuw proberen met exponentieel terugvalmechanisme. |
content_policy_violation |
Prompt of gegenereerde uitvoer geblokkeerd door inhoudsfilter | Wijzig de prompt om te voldoen aan het inhoudsbeleid |
InvalidPayload |
Ontbrekende vereiste parameters of ongeldige waarden | Controleer of prompt, sizeen n juist zijn opgegeven |
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie. Zie de handleiding voor het genereren van afbeeldingen voor voorbeelden van foutreacties.
Het systeem retourneert een bewerkingsstatus van Failed en de error.code waarde in het bericht is ingesteld op contentFilter. Hier volgt een voorbeeld:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Het is ook mogelijk dat de gegenereerde afbeelding zelf wordt gefilterd. In dit geval is het foutbericht ingesteld op Generated image was filtered as a result of our safety system.. Hier volgt een voorbeeld:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik deze handleiding om aan de slag te gaan met het genereren van afbeeldingen met de Azure OpenAI SDK voor Python.
Bibliotheekbroncode | Pakket | Voorbeelden
Voorwaarden
- Een Azure-abonnement. Maak er gratis een.
- Python versie 3.8 of hoger.
- Een Azure OpenAI-resource die is gemaakt in een compatibele regio. Zie beschikbaarheid van regio's.
- Open het Azure OpenAI-resource-eindpunt en -sleutels in de Azure-portal.
- Een uitgerold afbeeldingsgeneratiemodel:
-
GPT-image-1-serie: Een
gpt-image-1-serie model inzetten. Vereist beperkte toegangsregistratie.
-
GPT-image-1-serie: Een
Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
Installatie
Sleutel en eindpunt ophalen
Als u de Azure OpenAI-API's wilt aanroepen, hebt u de volgende informatie nodig over uw Azure OpenAI-resource:
| Variabele | Naam | Waarde |
|---|---|---|
| Eindpunt | api_base |
De eindpuntwaarde bevindt zich onder Keys en Endpoint voor uw resource in de Azure-portal. U kunt het eindpunt ook vinden via de pagina Deployments in Microsoft Foundry-portal. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/. |
| Sleutel | api_key |
De sleutelwaarde bevindt zich ook onder Keys en Endpoint voor uw resource in de Azure-portal. Azure twee sleutels voor uw resource genereert. U kunt beide waarden gebruiken. |
Ga naar uw resource in de Azure-portal. Selecteer sleutels en eindpunt in het navigatiedeelvenster onder Resourcebeheer. Kopieer de eindpuntwaarde en een toegangssleutelwaarde. U kunt de waarde KEY 1 of KEY 2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
We raden Microsoft Entra ID-authenticatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen bij uw toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Authenticate requests to Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
De Python SDK installeren
Open een opdrachtprompt en blader naar de projectmap. Installeer de OpenAI Python SDK met behulp van de volgende opdracht:
pip install openai
Installeer ook de volgende bibliotheken:
pip install requests
pip install pillow
Afbeeldingen genereren
Maak een nieuw Python-bestand quickstart.py. Open deze in uw favoriete editor of IDE.
Vervang de inhoud van quickstart.py door de volgende code.
from openai import AzureOpenAI
import os
import base64
from PIL import Image
client = AzureOpenAI(
api_version="2025-04-01-preview",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
result = client.images.generate(
model="gpt-image-1", # the name of your GPT-image series deployment
prompt="a close-up of a bear walking through the forest",
n=1,
size="1024x1024",
quality="high",
output_format="png",
# background="transparent", # Set to "transparent" for transparent backgrounds (GPT-image-1 only; requires PNG)
# output_compression=100, # 0-100 compression level (JPEG output only)
)
# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')
# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')
# GPT-image-1 models always return base64-encoded image data
image_base64 = result.data[0].b64_json
generated_image = base64.b64decode(image_base64)
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
- Zorg ervoor dat de
AZURE_OPENAI_ENDPOINTenAZURE_OPENAI_API_KEYomgevingsvariabelen zijn ingesteld. - Wijzig de waarde van
promptnaar uw gewenste tekst. - Wijzig de waarde van
modelnaar de naam van uw geïmplementeerde GPT-afbeeldingenreeksmodel.
Belangrijk
Vergeet niet om de sleutel uit uw code te verwijderen wanneer u klaar bent en plaats uw sleutel nooit openbaar. Gebruik in de productieomgeving een veilige manier om uw referenties op te slaan en te openen. Zie Azure Key Vault voor meer informatie.
Voer de toepassing uit met de python opdracht:
python quickstart.py
Wacht even om het antwoord te krijgen.
Uitvoer
Azure OpenAI slaat de uitvoerafbeelding op in het bestand generated_image.png in de opgegeven map. Het script toont ook de afbeelding in uw standaard fotoviewer.
Een geslaagd antwoord omvat:
- Een
createdtijdstempel - Een
datamatrix met ten minste één afbeeldingsobject - Een
b64_jsonveld met base64-gecodeerde afbeeldingsgegevens (GPT-image-1-modellen retourneren altijd base64)
Veelvoorkomende fouten
| Fout | Oorzaak | Resolutie |
|---|---|---|
DeploymentNotFound |
De implementatienaam bestaat niet of is onjuist gespeld | Controleer of verifieer de naam van de implementatie in de Azure-portal of Foundry-portal. |
AuthenticationError |
Ongeldige of ontbrekende API-sleutel | Controleer of uw AZURE_OPENAI_API_KEY omgevingsvariabele juist is ingesteld |
RateLimitError |
Snelheidslimiet overschreden | Implementeer logica voor opnieuw proberen met exponentieel terugvalmechanisme. |
content_policy_violation |
Prompt of gegenereerde uitvoer geblokkeerd door inhoudsfilter | Wijzig de prompt om te voldoen aan het inhoudsbeleid |
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik deze handleiding om aan de slag te gaan met het genereren van afbeeldingen met de Azure OpenAI SDK voor C#.
Bibliotheekbroncode | Package (NuGet) | Voorbeelden
Voorwaarden
- Een Azure-abonnement - Maak er gratis een
- De .NET 7 SDK
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie Region-beschikbaarheid). Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
vereisten voor Microsoft Entra ID
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra ID.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.
Instellen
Maak een nieuwe map
image-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir image-quickstart && cd image-quickstartMaak een nieuwe consoletoepassing met de volgende opdracht:
dotnet new consoleInstalleer de OpenAI .NET clientbibliotheek met de opdracht dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID, installeer het Azure.Identity pakket met:
dotnet add package Azure.IdentityMeld u aan bij Azure voor de aanbevolen sleutelloze authenticatie met Microsoft Entra ID met de volgende opdracht:
az login
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Variabelenaam | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Keys en Endpoint bij het onderzoeken van uw resource vanuit de Azure-portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u voor uw implementatie hebt gekozen bij het implementeren van een model. Deze waarde vindt u onder Resource Management>Model Deployments in de Azure-portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
De quickstart uitvoeren
De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra ID voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u het DefaultAzureCredential object vervangen door een AzureKeyCredential object.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Voer de volgende stappen uit om de quickstart uit te voeren:
Vervang de inhoud van
Program.csdoor de volgende code en werk de waarden van de tijdelijke aanduidingen bij met uw eigen waarden.using Azure; using Azure.AI.OpenAI; using OpenAI.Images; using static System.Environment; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); // This must match the custom deployment name you chose for your model ImageClient chatClient = openAIClient.GetImageClient("gpt-image-1"); var imageGeneration = await chatClient.GenerateImageAsync( "a happy monkey sitting in a tree, in watercolor", new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); Console.WriteLine(imageGeneration.Value.ImageUri);Voer de toepassing uit met behulp van de opdracht
dotnet runof de knop Uitvoeren bovenaan Visual Studio:dotnet run
Uitvoer
De met base64 gecodeerde afbeeldingsgegevens worden afgedrukt naar de console.
Belangrijk
GPT-image-1 en GPT-image-2 ondersteunen ook aanvullende parameters zoals quality (low, medium, high), output_format (png, jpeg), background (auto, transparent), en output_compression (0-100, alleen JPEG). Zie API-opties voor meer informatie.
Opmerking
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Gebruik deze handleiding om aan de slag te gaan met het genereren van afbeeldingen met de Azure OpenAI SDK voor Java.
Bibliotheekbroncode | Artifact (Maven) | Voorbeelden
Voorwaarden
- Een Azure-abonnement - Maak er gratis een
- De huidige versie van de Java Development Kit (JDK)
- Installeer Apache Maven.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie Region-beschikbaarheid). Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
vereisten voor Microsoft Entra ID
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra ID.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.
Instellen
Maak een nieuwe map
image-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir image-quickstart && cd image-quickstartInstalleer Apache Maven. Voer vervolgens uit
mvn -vom de installatie te bevestigen.Maak een nieuw
pom.xmlbestand in de hoofdmap van uw project en kopieer de volgende code erin:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.azure.samples</groupId> <artifactId>quickstart-image-generation</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-openai</artifactId> <version>1.0.0-beta.3</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-core</artifactId> <version>1.53.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.9</version> </dependency> </dependencies> </project>Installeer de Azure OpenAI SDK en afhankelijkheden.
mvn clean dependency:copy-dependenciesMeld u aan bij Azure voor de aanbevolen sleutelloze authenticatie met Microsoft Entra ID met de volgende opdracht:
az login
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Variabelenaam | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Keys en Endpoint bij het onderzoeken van uw resource vanuit de Azure-portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u voor uw implementatie hebt gekozen bij het implementeren van een model. Deze waarde vindt u onder Resource Management>Model Deployments in de Azure-portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
De app uitvoeren
De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra ID voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u het DefaultAzureCredential object vervangen door een AzureKeyCredential object.
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Volg deze stappen om een consoletoepassing te maken voor het genereren van afbeeldingen.
Maak een nieuw bestand met de naam Quickstart.java in dezelfde hoofdmap van het project.
Kopieer de volgende code naar 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); } }Voer uw nieuwe consoletoepassing uit om een afbeelding te genereren.
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Uitvoer
De URL van de gegenereerde afbeelding wordt afgedrukt naar de console.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Belangrijk
GPT-image-1 ondersteunt ook aanvullende parameters zoals quality (low, medium, high), output_format (png, jpeg), (, ), background (auto, transparent) en output_compression (alleen 0-100, JPEG). Zie API-opties voor meer informatie.
Opmerking
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Gebruik deze handleiding om te beginnen met het genereren van afbeeldingen met de Azure OpenAI SDK voor JavaScript.
Referentiedocumentatie | Broncode | Package (npm) | Voorbeelden
Voorwaarden
- Een Azure-abonnement - Maak er gratis een
- LTS-versies van Node.js
- Azure CLI gebruikt voor verificatie zonder wachtwoord in een lokale ontwikkelomgeving, maakt u de benodigde context door u aan te melden met de Azure CLI.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie Region-beschikbaarheid). Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
vereisten voor Microsoft Entra ID
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra ID.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.
Installatie
Maak een nieuwe map
image-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir image-quickstart && cd image-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yInstalleer de OpenAI-clientbibliotheek voor JavaScript met:
npm install openaiVoor de aanbevolen verificatie zonder wachtwoord:
npm install @azure/identity
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Variabelenaam | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Keys en Endpoint bij het onderzoeken van uw resource vanuit de Azure-portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u voor uw implementatie hebt gekozen bij het implementeren van een model. Deze waarde vindt u onder Resource Management>Model Deployments in de Azure-portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Voorzichtigheid
Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY omgevingsvariabele niet is ingesteld.
Afbeeldingen genereren
Maak het
index.jsbestand met de volgende code:const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); const fs = require("fs"); // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-image-1"; // The prompt to generate images from const prompt = "a monkey eating a banana"; const numberOfImagesToGenerate = 1; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient() { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", quality: "high", // output_format: "png", // "png" or "jpeg" (GPT-image-1 only) // background: "transparent", // "auto" or "transparent" (GPT-image-1 only, requires PNG) }); // GPT-image-1 models always return base64-encoded images for (const image of results.data) { const imageBuffer = Buffer.from(image.b64_json, "base64"); fs.writeFileSync("generated_image.png", imageBuffer); console.log("Image saved to generated_image.png"); } } main().catch((err) => { console.error("The sample encountered an error:", err); });Meld u aan bij Azure met de volgende opdracht:
az loginVoer het JavaScript-bestand uit.
node index.js
Uitvoer
De gegenereerde afbeelding wordt opgeslagen in generated_image.png in de huidige map.
== Image Generation ==
Image saved to generated_image.png
Opmerking
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Gebruik deze handleiding om te beginnen met het genereren van afbeeldingen met de Azure OpenAI SDK voor JavaScript.
Referentiedocumentatie | Broncode | Package (npm) | Voorbeelden
Voorwaarden
- Een Azure-abonnement - Maak er gratis een
- LTS-versies van Node.js
- TypeScript
- Azure CLI gebruikt voor verificatie zonder wachtwoord in een lokale ontwikkelomgeving, maakt u de benodigde context door u aan te melden met de Azure CLI.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie Region-beschikbaarheid). Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
vereisten voor Microsoft Entra ID
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra ID.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.
Installatie
Maak een nieuwe map
image-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir image-quickstart && cd image-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yWerk
package.jsonbij naar ECMAScript met het volgende commando:npm pkg set type=moduleInstalleer de OpenAI-clientbibliotheek voor JavaScript met:
npm install openaiVoor de aanbevolen verificatie zonder wachtwoord:
npm install @azure/identity
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Variabelenaam | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Keys en Endpoint bij het onderzoeken van uw resource vanuit de Azure-portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u voor uw implementatie hebt gekozen bij het implementeren van een model. Deze waarde vindt u onder Resource Management>Model Deployments in de Azure-portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Voorzichtigheid
Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY omgevingsvariabele niet is ingesteld.
Afbeeldingen genereren
Maak het
index.tsbestand met de volgende code:import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; import * as fs from "fs"; // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-image-1"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", quality: "high", // output_format: "png", // "png" or "jpeg" (GPT-image-1 only) // background: "transparent", // "auto" or "transparent" (GPT-image-1 only, requires PNG) }); // GPT-image-1 models always return base64-encoded images for (const image of results.data) { const imageBuffer = Buffer.from(image.b64_json!, "base64"); fs.writeFileSync("generated_image.png", imageBuffer); console.log("Image saved to generated_image.png"); } } main().catch((err) => { console.error("The sample encountered an error:", err); });Maak het
tsconfig.jsonbestand om de TypeScript-code te transpileren en kopieer de volgende code voor 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"] }De code omzetten van TypeScript naar JavaScript.
tscMeld u aan bij Azure met de volgende opdracht:
az loginVoer de code uit met de volgende opdracht:
node index.js
Uitvoer
De gegenereerde afbeelding wordt opgeslagen in generated_image.png in de huidige map.
== Image Generation ==
Image saved to generated_image.png
Opmerking
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Gebruik deze handleiding om te beginnen met het genereren van afbeeldingen met de Azure OpenAI SDK voor Go.
Library-broncode | Pakket | Voorbeelden
Voorwaarden
- Een Azure-abonnement - Maak er gratis een
- Go 1.8+
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie Region-beschikbaarheid). Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
vereisten voor Microsoft Entra ID
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra ID.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.
Installatie
Maak een nieuwe map
dall-e-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir dall-e-quickstart && cd dall-e-quickstartMeld u aan bij Azure voor de aanbevolen sleutelloze authenticatie met Microsoft Entra ID met de volgende opdracht:
az login
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Variabelenaam | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Keys en Endpoint bij het onderzoeken van uw resource vanuit de Azure-portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u voor uw implementatie hebt gekozen bij het implementeren van een model. Deze waarde vindt u onder Resource Management>Model Deployments in de Azure-portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
De quickstart uitvoeren
De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra ID voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u de NewDefaultAzureCredential implementatie vervangen door NewKeyCredential.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Het voorbeeld uitvoeren:
Maak een nieuw bestand met de naam quickstart.go. Kopieer de volgende code naar het bestand quickstart.go .
package main import ( "context" "fmt" "net/http" "os" "log" "github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) func main() { azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT") modelDeploymentID := "gpt-image-1" credential, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Printf("ERROR: %s", err) return } client, err := azopenai.NewClient( azureOpenAIEndpoint, credential, nil) if err != nil { log.Printf("ERROR: %s", err) return } resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{ Prompt: to.Ptr("A painting of a cat in the style of Dali."), ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL), DeploymentName: to.Ptr(modelDeploymentID), }, nil) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } for _, generatedImage := range resp.Data { // The underlying type for the generatedImage is determined by the value of // ImageGenerationOptions.ResponseFormat. // In this example we use `azopenai.ImageGenerationResponseFormatURL`, // so the underlying type will be ImageLocation. resp, err := http.Head(*generatedImage.URL) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL) } }Voer de volgende opdracht uit om een nieuwe Go-module te maken:
go mod init quickstart.goVoer deze opdracht uit
go mod tidyom de vereiste afhankelijkheden te installeren:go mod tidyVoer de volgende opdracht uit om het voorbeeld uit te voeren:
go run quickstart.go
Uitvoer
De URL van de gegenereerde afbeelding wordt afgedrukt naar de console.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Belangrijk
GPT-image-1-modellen retourneren altijd base64-gecodeerde afbeeldingsgegevens in plaats van URL's. Als uw SDK-versie een URL retourneert voor DALL-E modellen, moet u het base64-antwoord voor GPT-image-1-implementaties verwerken. GPT-image-1 ondersteunt ook aanvullende parameters zoals quality (low, medium, high), output_format (png, jpeg), (, ), background (auto, transparent) en output_compression (alleen 0-100, JPEG). Zie API-opties voor meer informatie.
Opmerking
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik deze handleiding om aan de slag te gaan met het aanroepen van de Azure OpenAI API's in Microsoft Foundry Models voor het genereren van afbeeldingen met PowerShell.
Voorwaarden
- Een Azure-abonnement. Maak er gratis een.
- Voor deze taak wordt de nieuwste versie van PowerShell 7 aanbevolen omdat in de voorbeelden nieuwe functies worden gebruikt die niet beschikbaar zijn in Windows PowerShell 5.1.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie Region-beschikbaarheid). Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
vereisten voor Microsoft Entra ID
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra ID.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Variabelenaam | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Keys en Endpoint bij het onderzoeken van uw resource vanuit de Azure-portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u voor uw implementatie hebt gekozen bij het implementeren van een model. Deze waarde vindt u onder Resource Management>Model Deployments in de Azure-portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Afbeeldingen genereren
Meld u aan bij Azure voor de aanbevolen sleutelloze authenticatie met Microsoft Entra ID met de volgende opdracht:
az loginHaal een Azure OpenAI-verificatietoken op en stel dit in als een omgevingsvariabele voor de huidige PowerShell-sessie:
$Env:DEFAULT_AZURE_CREDENTIAL_TOKEN = az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsvMaak een nieuw PowerShell-bestand met de naamquickstart.ps1. Open deze vervolgens in uw favoriete editor of IDE.
Vervang de inhoud van quickstart.ps1 door de volgende code. Zorg ervoor dat
AZURE_OPENAI_ENDPOINTis ingesteld en wijzig de waarde vanpromptnaar de door u gewenste tekst.Als u API-sleutelverificatie wilt gebruiken in plaats van sleutelloze verificatie, configureert u
AZURE_OPENAI_API_KEYen decommenteert u de regel'api-key'.# Azure OpenAI metadata variables $openai = @{ api_base = $Env:AZURE_OPENAI_ENDPOINT deployment = 'gpt-image-1' # set to the name of your model deployment } # Use the recommended keyless authentication via bearer token. $headers = [ordered]@{ #'api-key' = $Env:AZURE_OPENAI_API_KEY 'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)" } # Text to describe image $prompt = 'A painting of a dog' # Adjust these values to fine-tune completions $body = [ordered]@{ model = $openai.deployment # required: the name of your model deployment prompt = $prompt size = '1024x1024' n = 1 quality = 'high' output_format = 'png' # background = 'transparent' # 'auto' or 'transparent' (GPT-image-1 only; requires PNG output) # output_compression = 100 # 0-100 compression level (JPEG output only) } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/v1/images/generations?api-version=preview" $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Decode the base64 image and save to file $image_bytes = [Convert]::FromBase64String($response.data[0].b64_json) [IO.File]::WriteAllBytes($image_path, $image_bytes) return $image_pathBelangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en toegang te krijgen tot, zoals PowerShell Secret Management met Azure Key Vault. Zie dit beveiligingsartikel voor meer informatie over referentiebeveiliging.
Voer het script uit met behulp van PowerShell:
./quickstart.ps1Het script genereert de afbeelding en slaat deze op.
Uitvoer
PowerShell vraagt de afbeelding op van Azure OpenAI en slaat de uitvoerafbeelding op in het bestand generated_image.png in de opgegeven directory. Voor het gemak wordt het volledige pad voor het bestand geretourneerd aan het einde van het script.
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik deze handleiding om afbeeldingen te genereren met Azure OpenAI in uw browser met Microsoft Foundry.
Voorwaarden
- Een Azure-abonnement. Maak er gratis een.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio. Zie beschikbaarheid van regio's. Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie.
Ga naar Foundry
Navigeer naar Foundry en meld u aan met de inloggegevens die zijn gekoppeld aan uw Azure OpenAI-resource. Selecteer tijdens of na de aanmeldingswerkstroom de juiste map, Azure abonnement en Azure OpenAI-resource.
Maak of selecteer een nieuw project op de landingspagina van Foundry. Navigeer naar de pagina Modellen en eindpunten in het linkernavigatievenster. Selecteer Model uitrollen en kies vervolgens een van de beelden genererende modellen uit de lijst. Voltooi het implementatieproces.
Selecteer Openen in speeltuin op de pagina van het model.
Probeer afbeeldingengeneratie uit
Begin met het verkennen van Azure OpenAI-mogelijkheden met een no-code-benadering via de Images playground. Voer uw afbeeldingsprompt in het tekstvak in en selecteer Genereren. Wanneer de door AI gegenereerde afbeelding gereed is, wordt deze weergegeven op de pagina.
Opmerking
De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als Azure OpenAI uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie Inhoudsfiltering voor meer informatie.
In de Images playground kunt u ook Python- en cURL-codevoorbeelden bekijken, die vooraf zijn ingevuld volgens uw instellingen. Selecteer Code weergeven boven aan de pagina. U kunt deze code gebruiken om een toepassing te schrijven die dezelfde taak voltooit.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Quota en limieten
Het genereren van beelden heeft standaardlimieten voor verbruik per implementatie.
| Model | Standaardquotum (afbeeldingen/min) |
|---|---|
| GPT-image-1 serie | 5 |
| GPT-image-2 | 5 |
Zie Manage Azure OpenAI-quota om uw huidige quotum te bekijken of om een verhoging aan te vragen.
De API voor het genereren van afbeeldingen aanroepen
De volgende opdracht toont de meest eenvoudige manier om een afbeeldingsmodel met code te gebruiken. Als dit de eerste keer is dat u deze modellen programmatisch gebruikt, begint u met de quickstart.
Tip
Het genereren van afbeeldingen duurt doorgaans 10-30 seconden, afhankelijk van het model, de grootte en de kwaliteitsinstellingen.
Voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio. Zie beschikbaarheid van regio's.
- Implementeer een
gpt-image-1-serie ofgpt-image-2-model met uw Azure OpenAI-resource. Zie Maak een resource en implementeer een model met Azure OpenAI voor meer informatie over implementaties.- GPT-image-1-seriemodellen zijn beschikbaar in beperkte toegang: Aanvragen voor GPT-image-1-toegang; Aanvragen voor GPT-image-1.5-toegang.
- GPT-image-2 is beschikbaar in openbare bètaversie.
- Python 3,8 of hoger.
- Installeer de vereiste pakketten:
pip install openai azure-identity
- Installeer de vereiste pakketten:
Een POST-aanvraag verzenden naar:
https://<your_resource_name>.openai.azure.com/openai/v1/images/generations?api-version=preview
URL:
Vervang <your_resource_name> door de naam van uw Azure OpenAI-resource.
Vereiste headers:
-
Content-Type:application/json -
api-key:<your_API_key>
Hoofdtekst:
Hier volgt een voorbeeld van een aanvraagbody. U geeft een aantal opties op, gedefinieerd in latere secties.
Opmerking
Stel de model parameter in op de naam van uw modelimplementatie (bijvoorbeeld gpt-image-1.5).
{
"prompt": "A multi-colored umbrella on the beach, disposable camera",
"model": "gpt-image-1.5",
"size": "1024x1024",
"n": 1,
"quality": "high"
}
Tip
Zie Afbeeldingstokens voor de kosten van het genereren van afbeeldingen.
Uitvoer
Het antwoord van een geslaagde API-aanroep voor het genereren van afbeeldingen ziet eruit als in het volgende voorbeeld. Het b64_json veld bevat de uitvoerafbeeldingsgegevens.
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
Opmerking
De response_format parameter wordt niet ondersteund voor GPT-image-1-seriemodellen, die altijd base64-gecodeerde afbeeldingen retourneren.
Streaming
Met streaming kunt u gedeeltelijke afbeeldingen ontvangen terwijl ze worden gegenereerd, waardoor u sneller visuele feedback kunt geven voor uw gebruikers. Dit is handig voor toepassingen waarin u de voortgang van het genereren wilt weergeven. De partial_images parameter (1-3) bepaalt hoeveel tussenliggende afbeeldingen worden geretourneerd vóór het uiteindelijke resultaat.
U kunt aanvragen voor het genereren van afbeeldingen naar gpt-image-1-series en modellen streamen door de gpt-image-2 parameter in te stellen op stream, en de true parameter in te stellen op een waarde tussen 0 en 3.
import base64
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
client = OpenAI(
base_url = "https://RESOURCE-NAME-HERE/openai/v1/",
api_key=token_provider,
)
stream = client.images.generate(
model="gpt-image-1.5",
prompt="A cute baby sea otter",
n=1,
size="1024x1024",
stream=True,
partial_images = 2
)
for event in stream:
if event.type == "image_generation.partial_image":
idx = event.partial_image_index
image_base64 = event.b64_json
image_bytes = base64.b64decode(image_base64)
with open(f"river{idx}.png", "wb") as f:
f.write(image_bytes)
API-opties opgeven
De volgende parameters voor de API-body zijn beschikbaar voor afbeeldingsgeneratiemodellen.
Grootte
Geef voor GPT-image-1 serie-modellen de grootte van de gegenereerde afbeeldingen op als een van 1024x1024, 1024x1536 of 1536x1024. Vierkante afbeeldingen zijn sneller te genereren.
Voor gpt-image-2, willekeurige oplossingen worden ondersteund met de volgende beperkingen:
- Beide randen moeten een veelvoud van 16 pixels zijn.
- Lange rand tot 3840 px (4K-ondersteuning).
- Hoogte-breedteverhouding tot 3:1.
- Totaal aantal pixels tussen 655.360 en 8.294.400.
Kwaliteit
Er zijn drie opties voor afbeeldingskwaliteit: low, mediumen high. Afbeeldingen van lagere kwaliteit kunnen sneller worden gegenereerd.
De standaardwaarde is high.
Nummer
U kunt tussen één en tien afbeeldingen genereren in één enkele API-aanroep. De standaardwaarde is 1.
Gebruikersnaam
Gebruik de gebruikersparameter om een unieke id op te geven voor de gebruiker die de aanvraag indient. Deze id is handig voor het bijhouden en bewaken van gebruikspatronen. De waarde kan elke tekenreeks zijn, zoals een gebruikers-id of e-mailadres.
Uitvoerindeling
Gebruik de parameter output_format om de indeling van de gegenereerde afbeelding op te geven. Ondersteunde indelingen zijn PNG en JPEG. De standaardwaarde is PNG.
Opmerking
WEBP-afbeeldingen worden niet ondersteund in de Azure OpenAI in Microsoft Foundry Models.
Compressie
Gebruik de parameter output_compression om het compressieniveau voor de gegenereerde afbeelding op te geven. Voer een geheel getal in tussen 0 en, waarbij 100 geen compressie is en 0100maximale compressie is. De standaardwaarde is 100.
Streaming
Gebruik de streamparameter om streamingreacties in te schakelen. Wanneer deze is ingesteld op true, retourneert de API gedeeltelijke afbeeldingen tijdens hun generatieproces. Deze functie biedt snellere visuele feedback voor gebruikers en verbetert waargenomen latentie. Stel de parameter partial_images in om te bepalen hoeveel gedeeltelijke beelden worden gegenereerd (1-3).
Transparantie
Stel de achtergrondparameter in op transparent en output_format op PNG bij een aanvraag voor het genereren van een afbeelding, om een afbeelding met een transparante achtergrond te verkrijgen.
De API voor het bewerken van afbeeldingen aanroepen
Met de API voor het bewerken van afbeeldingen kunt u bestaande afbeeldingen wijzigen op basis van tekstprompts die u opgeeft. De API-aanroep is vergelijkbaar met de API-aanroep voor het genereren van afbeeldingen, maar u moet ook een invoerafbeelding opgeven.
Belangrijk
De invoerafbeelding moet kleiner zijn dan 50 MB en moet een PNG- of JPG-bestand zijn.
Een POST-aanvraag verzenden naar:
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/edits?api-version=<api_version>
URL:
Vervang de volgende waarden:
-
<your_resource_name>is de naam van uw Azure OpenAI-resource. -
<your_deployment_name>is de naam van uw GPT-reeksmodelimplementatie. -
<api_version>is de versie van de API die u wilt gebruiken. Bijvoorbeeld2025-04-01-preview.
Vereiste headers:
-
Content-Type:multipart/form-data -
api-key:<your_API_key>
Hoofdtekst:
Hier volgt een voorbeeld van een aanvraagbody. U geeft een aantal opties op, gedefinieerd in latere secties.
Belangrijk
De Api voor het bewerken van afbeeldingen bevat gegevens met meerdere onderdelen en geen JSON-gegevens. In het onderstaande voorbeeld ziet u voorbeeldformuliergegevens die aan een cURL-aanvraag worden gekoppeld.
-F "image[]=@beach.png" \
-F 'prompt=Add a beach ball in the center' \
-F "model=gpt-image-1" \
-F "size=1024x1024" \
-F "n=1" \
-F "quality=high"
UITVOER VAN API-antwoord
Het antwoord van een geslaagde API-aanroep voor het bewerken van afbeeldingen ziet eruit als in het volgende voorbeeld. Het b64_json veld bevat de uitvoerafbeeldingsgegevens.
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
API-opties voor het bewerken van afbeeldingen opgeven
De volgende PARAMETERS voor de API-hoofdtekst zijn beschikbaar voor het bewerken van afbeeldingen, naast de parameters die beschikbaar zijn voor het genereren van afbeeldingen.
Afbeelding
De afbeeldingswaarde geeft het afbeeldingsbestand aan dat u wilt bewerken.
Nauwkeurigheid van invoer
De input_fidelity parameter bepaalt hoeveel moeite het model doet om de stijl en vooral de gezichtskenmerken van invoerafbeeldingen te benaderen.
Met deze parameter kunt u subtiele wijzigingen aanbrengen in een afbeelding zonder dat u niet-gerelateerde gebieden hoeft te wijzigen. Wanneer u hoge invoerkwaliteit gebruikt, worden gezichten nauwkeuriger bewaard dan in de standaardmodus.
Belangrijk
De invoerkwaliteit wordt niet ondersteund door het gpt-image-1-mini model.
Masker
De parameter 'masker' gebruikt hetzelfde type als de invoerparameter voor de hoofdafbeelding. Hiermee definieert u het gebied van de afbeelding dat u het model wilt bewerken, met behulp van volledig transparante pixels (alfa van nul) in die gebieden. Het masker moet een PNG-bestand zijn en dezelfde afmetingen hebben als de invoerafbeelding.
Streaming
Gebruik de streamparameter om streamingreacties in te schakelen. Wanneer deze is ingesteld op true, retourneert de API gedeeltelijke afbeeldingen tijdens hun generatieproces. Deze functie biedt snellere visuele feedback voor gebruikers en verbetert waargenomen latentie. Stel de parameter partial_images in om te bepalen hoeveel gedeeltelijke beelden worden gegenereerd (1-3).
Transparantie
Alleen GPT-image-1: stel de achtergrondparametertransparent in en output_formatPNG bij een aanvraag voor het genereren van een afbeelding om een afbeelding met transparante achtergrond te genereren.
Effectieve tekst-naar-afbeeldingsprompts schrijven
Uw prompts moeten de inhoud beschrijven die u wilt zien in de afbeelding en de visuele stijl van de afbeelding.
Wanneer u prompts schrijft, moet u er rekening mee houden dat de afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie.
Tip
Zie de handleiding afbeeldingsprompts voor meer informatie over hoe u tekstprompts kunt aanpassen om verschillende soorten afbeeldingen te genereren.
Verantwoordelijke AI- en afbeeldingsgeneratie
Azure De modellen voor het genereren van afbeeldingen van OpenAI bevatten ingebouwde verantwoordelijke AI-beveiligingen (RAI) om veilig en compatibel gebruik te garanderen.
Daarnaast biedt Azure invoer- en uitvoerbeheer voor alle beeldgeneratiemodellen, samen met Azure-specifieke beschermingsmaatregelen, zoals inhoudsfiltering en misbruikcontrole. Deze systemen helpen bij het detecteren en voorkomen van het genereren of misbruik van schadelijke, onveilige of beleid schendende inhoud.
Klanten kunnen meer te weten komen over deze beveiliging en hoe ze deze hier kunnen aanpassen:
- Meer informatie: Inhoudsfiltering verkennen
- Aanvraag aanpassen: aanvragen om af te melden voor inhoudsfiltering
Speciale overwegingen voor het genereren van afbeeldingen van minderjarigen
Fotorealistische afbeeldingen van minderjarigen worden standaard geblokkeerd. Klanten kunnen toegang tot deze modelmogelijkheid aanvragen. Klanten op enterprise-niveau worden automatisch goedgekeurd.
Probleemoplossing
Afwijzing van API-aanroep
Prompts en afbeeldingen worden gefilterd op basis van ons inhoudsbeleid. De API retourneert een fout wanneer een prompt of afbeelding wordt gemarkeerd.
Als uw prompt is gemarkeerd, wordt de error.code waarde in het bericht ingesteld op contentFilter. Hier volgt een voorbeeld:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Het is ook mogelijk dat de gegenereerde afbeelding zelf wordt gefilterd. In dit geval wordt de foutmelding ingesteld op Gegenereerde afbeelding werd gefilterd door ons veiligheidssysteem. Hier volgt een voorbeeld:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Frequentielimietfouten
Als u een 429-fout ontvangt, hebt u de frequentielimiet overschreden. Wacht voordat u een quotumverhoging probeert of aanvraagt in de Azure-portal.
Authenticatiefouten
Als u een 401-fout ontvangt:
- VERIFICATIE van API-sleutel: controleer of uw API-sleutel juist is en niet is verlopen.
- Beheerde identiteit: Zorg ervoor dat uw identiteit de rol OpenAI-gebruiker van Cognitive Services heeft voor de resource.
Time-out fouten
Het genereren van afbeeldingen kan tot 60 seconden duren voor complexe prompts. Als u time-outs ondervindt:
- Gebruik streaming om eerder gedeeltelijke resultaten te krijgen.
- Vereenvoudig uw prompt.
- Probeer een kleinere afbeeldingsgrootte.
Verwante inhoud
- Wat is Azure OpenAI?
- API-referentie voor afbeeldingen
- Afbeeldings-API-referentie (preview)
- Meer informatie over afbeeldingsgeneratie-tokens