Azure OpenAI-Bildgenerierungsmodelle

Wichtig

Das DALL-E Imagegenerierungsmodell dall-e-3 wurde am 4. März 2026 eingestellt und steht nicht mehr für neue Bereitstellungen zur Verfügung. Vorhandene Bereitstellungen sind nicht funktionsfähig. Verwenden Sie stattdessen ein gpt-image- Reihenmodell für die Bildgenerierung. Informationen zu aktualisierten Anweisungen finden Sie in der Anleitung zur Bildgenerierung .

Die Modelle der Bildgenerierung von OpenAI erstellen Bilder aus vom Benutzer bereitgestellten Textaufforderungen und optionalen Bildern. In diesem Artikel wird erläutert, wie Sie diese Modelle verwenden, Optionen konfigurieren und von erweiterten Bildgenerierungsfunktionen in Azure profitieren.

Sie können die Bildgenerierung über die Bildgenerierungs-API oder die Antwort-API durchführen. Alternativ können Sie auch mit der Bildgenerierung im Foundry-Portal experimentieren.

Um Ihren bevorzugten API-Ansatz und -Modell auszuwählen, verwenden Sie die Registerkarten am Anfang dieser Seite.

Modelle und Funktionen

Verwenden Sie diese Tabelle, um die Unterschiede zwischen den verschiedenen Bildgenerierungsmodellen zu erfahren und Ihnen bei der Auswahl des besten Modells für ihre Anforderungen bei der Bildgenerierung zu helfen.

Aspekt GPT-Image-2 GPT-Image-1.5 GPT-Image-1 GPT-Image-1-Mini
Verfügbarkeit Öffentliche Vorschau Vorschau für eingeschränkten Zugriff (Für GPT-image-1.5-Zugriff bewerben) Vorschau mit eingeschränktem Zugriff (Für GPT-image-1-Zugriff bewerben) Vorschau mit eingeschränktem Zugriff (Für GPT-image-1-Zugriff bewerben)
Stärken Optimal für hohe Auflösung und 4K-Generation, verbesserte Bildbearbeitung und breite Seitenverhältnisunterstützung Am besten geeignet für Realismus, Anweisungsfolge, multimodalen Kontext und verbesserte Geschwindigkeit/Kosten Am besten geeignet für Realismus, Anweisungsfolge und multimodalen Kontext Am besten geeignet für schnelle Prototyperstellung, Massengenerierung oder kostensensitive Anwendungsfälle
Eingabe- / Ausgabemodalitäten & Format Akzeptiert Text + Bildeingaben ; Gibt Bilder nur in Base64 aus (keine URL-Option). Akzeptiert Text + Bildeingaben ; Gibt Bilder nur in Base64 aus (keine URL-Option). Akzeptiert Text + Bildeingaben ; Gibt Bilder nur in Base64 aus (keine URL-Option). Akzeptiert Text + Bildeingaben ; Gibt Bilder nur in Base64 aus (keine URL-Option).
Bildgrößen/Auflösungen Beliebige Auflösungen: Beide Kanten müssen Vielfache von 16 px sein; lange Kante bis zu 3.840 px (4K); Seitenverhältnis bis zu 3:1; Pixelanzahl 655.360–8.294.400 1024×1024, 1024×1536, 1536×1024 1024×1024, 1024×1536, 1536×1024 1024×1024, 1024×1536, 1536×1024
Qualitätsoptionen Überarbeitete Qualitätskontrollen: low, medium, high; low ist für latenzsensible Anwendungsfälle optimiert. low, medium, high (Standard = hoch) low, medium, high (Standard = hoch) low, medium( high Standard = Mittel)
Anzahl der Bilder pro Anforderung 1–10 Bilder pro Anforderung (n Parameter) 1–10 Bilder pro Anforderung (n Parameter) 1–10 Bilder pro Anforderung (n Parameter) 1–10 Bilder pro Anforderung (n Parameter)
Bearbeiten (Inpainting / Variationen) ✅ Verbesserte Bearbeitungsleistung mit Inpainting und Varianten ✅ Unterstützt Inpainting und Variationen mit Maske und Eingabe ✅ Unterstützt Inpainting und Variationen mit Maske und Eingabe ✅ Unterstützt Inpainting und Variationen mit Maske und Eingabe
Gesichtserhaltung ✅ Erweiterte Gesichtserhaltung für realistische, konsistente Ergebnisse ✅ Erweiterte Gesichtserhaltung für realistische, konsistente Ergebnisse ✅ Erweiterte Gesichtserhaltung für realistische, konsistente Ergebnisse ❌ Keine dedizierte Gesichtserkennung; besser für Nicht-Porträt/allgemein kreative Bilder
Leistung & Kosten High-Fidelity- und Realismusoptimiertes Modell; höhere Latenz und Kosten High-Fidelity- und Realismus-optimiertes Modell - verbesserte Effizienz und Latenz gegenüber GPT-Image-1 High-Fidelity- und Realismusoptimiertes Modell; höhere Latenz und Kosten Kosteneffizient und schneller für große oder iterative Erzeugung

Schnellstart

Verwenden Sie dieses Handbuch, um mit dem Aufrufen der Azure OpenAI in Microsoft Foundry Models Image Generation REST-APIs mithilfe von Python zu beginnen.

Voraussetzungen

Konfiguration

Abrufen von Schlüssel und Endpunkt

Um die Azure OpenAI-APIs erfolgreich aufzurufen, benötigen Sie die folgenden Informationen zu Ihrer Azure OpenAI-Ressource:

