Azure OpenAI image and audio REST API reference (2024-10-21)

本文記錄了 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-key HTTP 標頭中包含 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 audioResponseaudioVerboseResponse
文字/平文 字串 以輸出格式轉錄文字(當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 audioResponseaudioVerboseResponse
文字/平文 字串 以輸出格式轉錄文字(當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 的底層模型Azure。