Dela via


Så här använder du Azure OpenAI-avbildningsgenereringsmodeller

OpenAI:s bildgenereringsmodeller skapar avbildningar från textfrågor som tillhandahålls av användaren och valfria bilder. Den här artikeln beskriver hur du använder dessa modeller, konfigurerar alternativ och drar nytta av avancerade bildgenereringsfunktioner i Azure.

Prerequisites

Översikt

Aspekt GPT-Image-1 GPT-Image-1-Mini DALL·E 3
Indata/utdatamodaliteter och format Accepterar text + bildindata ; matar endast ut bilder i base64 (inget URL-alternativ). Accepterar text + bildindata ; matar endast ut bilder i base64 (inget URL-alternativ). Accepterar textinmatning (primär). begränsade bildredigeringsindata (med mask). Utdata som URL eller base64.
Bildstorlekar/upplösningar 1024×1024, 1024×1536, 1536×1024 1024×1024, 1024×1536, 1536×1024 1024×1024, 1024×1792, 1792×1024
Kvalitetsalternativ low, medium, high (standard = hög) low, medium, high (standard = medel) standard, hd; formatalternativ: natural, vivid
Antal bilder per begäran 1–10 bilder per begäran (n parameter) 1–10 bilder per begäran (n parameter) Endast 1 bild per begäran (n måste vara 1)
Redigering (retuschering/variationer) Ja – stöder inpainting och variationer med mask + prompt Ja – stöder inpainting och variationer med mask + prompt Ja – stöder inpainting och variationer
Ansiktsbevarande ✅ Avancerat ansiktsbevarande för realistiska, konsekventa resultat ❌ Ingen dedikerad algoritm för ansiktsbevarande; bättre för icke-porträtt/allmänna kreativa bilder ❌ Ingen dedikerad ansiktsbevarande funktion
Prestanda och kostnad High-fidelity, realism-optimerad modell; högre svarstid och kostnad Kostnadseffektivt och snabbare för storskalig eller iterativ generering Balanserad prestanda; högre svarstid för komplexa frågor
Styrkor Bäst för realism, instruktionsföljning och multimodal kontext Bäst för snabba prototyper, massgenerering eller kostnadskänsliga användningsfall Stark snabb efterlevnad, naturlig textrendering och stilistisk mångfald

Ansvarsfull AI och bildgenerering

Azure OpenAI-avbildningsgenereringsmodeller innehåller inbyggda RAI-skydd (Responsible AI) för att säkerställa säker och kompatibel användning. Vi tillhandahåller indata- och utdatamoderering för alla bildgenereringsmodeller, tillsammans med Azure-specifika skydd som innehållsfiltrering och övervakning av missbruk. Dessa system hjälper till att identifiera och förhindra generering eller missbruk av skadligt, osäkert eller principkränkande innehåll. Kunderna kan lära sig mer om dessa skyddsåtgärder och hur de anpassas här:

Vissa EA-kunder (Enterprise-avtal), kunder med betydande användningsvolym eller kunder med godkända användningsfall kan också vara berättigade att aktivera fototransformeringar (dvs. tillämpa bildredigeringar) på bilder som innehåller minderåriga. Om du är godkänd blockeras inte sådana bilder automatiskt av systemet.

Anropa API:et för bildgenerering

Följande kommando visar det mest grundläggande sättet att använda en bildmodell med kod. Om det här är första gången du använder dessa modeller programmatiskt börjar du med snabbstarten.

Skicka en POST-begäran till:

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

URL:

Ersätt följande värden:

  • <your_resource_name> är namnet på din Azure OpenAI-resurs.
  • <your_deployment_name> är namnet på din DALL-E 3- eller GPT-image-1-modellutrullning.
  • <api_version> är den version av API:et som du vill använda. Till exempel 2025-04-01-preview.

Nödvändiga rubriker:

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

Body:

Följande är ett exempel på begärandetext. Du anger ett antal alternativ som definieras i senare avsnitt.

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

Tip

Information om kostnader för token för bildgenerering finns i Bildtoken.

Output

Svaret från ett API-anrop för generering av avbildningar ser ut som i följande exempel. Fältet b64_json innehåller data för utdata för bilden.

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

Note

Parametern response_format stöds inte för GPT-image-1, som alltid returnerar base64-kodade bilder.

Streaming

Du kan strömma begäranden om bildgenerering till gpt-image-1 genom att ange parametern stream till true, och ange parametern partial_images till ett värde mellan 0 och 3.

import base64
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://RESOURCE-NAME-HERE/openai/v1/",  
  api_key=token_provider,
  default_headers={"api_version":"preview"}
)

stream = client.images.generate(
    model="gpt-image-1",
    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)
 

Avvisande av API-anrop

Frågor och bilder filtreras baserat på vår innehållsprincip. API:et returnerar ett fel när en fråga eller bild flaggas.

Om din fråga har flaggats error.code är värdet i meddelandet inställt på contentFilter. Här är ett exempel:

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