Variable Namen Wert
Endpunkt api_base Der Endpunktwert befindet sich unter Keys und Endpoint für Ihre Ressource im Azure-Portal. Sie finden den Endpunkt auch über die Seite " Bereitstellungen " im Foundry-Portal. Ein Beispielendpunkt ist: https://docs-test-001.openai.azure.com/.
Schlüssel api_key Der Schlüsselwert befindet sich auch unter Keys und Endpoint für Ihre Ressource im Azure-Portal. Azure generiert zwei Schlüssel für Ihre Ressource. Sie können einen der beiden Werte verwenden.

Wechseln Sie im Azure-Portal zu Ihrer Ressource. Wählen Sie im Navigationsbereich unter "Ressourcenverwaltung" die Option "Schlüssel" und "Endpunkt" aus. Kopieren Sie den Endpunktwert und einen Zugriffstastenwert. Sie können entweder den KEY 1 - oder KEY 2-Wert verwenden. Das Vorhandensein von zwei Schlüsseln ermöglicht es Ihnen, Schlüssel sicher zu rotieren und neu zu generieren, ohne den Dienst zu unterbrechen.

Screenshot mit der Seite

Umgebungsvariablen

Erstellen und Zuweisen persistenter Umgebungsvariablen für Ihren Schlüssel und Endpunkt.

Wichtig

Wir empfehlen die Verwendung der Microsoft Entra ID-Authentifizierung in Verbindung mit verwalteten Identitäten für Azure-Ressourcen, um zu vermeiden, dass Zugangsdaten mit Ihren Anwendungen gespeichert werden, die in der Cloud ausgeführt werden.

Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und veröffentlichen Sie ihn nie öffentlich. Wenn Sie API-Schlüssel verwenden, speichern Sie sie sicher in Azure Key Vault, drehen Sie die Schlüssel regelmäßig, und beschränken Sie den Zugriff auf Azure Key Vault mithilfe rollenbasierter Zugriffssteuerung und Netzwerkzugriffseinschränkungen. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.

Weitere Informationen zur Sicherheit von AI-Diensten finden Sie unter Authenticate-Anforderungen an Azure KI Services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Erstellen einer neuen Python Anwendung

Erstellen Sie eine neue Python Datei mit dem Namen quickstart.py. Öffnen Sie die neue Datei in Ihrem bevorzugten Editor oder ihrer bevorzugten IDE.

  1. Ersetzen Sie den Inhalt von quickstart.py durch den folgenden Code. Ändern Sie den Wert von prompt zu Ihrem bevorzugten Text. Setzen Sie auch den deployment auf den Bereitstellungsnamen, den Sie beim Bereitstellen des Imagegenerierungsmodells ausgewählt haben.

    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")
    

    Das Skript führt einen api-Aufruf der synchronen Bildgenerierung durch.

    Wichtig

    Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und veröffentlichen Sie den Schlüssel niemals öffentlich. Verwenden Sie für die Produktion eine sichere Möglichkeit zum Speichern und Zugreifen auf Ihre Anmeldeinformationen. Weitere Informationen finden Sie unter Azure Key Vault.

  2. Führen Sie die Anwendung mit dem python Befehl aus:

    python quickstart.py
    

    Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.

Ausgabe

Die Ausgabe eines erfolgreichen API-Aufrufs zur Bildgenerierung sieht wie im folgenden Beispiel aus. Das b64_json Feld enthält die base64-codierten Ausgabebilddaten.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "b64_json": "<base64 image data>"
        }
    ]
} 

Eine erfolgreiche Antwort umfasst:

  • Ein created Zeitstempel (Unix-Zeitstempel)
  • Ein data Array mit mindestens einem Bildobjekt– Entweder ein b64_json (base64-codierter Bilddaten)-Wert für jedes generierte Bild

Häufige Fehler

Fehler Ursache Auflösung
DeploymentNotFound Der Bereitstellungsname ist nicht vorhanden oder falsch geschrieben. Überprüfen Sie den Bereitstellungsnamen im Azure-Portal oder Foundry-Portal
401 Unauthorized Ungültiger oder fehlender API-Schlüssel Überprüfen Sie, ob die AZURE_OPENAI_API_KEY Umgebungsvariable korrekt festgelegt ist.
429 Too Many Requests Ratelimit überschritten Implementieren von Wiederholungslogik mit exponentiellem Backoff
content_policy_violation Vom Inhaltsfilter blockierte Eingabeaufforderung oder generierte Ausgabe Ändern der Aufforderung zur Einhaltung der Inhaltsrichtlinie
InvalidPayload Fehlende erforderliche Parameter oder ungültige Werte Überprüfen Sie, ob prompt, size, und n sind richtig angegeben

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein Bild generiert. Weitere Informationen finden Sie unter Inhaltsfilterung. Beispiele für Fehlerantworten finden Sie in der Anleitung zur Generierung von Bildern.

Das System gibt einen Betriebsstatus von Failed zurück, und der error.code-Wert in der Nachricht wird auf contentFilter gesetzt. Hier ist ein Beispiel:

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

Es ist auch möglich, dass das generierte Bild selbst gefiltert wird. In diesem Fall wird die Fehlermeldung auf Generated image was filtered as a result of our safety system. gesetzt. Hier ist ein Beispiel:

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

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource oder Ressourcengruppe löschen. Durch das Löschen der Ressourcengruppe werden auch alle anderen ressourcen gelöscht, die ihr zugeordnet sind.

Verwenden Sie dieses Handbuch, um mit dem Generieren von Bildern mit dem Azure OpenAI SDK für Python zu beginnen.

