OpenAI のイメージ生成モデルは、ユーザーが指定したテキスト プロンプトとオプションの画像からイメージを作成します。 この記事では、これらのモデルの使用方法、オプションの構成方法、Azure での高度なイメージ生成機能の利点について説明します。
Prerequisites
- Azure サブスクリプション。 無料で作成できます。
- サポートされるリージョンに作成された Azure OpenAI リソース。 利用可能なリージョンに関するページを参照してください。
- Azure OpenAI リソースを使用して
dall-e-3
またはgpt-image-1
モデルをデプロイします。 デプロイの詳細については、「 Azure OpenAI を使用してリソースを作成し、モデルをデプロイする」を参照してください。- GPT-image-1 は新しいモデルであり、DALL-E 3 より多くの機能強化が特徴です。 制限付きアクセスで利用できます。 このフォームでアクセスを申請してください。
イメージ生成 API を呼び出す
次のコマンドは、コードでイメージ モデルを使用する最も基本的な方法を示しています。 これらのモデルをプログラムで初めて使用する場合は、クイックスタートから始 めます。
POST 要求を次の宛先に送信します。
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/generations?api-version=<api_version>
URL:
次の値を置き換えます。
-
<your_resource_name>
は、Azure OpenAI リソースの名前です。 -
<your_deployment_name>
は、DALL-E 3 または GPT-image-1 モデルデプロイの名前です。 -
<api_version>
は、使う API のバージョンです。 たとえば、2025-04-01-preview
のようにします。
必要なヘッダー:
-
Content-Type
:application/json
-
api-key
:<your_API_key>
Body:
要求本文の例を次に示します。 いくつかのオプションを指定します。これらについては、後のセクションで定義します。
{
"prompt": "A multi-colored umbrella on the beach, disposable camera",
"model": "gpt-image-1",
"size": "1024x1024",
"n": 1,
"quality": "high"
}
Tip
イメージ生成トークンのコストについては、「 イメージ トークン」を参照してください。
Output
イメージ生成 API 呼び出しが成功した場合の応答は、次の例のようになります。
b64_json
フィールドには、出力イメージ データが含まれています。
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
Note
response_format
パラメーターは GPT-image-1 ではサポートされていません。これは常に base64 でエンコードされたイメージを返します。
API 呼び出しの拒否
プロンプトと画像は、コンテンツ ポリシーに基づいてフィルター処理されます。 プロンプトまたはイメージにフラグが設定されると、API はエラーを返します。
プロンプトにフラグが設定されている場合、メッセージの error.code
値は contentFilter
に設定されます。 次に例を示します。
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
生成画像自体がフィルター処理される可能性もあります。 この場合、エラー メッセージは、"生成された画像は安全システムによりフィルター処理されました" に設定されます。 次に例を示します。
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
効果的なテキストから画像へのプロンプトを記述する
プロンプトには、画像に表示するコンテンツとイメージのビジュアル スタイルが記述されている必要があります。
プロンプトを記述するときは、Image API にコンテンツ モデレーション フィルターが付属していることを検討してください。 サービスがプロンプトを有害なコンテンツとして認識した場合、画像は生成されません。 詳細については、「コンテンツのフィルター処理」を参照してください。
Tip
テキスト プロンプトを調整してさまざまな種類の画像を生成する方法については、イメージ プロンプト エンジニアリング ガイドを参照してください。
API オプションを指定する
イメージ生成モデルでは、次の API 本文パラメーターを使用できます。
Size
生成される画像のサイズを指定します。 GPT-image-1 モデルの 1024x1024
、 1024x1536
、または 1536x1024
のいずれかである必要があります。 正方形の画像は生成が速くなります。
Quality
画質には、 low
、 medium
、 high
の 3 つのオプションがあります。 低品質の画像をより高速に生成できます。
既定値は high
です。
Number
1 つの API 呼び出しで 1 から 10 個のイメージを生成できます。 既定値は 1
です。
ユーザーID
ユーザー パラメーターを使用して、要求を行うユーザーの一意の識別子を指定します。 この識別子は、使用パターンの追跡と監視に役立ちます。 値には、ユーザー ID や電子メール アドレスなどの任意の文字列を指定できます。
出力形式
生成されたイメージの形式を指定するには、 output_format パラメーターを使用します。 サポートされている形式は、 PNG
と JPEG
です。 既定値は PNG
です。
Note
WEBP イメージは、Azure AI Foundry モデルの Azure OpenAI ではサポートされていません。
Compression
生成されたイメージの圧縮レベルを指定するには、 output_compression パラメーターを使用します。
0
と100
の間に整数を入力します。ここで、0
は圧縮なし、100
は最大圧縮です。 既定値は 100
です。
Streaming
ストリーミング応答を有効にするには、 stream パラメーターを使用します。
true
に設定すると、生成された部分イメージが API によって返されます。 この機能により、ユーザーに視覚的なフィードバックが迅速に提供され、認識される待機時間が向上します。
partial_images パラメーターを設定して、生成される部分イメージの数を制御します (1 から 3)。
イメージ編集 API を呼び出す
Image Edit API を使用すると、指定したテキスト プロンプトに基づいて既存のイメージを変更できます。 API 呼び出しはイメージ生成 API 呼び出しに似ていますが、入力イメージも指定する必要があります。
Important
入力イメージのサイズは 50 MB 未満で、PNG または JPG ファイルである必要があります。
POST 要求を次の宛先に送信します。
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/edits?api-version=<api_version>
URL:
次の値を置き換えます。
-
<your_resource_name>
は、Azure OpenAI リソースの名前です。 -
<your_deployment_name>
は、DALL-E 3 または GPT-image-1 モデルデプロイの名前です。 -
<api_version>
は、使う API のバージョンです。 たとえば、2025-04-01-preview
のようにします。
必要なヘッダー:
-
Content-Type
:multipart/form-data
-
api-key
:<your_API_key>
Body:
要求本文の例を次に示します。 いくつかのオプションを指定します。これらについては、後のセクションで定義します。
Important
Image Edit API は、JSON データではなくマルチパート/フォーム データを受け取ります。 次の例は、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"
API 応答の出力
画像編集 API 呼び出しが成功した場合の応答は、次の例のようになります。
b64_json
フィールドには、出力イメージ データが含まれています。
{
"created": 1698116662,
"data": [
{
"b64_json": "<base64 image data>"
}
]
}
イメージ編集 API オプションを指定する
画像生成モデルで使用できるパラメーターに加えて、次の API 本文パラメーターを画像編集モデルで使用できます。
Image
イメージ値は、編集するイメージ ファイルを示します。
入力の忠実性
input_fidelity パラメーターは、モデルが入力画像のスタイルと特徴、特に顔の特徴に一致する作業量を制御します。
このパラメーターを使用すると、関連のない領域を変更することなく、イメージを微妙に編集できます。 高い入力忠実度を使用すると、面は標準モードよりも正確に保持されます。
Mask
mask パラメーターは、メイン イメージ入力パラメーターと同じ型を使用します。 これらの領域で完全に透明なピクセル (ゼロのアルファ) を使用して、モデルで編集するイメージの領域を定義します。 マスクは PNG ファイルで、入力イメージと同じサイズにする必要があります。
Streaming
ストリーミング応答を有効にするには、 stream パラメーターを使用します。
true
に設定すると、生成された部分イメージが API によって返されます。 この機能により、ユーザーに視覚的なフィードバックが迅速に提供され、認識される待機時間が向上します。
partial_images パラメーターを設定して、生成される部分イメージの数を制御します (1 から 3)。