Det är också möjligt att den genererade avbildningen filtreras. I det här fallet har felmeddelandet angetts till Genererad avbildning filtrerades som ett resultat av vårt säkerhetssystem. Här är ett exempel:

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

Skriva effektiva text-till-bild-frågor

Dina frågor bör beskriva det innehåll som du vill se i bilden och bildens visuella format.

När du skriver frågor bör du tänka på att bild-API:erna levereras med ett filter för innehållsmoderering. Om tjänsten känner igen din fråga som skadligt innehåll genereras ingen bild. Mer information finns i Innehållsfiltrering.

Tip

En grundlig titt på hur du kan justera textfrågorna för att generera olika typer av bilder finns i guiden för bildpromptteknik.

Ange API-alternativ

Följande API-brödtextparametrar är tillgängliga för bildgenereringsmodeller.

Size

Ange storleken på de genererade bilderna. Måste vara en av 1024x1024, 1024x1536eller 1536x1024 för GPT-image-1-modeller. Kvadratbilder är snabbare att generera.

Quality

Det finns tre alternativ för bildkvalitet: low, mediumoch high. Bilder av lägre kvalitet kan genereras snabbare.

Standardvärdet är high.

Number

Du kan generera mellan en och tio avbildningar i ett enda API-anrop. Standardvärdet är 1.

Användar-ID

Använd användarparametern för att ange en unik identifierare för användaren som gör begäran. Den här identifieraren är användbar för att spåra och övervaka användningsmönster. Värdet kan vara valfri sträng, till exempel ett användar-ID eller en e-postadress.

Utdataformat

Använd parametern output_format för att ange formatet för den genererade avbildningen. Format som stöds är PNG och JPEG. Standardvärdet är PNG.

Note

WEBP-avbildningar stöds inte i Azure OpenAI i Azure AI Foundry Models.

Compression

Använd parametern output_compression för att ange komprimeringsnivån för den genererade avbildningen. Ange ett heltal mellan 0 och 100, där 0 är ingen komprimering och 100 är maximal komprimering. Standardvärdet är 100.

Streaming

Använd strömparametern för att aktivera direktuppspelningssvar. När det är inställt på truereturnerar API:et partiella avbildningar när de genereras. Den här funktionen ger snabbare visuell feedback för användare och förbättrar den upplevda svarstiden. Ange parametern partial_images för att styra hur många partiella avbildningar som genereras (1–3).

Anropa API:et för bildredigering

Med API:et för bildredigering kan du ändra befintliga bilder baserat på textanvisningarna som du anger. API-anropet liknar API-anropet för bildgenerering, men du måste också ange en indatabild.

Important

Indatabilden måste vara mindre än 50 MB och måste vara en PNG- eller JPG-fil.

Skicka en POST-begäran till:

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

URL:

Ersätt följande värden:

  • <your_resource_name> är namnet på din Azure OpenAI-resurs.
  • <your_deployment_name> är namnet på din DALL-E 3- eller GPT-image-1-modellutrullning.
  • <api_version> är den version av API:et som du vill använda. Till exempel 2025-04-01-preview.

Nödvändiga rubriker:

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

Body:

Följande är ett exempel på begärandetext. Du anger ett antal alternativ som definieras i senare avsnitt.

Important

API:et för bildredigering tar data för flera delar/formulär, inte JSON-data. Exemplet nedan visar exempelformulärdata som skulle kopplas till en cURL-begäran.

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

Svaret från ett API-anrop för bildredigering ser ut som i följande exempel. Fältet b64_json innehåller data för utdata för bilden.

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

Ange api-alternativ för bildredigering

Följande API-brödtextparametrar är tillgängliga för bildredigeringsmodeller, förutom de som är tillgängliga för bildgenereringsmodeller.

Image

Bildvärdet anger den bildfil som du vill redigera.

Indatatrohet

Parametern input_fidelity styr hur mycket arbete modellen lägger på att matcha format och funktioner, särskilt ansiktsdrag, för indatabilder.

Med den här parametern kan du göra subtila ändringar i en bild utan att ändra orelaterade områden. När du använder hög återgivning av indata bevaras ansikten mer exakt än i standardläge.

Important

Indatasäkerhetens trohet stöds inte av gpt-image-1-mini-modellen.

Mask

Maskparametern använder samma typ som huvudbildindataparametern. Den definierar det område i bilden som du vill att modellen ska redigera med helt transparenta pixlar (alfa av noll) i dessa områden. Masken måste vara en PNG-fil och ha samma dimensioner som indatabilden.

Streaming

Använd strömparametern för att aktivera direktuppspelningssvar. När det är inställt på truereturnerar API:et partiella avbildningar när de genereras. Den här funktionen ger snabbare visuell feedback för användare och förbättrar den upplevda svarstiden. Ange parametern partial_images för att styra hur många partiella avbildningar som genereras (1–3).