Quellcode | der BibliothekPaket | Proben

Voraussetzungen

Weitere Informationen finden Sie unter Create a resource and deploy a model with Azure OpenAI.

Konfiguration

Abrufen von Schlüssel und Endpunkt

Um die Azure OpenAI-APIs erfolgreich aufzurufen, benötigen Sie die folgenden Informationen zu Ihrer Azure OpenAI-Ressource:

Variable Namen Wert
Endpunkt api_base Der Endpunktwert befindet sich unter Keys und Endpoint für Ihre Ressource im Azure-Portal. Sie finden den Endpunkt auch über die Seite Deployments im Microsoft Foundry-Portal. Ein Beispielendpunkt ist: https://docs-test-001.openai.azure.com/.
Schlüssel api_key Der Schlüsselwert befindet sich auch unter Keys und Endpoint für Ihre Ressource im Azure-Portal. Azure generiert zwei Schlüssel für Ihre Ressource. Sie können einen der beiden Werte verwenden.

Wechseln Sie im Azure-Portal zu Ihrer Ressource. Wählen Sie im Navigationsbereich unter "Ressourcenverwaltung" die Option "Schlüssel" und "Endpunkt" aus. Kopieren Sie den Endpunktwert und einen Zugriffstastenwert. Sie können entweder den KEY 1 - oder KEY 2-Wert verwenden. Das Vorhandensein von zwei Schlüsseln ermöglicht es Ihnen, Schlüssel sicher zu rotieren und neu zu generieren, ohne den Dienst zu unterbrechen.

Screenshot mit der Seite

Umgebungsvariablen

Erstellen und Zuweisen persistenter Umgebungsvariablen für Ihren Schlüssel und Endpunkt.

Wichtig

Wir empfehlen die Verwendung der Microsoft Entra ID-Authentifizierung in Verbindung mit verwalteten Identitäten für Azure-Ressourcen, um zu vermeiden, dass Zugangsdaten mit Ihren Anwendungen gespeichert werden, die in der Cloud ausgeführt werden.

Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und veröffentlichen Sie ihn nie öffentlich. Wenn Sie API-Schlüssel verwenden, speichern Sie sie sicher in Azure Key Vault, drehen Sie die Schlüssel regelmäßig, und beschränken Sie den Zugriff auf Azure Key Vault mithilfe rollenbasierter Zugriffssteuerung und Netzwerkzugriffseinschränkungen. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.

Weitere Informationen zur Sicherheit von AI-Diensten finden Sie unter Authenticate-Anforderungen an Azure KI Services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Installieren des Python SDK

Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu Ihrem Projektordner. Installieren Sie das OpenAI Python SDK mithilfe des folgenden Befehls:

pip install openai

Installieren Sie auch die folgenden Bibliotheken:

pip install requests
pip install pillow 

Generieren von Bildern

Erstellen Sie eine neue Python-Datei , quickstart.py. Öffnen Sie es in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.

Ersetzen Sie den Inhalt von quickstart.py durch den folgenden 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. Stellen Sie sicher, dass die AZURE_OPENAI_ENDPOINT Variablen und AZURE_OPENAI_API_KEY Umgebungsvariablen festgelegt sind.
  2. Ändern Sie den Wert von prompt zu Ihrem bevorzugten Text.
  3. Ändern Sie den Wert von model in den Namen des bereitgestellten GPT-Image-Serienmodells.

Wichtig

Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und veröffentlichen Sie den Schlüssel niemals öffentlich. Verwenden Sie für die Produktion eine sichere Möglichkeit zum Speichern und Zugreifen auf Ihre Anmeldeinformationen. Weitere Informationen finden Sie unter Azure Key Vault.

Führen Sie die Anwendung mit dem python Befehl aus:

python quickstart.py

Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.

Ausgabe

Azure OpenAI speichert das Ausgabebild in der Datei generated_image.png in Ihrem angegebenen Verzeichnis. Das Skript zeigt auch das Bild in der Standardbildanzeige an.

Eine erfolgreiche Antwort umfasst:

  • Ein created Zeitstempel
  • Ein data Array mit mindestens einem Bildobjekt
  • Ein b64_json Feld mit base64-codierten Bilddaten (GPT-image-1-Modelle geben immer Base64 zurück)

Häufige Fehler

Fehler Ursache Auflösung
DeploymentNotFound Der Bereitstellungsname ist nicht vorhanden oder falsch geschrieben. Überprüfen Sie den Bereitstellungsnamen im Azure-Portal oder Foundry-Portal
AuthenticationError Ungültiger oder fehlender API-Schlüssel Überprüfen Sie, ob die AZURE_OPENAI_API_KEY Umgebungsvariable korrekt festgelegt ist.
RateLimitError Ratelimit überschritten Implementieren von Wiederholungslogik mit exponentiellem Backoff
content_policy_violation Vom Inhaltsfilter blockierte Eingabeaufforderung oder generierte Ausgabe Ändern der Aufforderung zur Einhaltung der Inhaltsrichtlinie

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein Bild generiert. Weitere Informationen finden Sie unter Inhaltsfilterung.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource oder Ressourcengruppe löschen. Durch das Löschen der Ressourcengruppe werden auch alle anderen ressourcen gelöscht, die ihr zugeordnet sind.

Verwenden Sie dieses Handbuch, um mit dem generieren von Bildern mit dem Azure OpenAI SDK für C# zu beginnen.

Bibliothek Quellcode | Package (NuGet) | Beispiele

Voraussetzungen

