本文記錄了 Azure OpenAI 2024-10-21 在 GA 版本中影像生成與音訊(語音)資料平面推論 REST API 操作。 關於聊天完成、嵌入、完成及所有其他操作,請參閱官方 Azure OpenAI REST API 參考資料。
API 規格
管理與互動 Azure OpenAI 模型與資源分為三大主要 API 介面:
- 控制平面
- 資料平面 - 著述
- 資料平面 - 推論
每個 API 表面/規範都封裝了一組不同的 Azure OpenAI 功能。 每個 API 都有其獨特的預覽版及穩定/一般可用(GA)API 版本。 預覽版目前通常以每月更新為準。
Important
現在有一個新的預覽推論 API。 想了解更多,請參閱我們的 API 生命週期指南。
| API | 最新預覽發布 | 最新 GA 發行 | Specifications | Description |
|---|---|---|---|---|
| 控制平面 | 2025-07-01-preview |
2025-06-01 |
規格檔案 | 控制平面 API 用於 建立資源、 模型部署及其他高階資源管理任務等操作。 控制平面也管理像 Azure Resource Manager、Bicep、Terraform 和 Azure CLI 這類功能能做什麼。 |
| 資料平面 | v1 preview |
v1 |
規格檔案 | 資料平面 API 控制推理與撰寫操作。 |
驗證
Azure OpenAI 提供兩種認證方法。 你可以使用 API Keys 或 Microsoft Entra ID。
API 金鑰認證:此類型驗證中,所有 API 請求必須在
api-keyHTTP 標頭中包含 API 金鑰。 快速入門指南提供了如何使用此類認證打電話的指引。Microsoft Entra ID authentication:你可以用 Microsoft Entra tokens 來驗證 API 呼叫。 認證憑證作為標頭包含在請求
Authorization中。 所提供的標記必須前置Bearer,例如Bearer YOUR_AUTH_TOKEN。 你可以閱讀我們關於使用 Microsoft Entra ID認證的操作指南。
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-21GA 版本中的影像與音訊操作。
關於預覽影像與音訊操作,請參閱 預覽影像與音訊 REST API 參考資料。
轉錄 - 建立
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
將音訊轉錄成輸入語言。
URI 參數
| Name | In | Required | 類型 | Description |
|---|---|---|---|---|
| 端點 | 路徑 | Yes | 字串 網址 |
支援Azure OpenAI 端點(協定與主機名稱,例如:https://aoairesource.openai.azure.com。請將「aoairesource」替換成你的 Azure OpenAI 資源名稱)。 https://{your-resource-name}.openai.azure.com |
| deployment-id | 路徑 | Yes | 字串 | 語音轉文字模型的部署ID。 有關支援模型的資訊,請參見 [/azure/ai-foundry/openai/concepts/models#audio-models]。 |
| API版本 | 查詢 | Yes | 字串 | API 版本 |
請求標頭
| Name | Required | 類型 | Description |
|---|---|---|---|
| API金鑰 | 沒錯 | 字串 | 在此輸入 Azure OpenAI API 金鑰 |
請求主體
Content-Type:multipart/form-data
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 檔案 | 字串 | 要轉錄的音訊檔案物件。 | Yes | |
| 提示 | 字串 | 可選文字用來引導模型風格或延續先前的音訊片段。 提示詞應該與音頻語言相符。 | No | |
| 回應格式 | audioResponseFormat | 定義輸出格式。 | No | |
| 溫度 | number | 取樣溫度介於0到1之間。 像 0.8 這樣的較高值會讓輸出更隨機,而像 0.2 這樣的低值則會讓輸出更聚焦且確定性強。 若設為 0,模型會利用對數機率自動升溫,直到達到特定閾值。 | No | 0 |
| 語言 | 字串 | 輸入音訊的語言。 以 ISO-639-1 格式提供輸入語言將提升準確度與延遲。 | No |
回應
狀態代碼: 200
描述:確定
| 內容類型 | Type | 說明 |
|---|---|---|
| application/json | audioResponse 或 audioVerboseResponse | |
| 文字/平文 | 字串 | 以輸出格式轉錄文字(當response_format為文字、vtt 或 srt 時)。 |
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 參數
| Name | In | Required | 類型 | Description |
|---|---|---|---|---|
| 端點 | 路徑 | Yes | 字串 網址 |
支援Azure OpenAI 端點(協定與主機名稱,例如:https://aoairesource.openai.azure.com。請將「aoairesource」替換成你的 Azure OpenAI 資源名稱)。 https://{your-resource-name}.openai.azure.com |
| deployment-id | 路徑 | Yes | 字串 | 已部署的轉錄模型的部署 ID。 有關支援模型的資訊,請參見 [/azure/ai-foundry/openai/concepts/models#audio-models]。 |
| API版本 | 查詢 | Yes | 字串 | API 版本 |
請求標頭
| Name | Required | 類型 | Description |
|---|---|---|---|
| API金鑰 | 沒錯 | 字串 | 在此輸入 Azure OpenAI API 金鑰 |
請求主體
Content-Type:multipart/form-data
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 檔案 | 字串 | 要翻譯的音訊檔案。 | Yes | |
| 提示 | 字串 | 可選文字用來引導模型風格或延續先前的音訊片段。 題目應該是英文。 | No | |
| 回應格式 | audioResponseFormat | 定義輸出格式。 | No | |
| 溫度 | number | 取樣溫度介於0到1之間。 像 0.8 這樣的較高值會讓輸出更隨機,而像 0.2 這樣的低值則會讓輸出更聚焦且確定性強。 若設為 0,模型會利用對數機率自動升溫,直到達到特定閾值。 | No | 0 |
回應
狀態代碼: 200
描述:確定
| 內容類型 | Type | 說明 |
|---|---|---|
| application/json | audioResponse 或 audioVerboseResponse | |
| 文字/平文 | 字串 | 以輸出格式轉錄文字(當response_format為文字、vtt 或 srt 時)。 |
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 參數
| Name | In | Required | 類型 | Description |
|---|---|---|---|---|
| 端點 | 路徑 | Yes | 字串 網址 |
支援Azure OpenAI 端點(協定與主機名稱,例如:https://aoairesource.openai.azure.com。請將「aoairesource」替換成你的 Azure OpenAI 資源名稱)。 https://{your-resource-name}.openai.azure.com |
| deployment-id | 路徑 | Yes | 字串 | 已部署的 dall-e 型號部署 ID。 |
| API版本 | 查詢 | Yes | 字串 | API 版本 |
請求標頭
| Name | Required | 類型 | Description |
|---|---|---|---|
| API金鑰 | 沒錯 | 字串 | 在此輸入 Azure OpenAI API 金鑰 |
請求主體
Content-Type:application/json
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 提示 | 字串 | 這是想要圖片的文字描述。 最大長度為4,000字元。 | Yes | |
| n | 整數 | 要產生的影像數量。 | No | 1 |
| size | imageSize | 產生的影像大小。 | No | 1024x1024 |
| 回應格式 | imagesResponseFormat | 產生影像回傳的格式。 | No | 網址 |
| 使用者 | 字串 | 一個代表終端使用者的獨特識別碼,有助於監控和偵測濫用行為。 | No | |
| 品質 | imageQuality | 所產生的影像品質。 | No | 標準 |
| 樣式 | imageStyle | 產生的圖片風格。 | No | vivid |
回應
狀態代碼: 200
描述:確定
| 內容類型 | Type | 說明 |
|---|---|---|
| application/json | generateImagesResponse |
狀態代碼: 預設
說明:發生錯誤。
| 內容類型 | 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
}
}
}
]
}
}
組成部分
關於聊天、補全、嵌入及其他文字操作所使用的結構定義,請參見 Azure OpenAI REST API 參考文獻。 以下結構支援本頁的影像與音訊操作。
innerErrorCode
內部錯誤物件的錯誤代碼。
說明:內部錯誤物件的錯誤代碼。
類型:字串
預設:
列舉名稱:InnerErrorCode
枚舉價值:
| 價值 | Description |
|---|---|
| ResponsibleAIPolicyViolation | 這個提示違反了其中一條內容過濾規則。 |
dalleErrorResponse
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 錯誤 | dalleError | No |
dalleError
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| param | 字串 | No | ||
| 型別 | 字串 | No | ||
| inner_error | dalleInnerError | 內部錯誤加上額外細節。 | No |
dalleInnerError
內部錯誤加上額外細節。
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 字碼 | innerErrorCode | 內部錯誤物件的錯誤代碼。 | No | |
| content_filter_results | dalleFilterResults | 關於內容過濾類別(仇恨、性、暴力、self_harm)、是否已被偵測到,以及嚴重程度等級(very_low、低、中、高,決定有害內容的強度與風險等級),以及是否已被過濾。 關於越獄內容與髒話的資訊,是否被偵測到,以及是否被過濾。 還有關於客戶封鎖名單的資訊(如果已經被過濾過)以及它的識別碼。 | No | |
| revised_prompt | 字串 | 如果提示有任何修改,就是用來產生圖片的提示。 | No |
contentFilterSeverityResult
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 過濾 | boolean | Yes | ||
| 嚴重程度 | 字串 | No |
contentFilterDetectedResult
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 過濾 | boolean | Yes | ||
| detected | boolean | No |
dalleFilterResults
關於內容過濾類別(仇恨、性、暴力、self_harm)、是否已被偵測到,以及嚴重程度等級(very_low、低、中、高,決定有害內容的強度與風險等級),以及是否已被過濾。 關於越獄內容與髒話的資訊,是否被偵測到,以及是否被過濾。 還有關於客戶封鎖名單的資訊(如果已經被過濾過)以及它的識別碼。
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 性方面 | 內容過濾嚴重程度結果 | No | ||
| 暴力 | 內容過濾嚴重程度結果 | No | ||
| 仇恨 | 內容過濾嚴重程度結果 | No | ||
| self_harm | 內容過濾嚴重程度結果 | No | ||
| 髒話 | 內容過濾檢測結果 | No | ||
| 越獄 | 內容過濾檢測結果 | No |
音頻回應
當 response_format 是 json 時,翻譯或轉錄回應
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 收發簡訊 | 字串 | 翻譯或轉錄文本。 | Yes |
audioVerboseResponse
翻譯或轉錄反應response_format verbose_json
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 收發簡訊 | 字串 | 翻譯或轉錄文本。 | Yes | |
| 工作 | 字串 | 音訊任務類型。 | No | |
| 語言 | 字串 | Language. | No | |
| duration | number | 持續時間。 | No | |
| 單元 | 陣列 | No |
audioResponseFormat
定義輸出格式。
說明:定義輸出格式。
類型:字串
預設:
枚舉價值:
- JSON
- 收發簡訊
- srt
- verbose_json
- vtt
imageQuality
所產生的影像品質。
描述:將產生的影像品質。
類型:字串
預設:標準
枚舉名稱:品質
枚舉價值:
| 價值 | Description |
|---|---|
| 標準 | 標準品質會產生標準品質的影像。 |
| hd | 高清畫質能創造出細節更細緻且整體一致性更高的影像。 |
imagesResponseFormat
產生影像回傳的格式。
說明:產生影像回傳的格式。
類型:字串
預設:URL
列舉名稱:ImagesResponseFormat
枚舉價值:
| 價值 | Description |
|---|---|
| 網址 | 提供暫時下載生成影像的網址。 |
| b64_json | 產生的影像以 base64 編碼字串回傳。 |
imageSize
產生的影像大小。
描述:產生影像的大小。
類型:字串
預設:1024x1024
列舉名稱:大小
枚舉價值:
| 價值 | Description |
|---|---|
| 1792x1024 | 產生影像的期望尺寸為 1792x1024 像素。 |
| 1024x1792 | 產生影像的期望尺寸為 1024x1792 像素。 |
| 1024x1024 | 產生影像的期望尺寸為 1024x1024 像素。 |
imageStyle
產生的圖片風格。
說明:生成圖片的風格。
類型:字串
預設:鮮明
枚舉名稱:風格
枚舉價值:
| 價值 | Description |
|---|---|
| vivid | Vivid 創造出超寫實且戲劇化的影像。 |
| natural | 自然的影像更自然,且不那麼過寫實。 |
generateImagesResponse
| Name | 類型 | Description | Required | 預設值 |
|---|---|---|---|---|
| 創造 | 整數 | Unix 的時間戳記是該操作建立的時刻。 | Yes | |
| 資料 | 陣列 | 操作成功時,該操作的結果資料 | Yes |
下一步
學習 模型與 REST API 的微調。
深入了解驅動 OpenAI 的