この記事では、2024-10-21 GA リリースの Azure OpenAI の画像生成と音声 (音声) データ プレーン推論 REST API 操作について説明します。 チャットの完了、埋め込み、完了、およびその他のすべての操作については、OpenAI REST API リファレンスAzure公式を参照してください。
API 仕様
Azure OpenAIモデルやリソースの管理とやり取りは、主に3つのAPIサーフェスに分かれています。
- コントロール プレーン
- データプレーン - オーサリング
- データプレーン - 推論
各APIサーフェス/仕様は異なるAzure OpenAIの機能セットをカプセル化しています。 各APIは独自のプレビューおよび安定版/一般公開版(GA)APIリリースを持っています。 プレビューリリースは現在、月次のリリースリズムに従う傾向があります。
Important
現在、新しいプレビュー推論APIが登場しました。 API ライフサイクルガイドで詳しくご覧ください。
| API | 最新プレビューリリース | 最新のGAリリース | Specifications | 説明 |
|---|---|---|---|---|
| コントロール プレーン | 2025-07-01-preview |
2025-06-01 |
仕様書ファイル | コントロールプレーンAPIは 、リソースの作成、 モデル展開、その他の高レベルのリソース管理タスクなどの操作に使用されます。 コントロールプレーンはまた、Azure Resource Manager、Bicep、Terraform、Azure CLIなどの機能で何が可能かも管理しています。 |
| データ プレーン | v1 preview |
v1 |
仕様書ファイル | データプレーンAPIは推論およびオーサリング操作を制御します。 |
認証
Azure OpenAIは認証のために2つの方法を提供しています。 APIキーかMicrosoft Entra IDのどちらかを使うことができます。
APIキー認証:この種の認証では、すべてのAPIリクエストに
api-keyHTTPヘッダーにAPIキーを含める必要があります。 クイックスタートは、この種の認証で通話する方法についてのガイダンスを提供します。Microsoft Entra ID authentication:Microsoft Entraトークンを使ってAPI呼び出しを認証できます。 認証トークンはリクエストの中には
Authorizationヘッダーとして含まれています。 提供されるトークンの前にBearerが必ず付き、例えばBearer YOUR_AUTH_TOKEN。 Microsoft Entra ID<>でのauthenticating の使い方ガイドをお読みいただけます。
REST API バージョン管理
サービスAPIは api-version クエリパラメータを用いてバージョン管理されています。 すべてのバージョンはYYYY-MM-DD 日付構造に従っています。 例えば次が挙げられます。
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-06-01
データプレーン推論
この記事の残りの部分では、Azure OpenAI データ プレーン推論仕様 (2024-10-21) の GA リリースでの画像とオーディオの操作について説明します。
プレビュー イメージとオーディオ操作については、 プレビュー イメージとオーディオ REST API リファレンスを参照してください。
書き起こし - 作成
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
音声を入力言語に書き起こします。
URI パラメーター
| 名前 | In | 必須 | タイプ | 説明 |
|---|---|---|---|---|
| エンドポイント | パス | はい | 文字列 url |
OpenAI Azureエンドポイント(プロトコルおよびホスト名、例:https://aoairesource.openai.azure.com)に対応しています。「aoairesource」をAzure OpenAIリソース名に置き換えてください。 https://{your-resource-name}.openai.azure.com |
| デプロイメント ID | パス | はい | 文字列 | 音声入力モデルのデプロイID サポートモデルの詳細については、[/azure/ai-foundry/openai/concepts/models#audio-models]をご覧ください。 |
| api-version | クエリ | はい | 文字列 | API バージョン |
リクエストヘッダー
| 名前 | 必須 | タイプ | 説明 |
|---|---|---|---|
| APIキー | 正しい | 文字列 | ここにAzure OpenAI API キーを提供してください |
リクエストボディ
Content-Type: マルチパート/フォームデータ
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| ファイル | 文字列 | 音声ファイルオブジェクトを文字起こしします。 | はい | |
| ダイアログを表示する | 文字列 | モデルのスタイルをガイドしたり、前の音声セグメントを続けるためのオプションテキスト。 プロンプトは音声言語に合っているべきです。 | いいえ | |
| response_format | audioResponseFormat | 出力のフォーマットを定義します。 | いいえ | |
| 温度 | number | サンプリング温度は0から1の間です。 0.8のような高い値は出力をよりランダムにし、0.2のように低い値はより集中して決定的になります。 0に設定された場合、モデルは対数確率で一定の閾値に達するまで自動的に温度を上げます。 | いいえ | 0 |
| 言語 | 文字列 | 入力音声の言語。 入力言語をISO-639-1形式で提供することで、精度と遅延が向上します。 | いいえ |
Responses
ステータスコード: 200
説明: OK
| Content-Type(コンテンツの種類) | Type | 説明 |
|---|---|---|
| application/json | audioResponse または audioVerboseResponse | |
| text/plain | 文字列 | テキストがテキスト、vtt、srtのいずれかだった場合、出力形式で文字起こしresponse_format。 |
Examples
例
提供された音声データから文字起こしテキストと関連メタデータを取得します。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
回答:ステータスコード:200
{
"body": {
"text": "A structured object when requesting json or verbose_json"
}
}
例
提供された音声データから文字起こしテキストと関連メタデータを取得します。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"
回答:ステータスコード:200
{
"type": "string",
"example": "plain text when requesting text, srt, or vtt"
}
翻訳 - 作成
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21
入力された音声を英語テキストに書き起こし・翻訳します。
URI パラメーター
| 名前 | In | 必須 | タイプ | 説明 |
|---|---|---|---|---|
| エンドポイント | パス | はい | 文字列 url |
OpenAI Azureエンドポイント(プロトコルおよびホスト名、例:https://aoairesource.openai.azure.com)に対応しています。「aoairesource」をAzure OpenAIリソース名に置き換えてください。 https://{your-resource-name}.openai.azure.com |
| デプロイメント ID | パス | はい | 文字列 | デプロイされた文字起こしモデルのデプロイ ID。 サポートモデルの詳細については、[/azure/ai-foundry/openai/concepts/models#audio-models]をご覧ください。 |
| api-version | クエリ | はい | 文字列 | API バージョン |
リクエストヘッダー
| 名前 | 必須 | タイプ | 説明 |
|---|---|---|---|
| APIキー | 正しい | 文字列 | ここにAzure OpenAI API キーを提供してください |
リクエストボディ
Content-Type: マルチパート/フォームデータ
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| ファイル | 文字列 | 翻訳用の音声ファイル。 | はい | |
| ダイアログを表示する | 文字列 | モデルのスタイルをガイドしたり、前の音声セグメントを続けるためのオプションテキスト。 プロンプトは英語で書かれるべきです。 | いいえ | |
| response_format | audioResponseFormat | 出力のフォーマットを定義します。 | いいえ | |
| 温度 | number | サンプリング温度は0から1の間です。 0.8のような高い値は出力をよりランダムにし、0.2のように低い値はより集中して決定的になります。 0に設定された場合、モデルは対数確率で一定の閾値に達するまで自動的に温度を上げます。 | いいえ | 0 |
Responses
ステータスコード: 200
説明: OK
| Content-Type(コンテンツの種類) | Type | 説明 |
|---|---|---|
| application/json | audioResponse または audioVerboseResponse | |
| text/plain | 文字列 | テキストがテキスト、vtt、srtのいずれかだった場合、出力形式で文字起こしresponse_format。 |
Examples
例
提供された音声データから英語の文字起こしテキストと関連するメタデータを取得します。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21
"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"
回答:ステータスコード:200
{
"body": {
"text": "A structured object when requesting json or verbose_json"
}
}
例
提供された音声データから英語の文字起こしテキストと関連するメタデータを取得します。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21
"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"
回答:ステータスコード:200
{
"type": "string",
"example": "plain text when requesting text, srt, or vtt"
}
イメージの生成
POST https://{endpoint}/openai/deployments/{deployment-id}/images/generations?api-version=2024-10-21
与えられたDall-eモデル展開時のテキストキャプションから画像の一括を生成する
URI パラメーター
| 名前 | In | 必須 | タイプ | 説明 |
|---|---|---|---|---|
| エンドポイント | パス | はい | 文字列 url |
OpenAI Azureエンドポイント(プロトコルおよびホスト名、例:https://aoairesource.openai.azure.com)に対応しています。「aoairesource」をAzure OpenAIリソース名に置き換えてください。 https://{your-resource-name}.openai.azure.com |
| デプロイメント ID | パス | はい | 文字列 | 展開されたdall-eモデルのデプロイID |
| api-version | クエリ | はい | 文字列 | API バージョン |
リクエストヘッダー
| 名前 | 必須 | タイプ | 説明 |
|---|---|---|---|
| APIキー | 正しい | 文字列 | ここにAzure OpenAI API キーを提供してください |
リクエストボディ
コンテンツ タイプ: アプリケーション/json
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| ダイアログを表示する | 文字列 | 目的の画像のテキスト説明。 最大長さは4,000文字です。 | はい | |
| n | 整数 | 生成すべき画像の数。 | いいえ | 1 |
| size | imageSize | 生成される画像のサイズ。 | いいえ | 1024 x 1024 |
| response_format | imagesResponseFormat | 生成された画像が返される形式。 | いいえ | url |
| ユーザー | 文字列 | エンドユーザーを表す一意の識別子であり、悪用の監視や検出に役立ちます。 | いいえ | |
| 品質 | imageQuality | 生成される画像の品質。 | いいえ | 標準 |
| スタイル | imageStyle | 生成された画像のスタイル。 | いいえ | vivid |
Responses
ステータスコード: 200
説明: OK
| Content-Type(コンテンツの種類) | Type | 説明 |
|---|---|---|
| application/json | generateImagesResponse |
ステータスコード: デフォルト
説明:エラーが発生しました。
| Content-Type(コンテンツの種類) | Type | 説明 |
|---|---|---|
| application/json | dalleErrorResponse |
Examples
例
プロンプトを与えられた画像を作成します。
POST https://{endpoint}/openai/deployments/{deployment-id}/images/generations?api-version=2024-10-21
{
"prompt": "In the style of WordArt, Microsoft Clippy wearing a cowboy hat.",
"n": 1,
"style": "natural",
"quality": "standard"
}
回答:ステータスコード:200
{
"body": {
"created": 1698342300,
"data": [
{
"revised_prompt": "A vivid, natural representation of Microsoft Clippy wearing a cowboy hat.",
"prompt_filter_results": {
"sexual": {
"severity": "safe",
"filtered": false
},
"violence": {
"severity": "safe",
"filtered": false
},
"hate": {
"severity": "safe",
"filtered": false
},
"self_harm": {
"severity": "safe",
"filtered": false
},
"profanity": {
"detected": false,
"filtered": false
}
},
"url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_00.png?se=2023-10-27T17%3A45%3A09Z&...",
"content_filter_results": {
"sexual": {
"severity": "safe",
"filtered": false
},
"violence": {
"severity": "safe",
"filtered": false
},
"hate": {
"severity": "safe",
"filtered": false
},
"self_harm": {
"severity": "safe",
"filtered": false
}
}
}
]
}
}
Components
チャット、入力候補、埋め込み、その他のテキスト操作で使用されるスキーマ定義については、OpenAI REST API リファレンスAzure参照してください。 次のスキーマは、このページでの画像とオーディオの操作をサポートしています。
innerErrorCode
内側のエラーオブジェクトのエラーコード。
説明:内側のエラーオブジェクトのエラーコード。
型: 文字列
既定値:
列挙名:InnerErrorCode
列挙値:
| 価値 | 説明 |
|---|---|
| 責任あるAIポリシー違反 | プロンプトはさらにコンテンツフィルターのルールの一つに違反していました。 |
dalleErrorResponse
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| エラー | dalleError | いいえ |
dalleError
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| param | 文字列 | いいえ | ||
| 型 | 文字列 | いいえ | ||
| inner_error | dalleInnerError | 内部の誤りに追加の詳細を加えた。 | いいえ |
dalleInnerError
内部の誤りに追加の詳細を加えた。
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| コード | innerErrorCode | 内側のエラーオブジェクトのエラーコード。 | いいえ | |
| content_filter_results | dalleFilterResults | コンテンツフィルタリングのカテゴリ(ヘイト、性的、暴力、self_harm)、検出されたかどうか、そして有害なコンテンツの強度やリスクレベルを決定する重症度レベル(very_low、低、中、高)およびフィルタリングの有無に関する情報。 脱獄コンテンツや罵り言葉に関する情報、検出されたかどうか、フィルタリングされているかどうか。 顧客ブロックリストの情報(フィルタリング済みか)やID(ID)も含めて。 | いいえ | |
| 修正版プロンプト | 文字列 | 画像を生成するために使われたプロンプト、もしプロンプトに修正があったなら。 | いいえ |
contentFilterSeverityResult
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| filtered | boolean | はい | ||
| severity | 文字列 | いいえ |
contentFilterDetectedResult
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| filtered | boolean | はい | ||
| detected | boolean | いいえ |
dalleFilterResults
コンテンツフィルタリングのカテゴリ(ヘイト、性的、暴力、self_harm)、検出されたかどうか、そして有害なコンテンツの強度やリスクレベルを決定する重症度レベル(very_low、低、中、高)およびフィルタリングの有無に関する情報。 脱獄コンテンツや罵り言葉に関する情報、検出されたかどうか、フィルタリングされているかどうか。 顧客ブロックリストの情報(フィルタリング済みか)やID(ID)も含めて。
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| 性的 | contentFilterSeverityResult | いいえ | ||
| violence | contentFilterSeverityResult | いいえ | ||
| hate | contentFilterSeverityResult | いいえ | ||
| self_harm | contentFilterSeverityResult | いいえ | ||
| profanity | contentFilterDetectedResult | いいえ | ||
| 脱獄 | contentFilterDetectedResult | いいえ |
audioResponse
json response_format翻訳または転写応答
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| SMS 送信 | 文字列 | 翻訳または文字起こしのテキスト。 | はい |
audioVerboseResponse
response_formatが翻訳または転写された応答verbose_json
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| SMS 送信 | 文字列 | 翻訳または文字起こしのテキスト。 | はい | |
| タスク | 文字列 | 音声タスクの種類。 | いいえ | |
| 言語 | 文字列 | Language. | いいえ | |
| duration | number | Duration. | いいえ | |
| セグメント | アレイ | いいえ |
audioResponseFormat
出力のフォーマットを定義します。
説明:出力のフォーマットを定義します。
型: 文字列
既定値:
列挙値:
- Json
- SMS 送信
- srt
- verbose_json
- vtt
imageQuality
生成される画像の品質。
説明:生成される画像の品質。
型: 文字列
既定値: standard
エナム名:品質
列挙値:
| 価値 | 説明 |
|---|---|
| 標準 | 標準品質の画像は標準的な品質で作られます。 |
| hd | HD画質は、より細かく、画像全体でより一貫性のある画像を作り出します。 |
imagesResponseFormat
生成された画像が返される形式。
説明:生成された画像が返される形式。
型: 文字列
既定値: URL
列挙名:ImagesResponseFormat
列挙値:
| 価値 | 説明 |
|---|---|
| url | 生成された画像をダウンロードするための一時的なアクセスを提供するURLです。 |
| b64_json | 生成された画像はbase64エンコード文字列として返されます。 |
imageSize
生成される画像のサイズ。
説明:生成される画像のサイズ。
型: 文字列
既定値: 1024 x 1024
エナム名:サイズ
列挙値:
| 価値 | 説明 |
|---|---|
| 1792x1024 | 生成される画像の望ましいサイズは1792×1024ピクセルです。 |
| 1024 x 1792 | 生成される画像の希望サイズは1024×1792ピクセルです。 |
| 1024 x 1024 | 生成画像の希望サイズは1024×1024ピクセルです。 |
imageStyle
生成された画像のスタイル。
説明:生成された画像のスタイル。
型: 文字列
既定値: 鮮やか
エンム名:スタイル
列挙値:
| 価値 | 説明 |
|---|---|
| vivid | Vividは超リアルでドラマチックな映像を作り出します。 |
| natural | 自然なものは、より自然で、過度にリアルでないイメージを作り出します。 |
generateImagesResponse
| 名前 | タイプ | 説明 | 必須 | デフォルト |
|---|---|---|---|---|
| created | 整数 | 操作が作られたUnixのタイムスタンプ。 | はい | |
| データ | アレイ | 成功した場合の操作結果データ | はい |
次のステップ
REST API を使用したモデルと微調整について説明します。 OpenAI をAzureする基になるモデルの詳細について説明します。