Microsoft Entra ID Voraussetzungen

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
  • Weisen Sie die Cognitive Services User Rolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.

Einrichten

  1. Erstellen Sie einen neuen Ordner image-quickstart , und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:

    mkdir image-quickstart && cd image-quickstart
    
  2. Erstellen Sie eine neue Konsolenanwendung mit dem folgenden Befehl:

    dotnet new console
    
  3. Installieren Sie die OpenAI .NET Clientbibliothek mit dem Befehl dotnet add package:

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Installieren Sie für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID das Azure.Identity Paket mit:

    dotnet add package Azure.Identity
    
  5. Melden Sie sich für die recommended schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:

    az login
    

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal.

Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.

Schnellstart ausführen

Der Beispielcode in dieser Schnellstartanleitung verwendet Microsoft Entra ID für die empfohlene schlüssellose Authentifizierung. Wenn Sie einen API-Schlüssel verwenden möchten, können Sie das DefaultAzureCredential Objekt durch ein AzureKeyCredential Objekt ersetzen.

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

Führen Sie die folgenden Schritte aus, um die Schnellstartanleitung auszuführen:

  1. Ersetzen Sie den Inhalt Program.cs durch den folgenden Code, und aktualisieren Sie die Platzhalterwerte durch Ihren eigenen.

    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. Führen Sie die Anwendung mit dem Befehl dotnet run oder der Schaltfläche "Ausführen" oben in Visual Studio aus:

    dotnet run
    

Ausgabe

Die base64-codierten Bilddaten werden in die Konsole gedruckt.

Wichtig

GPT-image-1 und GPT-image-2 unterstützen auch zusätzliche Parameter wie quality (low, , medium), highoutput_format (png, jpeg), (background, auto), transparent und output_compression (nur 0-100, JPEG). Ausführliche Informationen finden Sie unter API-Optionen.

Hinweis

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen finden Sie im Inhaltsfilterartikel .

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Bevor Sie die Ressource löschen, müssen Sie zuerst alle bereitgestellten Modelle löschen.

Verwenden Sie dieses Handbuch, um mit dem generieren von Bildern mit dem Azure OpenAI SDK für Java zu beginnen.

Bibliotheksquellcode | Artifact (Maven) | Beispiele

Voraussetzungen

Microsoft Entra ID Voraussetzungen

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
  • Weisen Sie die Cognitive Services User Rolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.

Einrichten

  1. Erstellen Sie einen neuen Ordner image-quickstart , und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:

    mkdir image-quickstart && cd image-quickstart
    
  2. Installieren Sie Apache Maven. Führen Sie dann mvn -v aus, um die erfolgreiche Installation zu bestätigen.

  3. Erstellen Sie eine neue pom.xml Datei im Stammverzeichnis Ihres Projekts, und kopieren Sie den folgenden Code in die Datei:

    <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. Installieren Sie das Azure OpenAI SDK und Abhängigkeiten.

    mvn clean dependency:copy-dependencies
    
  5. Melden Sie sich für die recommended schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:

    az login
    

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal.

Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.

Ausführen der App

Der Beispielcode in dieser Schnellstartanleitung verwendet Microsoft Entra ID für die empfohlene schlüssellose Authentifizierung. Wenn Sie einen API-Schlüssel verwenden möchten, können Sie das DefaultAzureCredential Objekt durch ein AzureKeyCredential Objekt ersetzen.

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

Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung für die Bildgenerierung zu erstellen.

  1. Erstellen Sie eine neue Datei mit dem Namen Quickstart.java im selben Projektstammverzeichnis.

  2. Kopieren Sie den folgenden Code in 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. Führen Sie die neue Konsolenanwendung aus, um ein Image zu generieren:

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

Ausgabe

Die URL des generierten Images wird in die Konsole gedruckt.

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

Wichtig

GPT-image-1 unterstützt auch zusätzliche Parameter wie quality (low, medium, high), output_format (png, jpeg), background (auto, transparent), und output_compression (0-100, nur JPEG). Ausführliche Informationen finden Sie unter API-Optionen.

Hinweis

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen finden Sie im Inhaltsfilterartikel .

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Bevor Sie die Ressource löschen, müssen Sie zuerst alle bereitgestellten Modelle löschen.

Verwenden Sie dieses Handbuch, um mit dem generieren von Bildern mit dem Azure OpenAI SDK für JavaScript zu beginnen.

Reference-Dokumentation | Source-Code | Package (npm) | Samples

Voraussetzungen

Microsoft Entra ID Voraussetzungen

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
  • Weisen Sie die Cognitive Services User Rolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.

Konfiguration

  1. Erstellen Sie einen neuen Ordner image-quickstart , und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:

    mkdir image-quickstart && cd image-quickstart
    
  2. Erstellen Sie den package.json mit dem folgenden Befehl:

    npm init -y
    
  3. Installieren Sie die OpenAI-Clientbibliothek für JavaScript mit:

    npm install openai
    
  4. Für die empfohlene kennwortlose Authentifizierung:

    npm install @azure/identity
    

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal.

Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.

Vorsicht

Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die AZURE_OPENAI_API_KEY Umgebungsvariable nicht festgelegt ist.

Generieren von Bildern

  1. Erstellen Sie die index.js Datei mit dem folgenden 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. Melden Sie sich mit dem folgenden Befehl bei Azure an:

    az login
    
  3. Führen Sie die JavaScript-Datei aus.

    node index.js
    

Ausgabe

Das generierte Bild wird nach generated_image.png im aktuellen Verzeichnis gespeichert.

