Udostępnij za pośrednictwem


Jak używać modeli generowania obrazów usługi Azure OpenAI

Modele generowania obrazów OpenAI renderują obrazy na podstawie poleceń tekstowych dostarczonych przez użytkownika i opcjonalnie dostarczonych obrazów. W tym przewodniku pokazano, jak używać modeli generowania obrazów i konfigurować ich opcje za pomocą wywołań interfejsu API REST.

Wymagania wstępne

Wywoływanie interfejsu API generowania obrazów

Poniższe polecenie przedstawia najbardziej podstawowy sposób używania modelu obrazu z kodem. Jeśli używasz tych modeli po raz pierwszy za pomocą programu, zalecamy rozpoczęcie pracy z szybkim przewodnikiem.

Wyślij żądanie POST do:

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

Adres URL:

Zastąp następujące wartości:

  • <your_resource_name> to nazwa zasobu usługi Azure OpenAI.
  • <your_deployment_name> to nazwa wdrożenia modelu DALL-E 3 lub GPT-image-1.
  • <api_version> to wersja interfejsu API, którego chcesz użyć. Na przykład 2025-04-01-preview.

Wymagane nagłówki:

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

Treść:

Poniżej znajduje się przykładowa treść żądania. Określ szereg opcji zdefiniowanych w kolejnych sekcjach.

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

Wynik

Odpowiedź na pomyślne wywołanie interfejsu API generowania obrazów wygląda tak, jak przedstawiono w poniższym przykładzie. Pole url zawiera adres URL, pod którym można pobrać wygenerowany obraz. Adres URL pozostaje aktywny przez 24 godziny.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "url": "<URL_to_generated_image>",
            "revised_prompt": "<prompt_that_was_used>" 
        }
    ]
} 

Odrzucenie wywołań interfejsu API

Monity i obrazy są filtrowane na podstawie naszych zasad zawartości, zwracając błąd po oflagowaniu monitu lub obrazu.

Jeśli monit jest oflagowany, error.code wartość w komunikacie jest ustawiona na contentFilterwartość . Oto przykład:

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

Możliwe jest również, że wygenerowany obraz jest filtrowany. W takim przypadku komunikat o błędzie jest ustawiony na wygenerowany obraz został przefiltrowany w wyniku naszego systemu bezpieczeństwa. Oto przykład:

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

Pisanie monitów tekst-obraz

Monity powinny opisywać zawartość, którą chcesz zobaczyć na obrazie, oraz styl wizualny obrazu.

Podczas pisania poleceń należy wziąć pod uwagę, że API obrazów są wyposażone w filtr moderowania zawartości. Jeśli usługa rozpoznaje monit jako szkodliwą zawartość, nie generuje obrazu. Aby uzyskać więcej informacji, zobacz Filtrowanie zawartości.

Wskazówka

Aby zapoznać się ze szczegółowym omówieniem sposobu dostosowywania monitów tekstowych w celu wygenerowania różnych rodzajów obrazów, zobacz Przewodnik inżynieryjny monitu o obraz.

Określanie opcji interfejsu API

Następujące parametry treści interfejsu API są dostępne dla modeli generowania obrazów.

Rozmiar

Określ rozmiar wygenerowanych obrazów. Musi być jednym z modeli 1024x1024, 1024x1536 lub 1536x1024 dla modeli GPT-image-1. Obrazy kwadratowe są szybsze do wygenerowania.

Jakość

Istnieją trzy opcje jakości obrazu: low, mediumi high. Obrazy o niższej jakości można generować szybciej.

Wartość domyślna to high.

Liczba

Możesz wygenerować między jednym i 10 obrazami w jednym wywołaniu interfejsu API. Wartość domyślna to 1.

Identyfikator użytkownika

Użyj parametru użytkownika , aby określić unikatowy identyfikator użytkownika wysyłającego żądanie. Jest to przydatne w przypadku śledzenia i monitorowania wzorców użycia. Wartość może być dowolnym ciągiem, takim jak identyfikator użytkownika lub adres e-mail.

Format wyjściowy

Użyj parametru output_format , aby określić format wygenerowanego obrazu. Obsługiwane formaty to PNG i JPEG. Wartość domyślna to PNG.

Uwaga / Notatka

Obrazy webp nie są obsługiwane w usłudze Azure OpenAI w modelach usługi Azure AI Foundry.

Kompresja

Użyj parametru output_compression , aby określić poziom kompresji wygenerowanego obrazu. Wprowadź liczbę całkowitą między 0 a 100, gdzie 0 oznacza brak kompresji, a 100 oznacza maksymalną kompresję. Wartość domyślna to 100.

Wywołaj interfejs API edycji obrazu

Interfejs API edycji obrazu umożliwia modyfikowanie istniejących obrazów na podstawie wyświetlanych monitów tekstowych. Wywołanie interfejsu API jest podobne do wywołania interfejsu API generowania obrazów, ale musisz również podać obraz wejściowy.

Ważne

Obraz wejściowy musi mieć rozmiar mniejszy niż 20 MB i musi być plikiem PNG lub JPG.

Wyślij żądanie POST do:

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

Adres URL:

Zastąp następujące wartości:

  • <your_resource_name> to nazwa zasobu usługi Azure OpenAI.
  • <your_deployment_name> to nazwa wdrożenia modelu DALL-E 3 lub GPT-image-1.
  • <api_version> to wersja interfejsu API, którego chcesz użyć. Na przykład 2025-04-01-preview.

Wymagane nagłówki:

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

Treść:

Poniżej znajduje się przykładowa treść żądania. Określ szereg opcji zdefiniowanych w kolejnych sekcjach.

Ważne

API edycji obrazów przyjmuje dane w formacie wieloczęściowym/formularzowym, a nie w formacie JSON. W poniższym przykładzie przedstawiono przykładowe dane formularza, które byłyby dołączone do żądania cURL.

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

Wynik

Odpowiedź z udanego wywołania interfejsu API do edytowania obrazu wygląda jak w poniższym przykładzie. Pole b64_json zawiera dane obrazu wyjściowego.

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

Określanie opcji interfejsu API

Następujące parametry treści interfejsu API są dostępne dla modeli edycji obrazów, oprócz tych dostępnych dla modeli generowania obrazów.

obraz

Wartość obrazu wskazuje plik obrazu, który chcesz edytować.

Maska

Parametr maski jest taki sam jak główny parametr wejściowy obrazu . Definiuje obszar obrazu, który ma być edytowany przez model przy użyciu w pełni przezroczystych pikseli (alfa zera) w tych obszarach. Maska musi być plikiem PNG i mieć takie same wymiary jak obraz wejściowy.