Azure OpenAI-modellen voor het genereren van beelden

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

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.

Schermopname met de pagina Sleutels en eindpunt voor een Azure OpenAI-resource in de Azure portal.

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.

  1. Vervang de inhoud van quickstart.py door de volgende code. Wijzig de waarde van prompt naar uw gewenste tekst. Stel deployment ook 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.

  2. Voer de toepassing uit met de python opdracht:

    python quickstart.py
    

    Wacht 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 created tijdstempel (Unix-tijdsperiode)
  • Een data array met ten minste één afbeeldingsobject - een b64_json waarde (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

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.

Schermopname met de pagina Sleutels en eindpunt voor een Azure OpenAI-resource in de Azure portal.

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()
  1. Zorg ervoor dat de AZURE_OPENAI_ENDPOINT en AZURE_OPENAI_API_KEY omgevingsvariabelen zijn ingesteld.
  2. Wijzig de waarde van prompt naar uw gewenste tekst.
  3. Wijzig de waarde van model naar 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 created tijdstempel
  • Een data matrix met ten minste één afbeeldingsobject
  • Een b64_json veld 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

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 User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.

Instellen

  1. Maak een nieuwe map image-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir image-quickstart && cd image-quickstart
    
  2. Maak een nieuwe consoletoepassing met de volgende opdracht:

    dotnet new console
    
  3. Installeer de OpenAI .NET clientbibliotheek met de opdracht dotnet add package:

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID, installeer het Azure.Identity pakket met:

    dotnet add package Azure.Identity
    
  5. Meld 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:

  1. Vervang de inhoud van Program.cs door 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);
    
  2. Voer de toepassing uit met behulp van de opdracht dotnet run of 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

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 User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.

Instellen

  1. Maak een nieuwe map image-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir image-quickstart && cd image-quickstart
    
  2. Installeer Apache Maven. Voer vervolgens uit mvn -v om de installatie te bevestigen.

  3. Maak een nieuw pom.xml bestand 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>
    
  4. Installeer de Azure OpenAI SDK en afhankelijkheden.

    mvn clean dependency:copy-dependencies
    
  5. Meld 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.

  1. Maak een nieuw bestand met de naam Quickstart.java in dezelfde hoofdmap van het project.

  2. 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);
        }
    }
    
  3. 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

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 User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.

Installatie

  1. Maak een nieuwe map image-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir image-quickstart && cd image-quickstart
    
  2. Maak de package.json opdracht met de volgende opdracht:

    npm init -y
    
  3. Installeer de OpenAI-clientbibliotheek voor JavaScript met:

    npm install openai
    
  4. Voor 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

  1. Maak het index.js bestand 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);
    });
    
  2. Meld u aan bij Azure met de volgende opdracht:

    az login
    
  3. Voer 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

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 User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.

Installatie

  1. Maak een nieuwe map image-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir image-quickstart && cd image-quickstart
    
  2. Maak de package.json opdracht met de volgende opdracht:

    npm init -y
    
  3. Werk package.json bij naar ECMAScript met het volgende commando:

    npm pkg set type=module
    
  4. Installeer de OpenAI-clientbibliotheek voor JavaScript met:

    npm install openai
    
  5. Voor 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

  1. Maak het index.ts bestand 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);
    });
    
  2. Maak het tsconfig.json bestand 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"]
    }
    
  3. De code omzetten van TypeScript naar JavaScript.

    tsc
    
  4. Meld u aan bij Azure met de volgende opdracht:

    az login
    
  5. Voer 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

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 User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in de Azure-portal onder Toegang beheer (IAM)>Roltoewijzing toevoegen.

Installatie

  1. Maak een nieuwe map dall-e-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Meld 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:

  1. 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)
    	}
    }
    
  2. Voer de volgende opdracht uit om een nieuwe Go-module te maken:

     go mod init quickstart.go
    
  3. Voer deze opdracht uit go mod tidy om de vereiste afhankelijkheden te installeren:

    go mod tidy
    
  4. Voer 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

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 User rol 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

  1. Meld u aan bij Azure voor de aanbevolen sleutelloze authenticatie met Microsoft Entra ID met de volgende opdracht:

    az login
    
  2. Haal 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 tsv
    
  3. Maak een nieuw PowerShell-bestand met de naamquickstart.ps1. Open deze vervolgens in uw favoriete editor of IDE.

  4. Vervang de inhoud van quickstart.ps1 door de volgende code. Zorg ervoor dat AZURE_OPENAI_ENDPOINT is ingesteld en wijzig de waarde van prompt naar de door u gewenste tekst.

    Als u API-sleutelverificatie wilt gebruiken in plaats van sleutelloze verificatie, configureert u AZURE_OPENAI_API_KEY en 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_path
    

    Belangrijk

    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.

  5. Voer het script uit met behulp van PowerShell:

    ./quickstart.ps1
    

    Het 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

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 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. Bijvoorbeeld 2025-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:

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.