== Image Generation ==
Image saved to generated_image.png

Hinweis

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen finden Sie im Inhaltsfilterartikel .

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Bevor Sie die Ressource löschen, müssen Sie zuerst alle bereitgestellten Modelle löschen.

Verwenden Sie dieses Handbuch, um mit dem generieren von Bildern mit dem Azure OpenAI SDK für JavaScript zu beginnen.

Reference-Dokumentation | Source-Code | Package (npm) | Samples

Voraussetzungen

Microsoft Entra ID Voraussetzungen

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
  • Weisen Sie die Cognitive Services User Rolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.

Konfiguration

  1. Erstellen Sie einen neuen Ordner image-quickstart , und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:

    mkdir image-quickstart && cd image-quickstart
    
  2. Erstellen Sie den package.json mit dem folgenden Befehl:

    npm init -y
    
  3. Aktualisieren Sie das package.json auf ECMAScript mit dem folgenden Befehl:

    npm pkg set type=module
    
  4. Installieren Sie die OpenAI-Clientbibliothek für JavaScript mit:

    npm install openai
    
  5. Für die empfohlene kennwortlose Authentifizierung:

    npm install @azure/identity
    

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal.

Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.

Vorsicht

Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die AZURE_OPENAI_API_KEY Umgebungsvariable nicht festgelegt ist.

Generieren von Bildern

  1. Erstellen Sie die index.ts Datei mit dem folgenden 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. Erstellen Sie die tsconfig.json Datei zum Transpilieren des TypeScript-Codes, und kopieren Sie den folgenden Code für 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. Transpilieren von TypeScript zu JavaScript.

    tsc
    
  4. Melden Sie sich mit dem folgenden Befehl bei Azure an:

    az login
    
  5. Führen Sie den Code mit dem folgenden Befehl aus:

    node index.js
    

Ausgabe

Das generierte Bild wird nach generated_image.png im aktuellen Verzeichnis gespeichert.

== Image Generation ==
Image saved to generated_image.png

Hinweis

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen finden Sie im Inhaltsfilterartikel .

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Bevor Sie die Ressource löschen, müssen Sie zuerst alle bereitgestellten Modelle löschen.

Verwenden Sie dieses Handbuch, um mit dem generieren von Bildern mit dem Azure OpenAI SDK für Go zu beginnen.

Library Quellcode | Paket | Beispiele

Voraussetzungen

Microsoft Entra ID Voraussetzungen

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
  • Weisen Sie die Cognitive Services User Rolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.

Konfiguration

  1. Erstellen Sie einen neuen Ordner dall-e-quickstart , und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Melden Sie sich für die recommended schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:

    az login
    

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal.

Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.

Schnellstart ausführen

Der Beispielcode in dieser Schnellstartanleitung verwendet Microsoft Entra ID für die empfohlene schlüssellose Authentifizierung. Wenn Sie einen API-Schlüssel verwenden möchten, können Sie die NewDefaultAzureCredential, Implementierung durch NewKeyCredential ersetzen.

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

So führen Sie das Beispiel aus:

  1. Erstellen Sie eine neue Datei mit dem Namen "quickstart.go". Kopieren Sie den folgenden Code in die Datei "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. Führen Sie den folgenden Befehl aus, um ein neues Go-Modul zu erstellen:

     go mod init quickstart.go
    
  3. Führen Sie go mod tidy aus, um die erforderlichen Abhängigkeiten zu installieren.

    go mod tidy
    
  4. Führen Sie den folgenden Befehl aus, um das Beispiel auszuführen:

     go run quickstart.go
    

Ausgabe

Die URL des generierten Images wird in die Konsole gedruckt.

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

Wichtig

GPT-image-1-Modelle geben immer base64-codierte Bilddaten anstelle von URLs zurück. Wenn Ihre SDK-Version eine URL für DALL-E-Modelle zurückgibt, müssen Sie die base64-Antwort für GPT-image-1-Deployments verarbeiten. GPT-image-1 unterstützt auch zusätzliche Parameter wie quality (low, medium, high), output_format (png, jpeg), background (auto, transparent), und output_compression (0-100, nur JPEG). Ausführliche Informationen finden Sie unter API-Optionen.

Hinweis

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen finden Sie im Inhaltsfilterartikel .

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource oder Ressourcengruppe löschen. Durch das Löschen der Ressourcengruppe werden auch alle anderen ressourcen gelöscht, die ihr zugeordnet sind.

Verwenden Sie dieses Handbuch, um mit dem Aufrufen der Azure OpenAI in Microsoft Foundry Models Image Generation APIs mit PowerShell zu beginnen.

Voraussetzungen

Microsoft Entra ID Voraussetzungen

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
  • Weisen Sie die Cognitive Services User Rolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal.

Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.

Generieren von Bildern

  1. Melden Sie sich für die recommended schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:

    az login
    
  2. Rufen Sie ein Azure OpenAI-Authentifizierungstoken ab, und legen Sie es als Umgebungsvariable für die aktuelle PowerShell-Sitzung fest:

    $Env:DEFAULT_AZURE_CREDENTIAL_TOKEN = az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsv
    
  3. Erstellen Sie eine neue PowerShell-Datei namensquickstart.ps1. Öffnen Sie sie dann in Ihrem bevorzugten Editor oder ihrer IDE.

  4. Ersetzen Sie den Inhalt von quickstart.ps1 durch den folgenden Code. Stellen Sie sicher, dass AZURE_OPENAI_ENDPOINT festgelegt ist, und ändern Sie den Wert von prompt in Ihren bevorzugten Text.

    Um API-Schlüsselauthentifizierung anstelle der schlüssellosen Authentifizierung zu verwenden, geben Sie AZURE_OPENAI_API_KEY an und entfernen Sie das Kommentarzeichen von der Zeile 'api-key'.

     # Azure OpenAI metadata variables
     $openai = @{
         api_base    = $Env:AZURE_OPENAI_ENDPOINT 
         api_version = '2025-04-01-preview'
         deployment  = 'gpt-image-1' # the name of your GPT-image-1 series 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]@{
         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/deployments/$($openai.deployment)/images/generations?api-version=$($openai.api_version)"
    
     $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
    

    Wichtig

    Verwenden Sie für die Produktion eine sichere Möglichkeit zum Speichern und Zugreifen auf Ihre Anmeldeinformationen wie The PowerShell Secret Management with Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie in diesem Sicherheitsartikel .

  5. Führen Sie das Skript mit PowerShell aus:

    ./quickstart.ps1
    

    Das Skript generiert das Bild und speichert es.

Ausgabe

PowerShell fordert das Bild von Azure OpenAI an und speichert das Ausgabebild in der Datei generated_image.png in Ihrem angegebenen Verzeichnis. Aus Gründen der Einfachheit wird der vollständige Pfad für die Datei am Ende des Skripts zurückgegeben.

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein Bild generiert. Weitere Informationen finden Sie unter Inhaltsfilterung.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource oder Ressourcengruppe löschen. Durch das Löschen der Ressourcengruppe werden auch alle anderen ressourcen gelöscht, die ihr zugeordnet sind.

Verwenden Sie dieses Handbuch, um mit dem Generieren von Bildern mit Azure OpenAI in Ihrem Browser mit Microsoft Foundry zu beginnen.

Voraussetzungen

Zur Gießerei wechseln

Navigieren Sie zu Foundry und melden Sie sich mit den Anmeldeinformationen an, die Ihrer Azure OpenAI-Ressource zugeordnet sind. Wählen Sie während oder nach dem Anmeldeworkflow das entsprechende Verzeichnis, Azure Abonnement und Azure OpenAI-Ressource aus.

Erstellen oder wählen Sie auf der Foundry-Startseite ein neues Projekt aus. Navigieren Sie auf der linken Navigationsleiste zur Seite "Modelle + Endpunkte ". Wählen Sie "Modell bereitstellen" und dann eines der Imagegenerierungsmodelle aus der Liste aus. Schließen Sie den Bereitstellungsprozess ab.

Wählen Sie auf der Seite des Modells " Im Playground öffnen" aus.

Testen der Bildgenerierung

Erkunden Sie Azure OpenAI-Funktionen mit einem codefreien Ansatz über den Images-Playground. Geben Sie Ihre Bildaufforderung in das Textfeld ein, und wählen Sie "Generieren" aus. Wenn das KI-generierte Bild bereit ist, wird es auf der Seite angezeigt.

Hinweis

Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn Azure OpenAI Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen finden Sie unter Inhaltsfilterung.

Im Images-Playground können Sie auch Python- und cURL-Codebeispiele anzeigen, die gemäß Ihren Einstellungen vorab ausgefüllt sind. Wählen Sie " Code anzeigen" am oberen Rand der Seite aus. Sie können diesen Code verwenden, um eine Anwendung zu schreiben, die dieselbe Aufgabe abgeschlossen hat.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource oder Ressourcengruppe löschen. Durch das Löschen der Ressourcengruppe werden auch alle anderen ressourcen gelöscht, die ihr zugeordnet sind.

Kontingente und Grenzwerte

Die Bildgenerierung weist Standardratengrenzwerte pro Bereitstellung auf:

Modell Standardkontingent (Bilder/Min)
GPT-image-1-Serie 5
GPT-image-2 5

Informationen zum Anzeigen Ihres aktuellen Kontingents oder zum Anfordern einer Erhöhung finden Sie unter Manage Azure OpenAI-Kontingente.

Aufrufen der Bildgenerierungs-API

Der folgende Befehl zeigt die einfachste Methode zum Verwenden eines Bildmodells mit Code. Wenn Sie diese Modelle zum ersten Mal programmgesteuert verwenden, beginnen Sie mit der Schnellstartanleitung.

Tipp

Die Bildgenerierung dauert in der Regel 10-30 Sekunden, abhängig von den Einstellungen für Modell, Größe und Qualität.

Voraussetzungen

Eine POST-Anforderung senden an:

https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/generations?api-version=<api_version>

URL:

Ersetzen Sie die folgenden Werte:

  • <your_resource_name> ist der Name Ihrer Azure OpenAI-Ressource.
  • <your_deployment_name> ist der Name Ihrer Modellbereitstellung.
  • <api_version> ist die Version der API, die Sie verwenden möchten. Beispiel: 2025-04-01-preview.

Erforderliche Header:

  • Content-Type: application/json
  • api-key: <your_API_key>

Inhalt:

Im Folgenden finden Sie einen Beispielanforderungstext. Sie geben eine Reihe von Optionen an, die in späteren Abschnitten definiert sind.

{
    "prompt": "A multi-colored umbrella on the beach, disposable camera",
    "model": "gpt-image-1.5",
    "size": "1024x1024", 
    "n": 1,
    "quality": "high"
}

Tipp

Informationen zu Tokenkosten für die Bildgenerierung finden Sie unter Imagetoken.

Ausgabe

Die Antwort eines erfolgreichen API-Aufrufs zur Bildgenerierung sieht folgendermaßen aus. Das b64_json Feld enthält die Ausgabebilddaten.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "b64_json": "<base64 image data>"
        }
    ]
} 

Hinweis

Der response_format Parameter wird für GPT-image-1-Serienmodelle nicht unterstützt, die immer base64-codierte Bilder zurückgeben.

Streaming

Mit Streaming können Sie teilliche Bilder erhalten, während sie generiert werden, was für Ihre Benutzer ein schnelleres visuelles Feedback bietet. Dies ist nützlich für Anwendungen, in denen der Generierungsfortschritt angezeigt werden soll. Der partial_images Parameter (1-3) steuert, wie viele Zwischenbilder vor dem Endergebnis zurückgegeben werden.

Sie können Anfragen zur Bildgenerierung an gpt-image-1-Serie und gpt-image-2-Modelle streamen, indem Sie den stream-Parameter auf true festlegen und den partial_images-Parameter auf einen Wert zwischen 0 und 3 setzen.

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)
 

Angeben von API-Optionen

Die folgenden API-Textkörperparameter sind für Bildgenerierungsmodelle verfügbar.

Größe

Geben Sie für GPT-image-1-Serienmodelle die Größe der generierten Bilder als eines von 1024x1024, 1024x1536 oder 1536x1024 an. Quadratische Bilder können schneller generiert werden.

Für gpt-image-2, werden beliebige Auflösungen mit den folgenden Einschränkungen unterstützt:

  • Beide Kanten müssen ein Vielfaches von 16 Pixeln sein.
  • Lange Kante bis zu 3840 px (4K-Unterstützung).
  • Seitenverhältnis bis zu 3:1.
  • Die Gesamtpixelanzahl zwischen 655.360 und 8.294.400.

Qualität

Es gibt drei Optionen für die Bildqualität: low, , mediumund high. Bilder mit geringerer Qualität können schneller generiert werden.

Der Standardwert ist high.

Nummer

Sie können zwischen einem und 10 Bildern in einem einzelnen API-Aufruf generieren. Der Standardwert ist 1.

Benutzer-ID

Verwenden Sie den Benutzerparameter , um einen eindeutigen Bezeichner für den Benutzer anzugeben, der die Anforderung stellt. Dieser Bezeichner ist nützlich zum Nachverfolgen und Überwachen von Verwendungsmustern. Der Wert kann eine beliebige Zeichenfolge sein, z. B. eine Benutzer-ID oder E-Mail-Adresse.

Ausgabeformat

Verwenden Sie den parameter output_format , um das Format des generierten Bilds anzugeben. Unterstützte Formate sind PNG und JPEG. Der Standardwert ist PNG.

Hinweis

WEBP-Bilder werden in Azure OpenAI-Modellen in Microsoft Foundry nicht unterstützt.

Komprimierung

Verwenden Sie den parameter output_compression , um die Komprimierungsebene für das generierte Bild anzugeben. Geben Sie eine ganze Zahl zwischen 0 und 100 ein, wobei 0 keine Komprimierung und 100 maximale Komprimierung bedeutet. Der Standardwert ist 100.

Streaming

Verwenden Sie den Stream-Parameter , um Streamingantworten zu aktivieren. Bei Festlegung auf true, gibt die API Teilbilder zurück, während sie generiert werden. Dieses Feature bietet schnelleres visuelles Feedback für Benutzer und verbessert die wahrgenommene Latenz. Legen Sie den parameter partial_images fest, um zu steuern, wie viele Teilbilder generiert werden (1-3).

Transparenz

Setzen Sie den Hintergrundparameter auf transparent und output_format auf PNG bei einer Anforderung zur Bilderzeugung, um ein Bild mit transparentem Hintergrund zu erhalten.

Aufrufen der Bildbearbeitungs-API

Mit der Bildbearbeitungs-API können Sie vorhandene Bilder basierend auf den von Ihnen bereitgestellten Textaufforderungen ändern. Der API-Aufruf ähnelt dem API-Aufruf der Bildgenerierung, Sie müssen aber auch ein Eingabebild bereitstellen.

Wichtig

Das Eingabebild muss kleiner als 50 MB sein und muss eine PNG- oder JPG-Datei sein.

Eine POST-Anforderung senden an:

https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/edits?api-version=<api_version>

URL:

Ersetzen Sie die folgenden Werte:

  • <your_resource_name> ist der Name Ihrer Azure OpenAI-Ressource.
  • <your_deployment_name> ist der Name Ihrer GPT-Bildserienmodellbereitstellung.
  • <api_version> ist die Version der API, die Sie verwenden möchten. Beispiel: 2025-04-01-preview.

Erforderliche Header:

  • Content-Type: multipart/form-data
  • api-key: <your_API_key>

Inhalt:

Im Folgenden finden Sie einen Beispielanforderungstext. Sie geben eine Reihe von Optionen an, die in späteren Abschnitten definiert sind.

Wichtig

Die Bildbearbeitungs-API verwendet mehrteilige/Formulardaten, nicht JSON-Daten. Das folgende Beispiel zeigt Beispielformulardaten, die an eine cURL-Anforderung angefügt werden.

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

API-Antwortausgabe

Die Antwort eines erfolgreichen API-Aufrufs für die Bildbearbeitung sieht wie im folgenden Beispiel aus. Das b64_json Feld enthält die Ausgabebilddaten.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "b64_json": "<base64 image data>"
        }
    ]
} 

Angeben von Bildbearbeitungs-API-Optionen

Die folgenden API-Textkörperparameter sind für Bildbearbeitungsmodelle verfügbar, zusätzlich zu den Parametern, die für Bildgenerierungsmodelle verfügbar sind.

Bild

Der Bildwert gibt die Bilddatei an, die Sie bearbeiten möchten.

Eingabetreue

Der input_fidelity Parameter steuert, wie viel Aufwand das Modell in die Übereinstimmung mit dem Stil und den Features, insbesondere Gesichtsmerkmalen, von Eingabebildern einfügt.

Mit diesem Parameter können Sie subtile Bearbeitungen an einem Bild vornehmen, ohne dass nicht verwandte Bereiche geändert werden. Wenn Sie hohe Eingabetreue verwenden, bleiben Gesichter genauer als im Standardmodus erhalten.

Wichtig

Die gpt-image-1-mini Eingabetreue wird vom Modell nicht unterstützt.

Maske

Der Mask-Parameter verwendet denselben Typ wie der Hauptbildeingabeparameter . Er definiert den Bereich des Bilds, den das Modell bearbeiten soll, wobei in diesen Bereichen vollständig transparente Pixel (Alpha von Null) verwendet werden. Die Maske muss eine PNG-Datei sein und dieselben Abmessungen wie das Eingabebild aufweisen.

Streaming

Verwenden Sie den Stream-Parameter , um Streamingantworten zu aktivieren. Bei Festlegung auf true, gibt die API Teilbilder zurück, während sie generiert werden. Dieses Feature bietet schnelleres visuelles Feedback für Benutzer und verbessert die wahrgenommene Latenz. Legen Sie den parameter partial_images fest, um zu steuern, wie viele Teilbilder generiert werden (1-3).

Transparenz

GPT-image-1 nur: Setzen Sie den Parameter background auf transparent und output_format auf PNG in einer Bildanfrage, um ein Bild mit transparentem Hintergrund zu erhalten.

Schreiben effektiver Text-zu-Bild-Eingabeaufforderungen

Ihre Eingabeaufforderungen sollten den Inhalt beschreiben, den Sie im Bild und im visuellen Stil des Bilds sehen möchten.

Berücksichtigen Sie beim Schreiben von Eingabeaufforderungen, dass die Bild-APIs einen Inhaltsmoderationsfilter enthalten. Wenn der Dienst Ihre Eingabeaufforderung als schädliche Inhalte erkennt, wird kein Bild generiert. Weitere Informationen finden Sie unter Inhaltsfilterung.

Tipp

Einen ausführlichen Überblick darüber, wie Sie Ihre Textaufforderungen so optimieren können, dass verschiedene Arten von Bildern generiert werden, finden Sie im Leitfaden zum Engineering der Bildaufforderung.

Verantwortungsvolle KI und Bildgenerierung

Azure OpenAI-Imagegenerierungsmodelle enthalten integrierte Verantwortungsvolle KI (RAI)-Schutz, um eine sichere und konforme Verwendung zu gewährleisten.

Darüber hinaus bietet Azure Eingabe- und Ausgabemoderation in allen Bildgenerierungsmodellen sowie Azure spezifischen Schutzmaßnahmen wie Inhaltsfilterung und Missbrauchsüberwachung. Diese Systeme helfen dabei, die Generierung oder den Missbrauch von schädlichen, unsicheren oder richtlinienverletzenden Inhalten zu erkennen und zu verhindern.

Kunden erfahren mehr über diese Sicherheitsvorkehrungen und wie Sie sie hier anpassen können:

Besondere Überlegungen zum Generieren von Bildern von Minderjährigen

Fotorealistische Bilder von Minderjährigen werden standardmäßig blockiert. Kunden können Zugriff auf diese Modellfunktion anfordern. Kunden auf Unternehmensebene werden automatisch genehmigt.

Problembehandlung

API-Aufrufverweigerung

Aufforderungen und Bilder werden basierend auf unserer Inhaltsrichtlinie gefiltert. Die API gibt einen Fehler zurück, wenn eine Eingabeaufforderung oder ein Bild gekennzeichnet ist.

Wenn Ihre Eingabeaufforderung gekennzeichnet ist, wird der error.code Wert in der Nachricht auf contentFilter gesetzt. Hier ist ein Beispiel:

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

Es ist auch möglich, dass das generierte Bild selbst gefiltert wird. In diesem Fall lautet die Fehlermeldung "Das generierte Bild wurde aufgrund unseres Sicherheitssystems gefiltert". Hier ist ein Beispiel:

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

Fehler beim Rategrenzwert

Wenn Sie einen Fehler von 429 erhalten, haben Sie Ihr Zinslimit überschritten. Warten Sie, bevor Sie den Vorgang wiederholen oder eine Kontingenterhöhung im Azure Portal anfordern.

Authentifizierungsfehler

Wenn Ihnen ein Fehler 401 angezeigt wird:

  • API-Schlüsselauthentifizierung: Überprüfen Sie, ob Ihr API-Schlüssel korrekt und nicht abgelaufen ist.
  • Verwaltete Identität: Stellen Sie sicher, dass Ihre Identität über die Rolle "Cognitive Services OpenAI User " für die Ressource verfügt.

Timeoutfehler

Die Bildgenerierung kann bis zu 60 Sekunden dauern bei komplexen Eingabeaufforderungen. Wenn Timeouts auftreten:

  • Verwenden Sie Streaming, um Teilergebnisse früher zu erhalten.
  • Vereinfachen Sie Ihre Eingabeaufforderung.
  • Versuchen Sie es mit einer kleineren Bildgröße.