附註
此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
在本文中,您會瞭解如何在 Azure AI Foundry 入口網站中使用影片翻譯與 Azure AI 語音。
小提示
使用 API 之前,請先在 Azure AI Foundry 入口網站中試用影片翻譯。 使用 影片翻譯 REST API 將影片 翻譯整合到您的應用程式中。 如需 API 的詳細資訊,請參閱 影片翻譯 REST API。
先決條件
- Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 支援 區域中語音的 AI Foundry 資源。 如果您沒有語音資源,請在 Azure 入口網站中建立一個。
- Azure Blob 儲存體帳戶。
- 您需要 .mp4 格式、小於 5 GB 且少於 4 小時的視訊檔案。 為了進行測試,您可以使用 Microsoft 在 https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4提供的範例影片檔案。
- 請確定影片翻譯支援您的 來源和目標語言。
試用影片翻譯
若要試用影片翻譯示範,請遵循下列步驟:
在目錄搜尋方塊中輸入並搜尋 「Azure-AI-Speech」。。
選取 [Azure-AI-Speech ],然後前往 Azure-AI-Speech 試用頁面。
選取依案例的語音功能>影片翻譯。
在右側的 [ 範例] 選項 下,選取個人或標準語音。
選取 [ 播放] 按鈕以聆聽翻譯的音訊。 選取原始視訊索引標籤以播放原始音訊。
語音類型選項如下:
- 標準語音:服務會藉由將視訊中的喇叭語音與標準語音比對,自動選取最適合的標準語音。
- 個人語音:使用符合影片中說話者聲音的個人語音。
附註
若要透過 API 使用個人語音,您必須申請 存取權。
建立影片翻譯專案
若要建立影片翻譯專案,請遵循下列步驟:
在目錄搜尋方塊中輸入並搜尋 「Azure-AI-Speech」。。
選取 [Azure-AI-Speech ],然後前往 Azure-AI-Speech 試用頁面。
選取依案例的語音功能>影片翻譯。
選取 [我的影片>]。
在 [ 上傳視訊 ] 頁面上,選取 [語音類型]。
語音類型選項如下:
- 標準語音:服務會藉由將視訊中的喇叭語音與標準語音比對,自動選取最適合的標準語音。
- 個人語音:使用符合影片中說話者聲音的個人語音。
附註
若要使用個人語音,您必須申請存取權。
拖放影片檔案或手動選取檔案以上傳影片檔案。 影片的格式必須 .mp4,小於 5 GB,且短於 4 小時。
提供 說話者數目、 影片的語言,以及 翻譯為 語言。
選取方塊來確認定價資訊和行為規範。
如果您想要調整進階設定,請選取 [ 下一步:進階 設定]。
您可以選擇性地調整下列設定:
- Lexicon 檔案:此選項可讓您新增系統應該辨識並正確發音的自定義字詞或片語。 您可以在 Speech Studio的音訊內容建立工具中建立 語匯檔案,並在這裡加以選取。
- 燒毀字幕:此選項可讓您將字幕新增至影片。 字幕檔案可以是 WebVTT 或 JSON 格式。 您可以選取 [ 下載範例 VTT 檔案],以下載參考的範例 WebVTT 檔案。
如果您想要使用自己的子標題檔案,請選取 [ 子標題>上傳您自己的檔案]。 您可以選擇上傳來源字幕檔案或目標字幕檔案。
- 自動生成字幕:產生來源語言和目標語言的字幕。
- 上傳來源語言字幕將生成同時包含來源和目標語言的字幕。
- 上傳目標語言字幕:只產生目標語言字幕。
選取 ,創建。
上傳至 Azure Blob 記憶體完成後,您可以在 [專案] 索引標籤上檢查處理狀態。
建立專案之後,您可以選取專案以檢閱詳細設定,並根據您的偏好進行調整。
檢查並調整語音設定
選取 [我的影片 ],您應該會看到標示為 [成功 ] 狀態的影片。
選取影片以查看 [影片] 底下的 [翻譯] 和 [原始] 索引標籤。 您可以選取對應的索引標籤來比較原始和翻譯的影片。翻譯的視訊會自動產生,您可以播放影片以檢查翻譯品質。
在影片右側,您可以檢視原始腳本和翻譯的腳本。 將滑鼠停留在原始腳本的每個部分上方會觸發影片,自動跳至原始影片相應的區段,而將滑鼠停留在翻譯腳本的每個部分時則會觸發影片,跳至相應的翻譯區段。
您可以對影片進行多項變更,包括調整語音設定、新增或移除區段,以及變更腳本的時間範圍。 只有在選取 [ 套用變更 ] 以套用變更之後,才會向您收取費用。 您可以選取 [ 儲存 ] 以儲存進行中的工作,而不會產生任何費用。
如果遇到顯示為「未知」的語音名稱區段,這可能是因為系統無法準確辨識語音,特別是在說話者語音重疊的情況下更容易辨識失準。 在這種情況下,建議您手動變更語音名稱。
翻譯為其他語言
您可以保留目前的翻譯專案,並將原始影片翻譯成其他語言。
- 選取 我的影片,然後選取您影片翻譯的縮圖。
- 選取 [+ 新增語言]。
- 在出現的 [ 翻譯至新語言 ] 頁面上,選擇新的翻譯語言和語音類型。 一旦翻譯影片,系統就會自動建立新的專案。
相關內容
在本文中,您將瞭解如何在 Speech Studio中使用影片翻譯與 Azure AI 語音。
必要條件
- Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 支援區域中的語音資源。 如果您沒有語音資源,請在 Azure 入口網站中建立一個。
- Azure Blob 儲存體帳戶。
- 您需要 .mp4 格式、小於 5 GB 且少於 4 小時的視訊檔案。 為了進行測試,您可以使用 Microsoft 在 https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4提供的範例影片檔案。
- 請確定影片翻譯支援您的 來源和目標語言。
建立影片翻譯專案
若要建立影片翻譯專案,請遵循下列步驟:
登入 Speech Studio。
請選擇要使用的訂閱和語音資源。
選取 影片翻譯。
在 [建立和管理專案] 頁面,選取 [建立專案]。
在 [ 新增專案 ] 頁面上,選取 [語音類型]。
語音類型選項如下:
- 標準語音:服務會藉由將視訊中的喇叭語音與標準語音比對,自動選取最適合的標準語音。
- 個人語音:使用符合影片中說話者聲音的個人語音。
附註
若要使用個人語音,您必須申請存取權。
拖放影片檔案或手動選取檔案以上傳影片檔案。 影片的格式必須 .mp4,小於 5 GB,且短於 4 小時。
提供 專案名稱、 說話者數目、 影片的語言,以及 翻譯為 語言。
選取方塊來確認定價資訊和行為規範。
如果您想要調整進階設定,請選取 [ 下一步:進階 設定]。
您可以選擇性地調整下列設定:
- Lexicon 檔案:此選項可讓您新增系統應該辨識並正確發音的自定義字詞或片語。 您可以在 Speech Studio的音訊內容建立工具中建立 語匯檔案,並在這裡加以選取。
- 燒毀字幕:此選項可讓您將字幕新增至影片。 字幕檔案可以是 WebVTT 或 JSON 格式。 您可以選取 [ 下載範例 VTT 檔案],以下載參考的範例 WebVTT 檔案。
如果您想要使用自己的子標題檔案,請選取 [ 子標題>上傳您自己的檔案]。 您可以選擇上傳來源字幕檔案或目標字幕檔案。
- 自動生成字幕:產生來源語言和目標語言的字幕。
- 上傳來源語言字幕將生成同時包含來源和目標語言的字幕。
- 上傳目標語言字幕:只產生目標語言字幕。
選取 ,創建。
上傳至 Azure Blob 記憶體完成後,您可以在 [專案] 索引標籤上檢查處理狀態。
建立專案之後,您可以選取專案以檢閱詳細設定,並根據您的偏好進行調整。
檢查並調整語音設定
在專案詳細數據頁面上,您可以看到 [影片] 底下的 [已翻譯] 和 [原始] 索引卷標。 您可以選取對應的索引標籤來比較原始和翻譯的影片。翻譯的視訊會自動產生,您可以播放影片以檢查翻譯品質。
在影片右側,您可以檢視原始腳本和翻譯的腳本。 將滑鼠停留在原始腳本的每個部分上方會觸發影片,自動跳至原始影片相應的區段,而將滑鼠停留在翻譯腳本的每個部分時則會觸發影片,跳至相應的翻譯區段。
您也可以視需要新增或移除區段。 想新增區段時,請確定新區段時間戳記並未與上一個和下一個區段重疊,而且區段結束時間應大於開始時間。 時間戳記的正確格式應該是 hh:mm:ss.ms
。 否則您無法套用變更。
您可以使用影片下方的音訊波形,直接調整腳本的時間範圍。 當您選取 [ 套用變更] 之後,將會套用調整。
如果遇到顯示為「未知」的語音名稱區段,這可能是因為系統無法準確辨識語音,特別是在說話者語音重疊的情況下更容易辨識失準。 在這種情況下,建議您手動變更語音名稱。
如果您想調整語音,請選取[語音設定] 進行一些變更。 在[語音設定] 頁面,您可以調整語音類型、性別和語音。 選取[語音] 右側的語音範例,以確定您的語音選擇。 如果您發現缺少語音,您可以選取 [ 新增喇叭] 來新增語音名稱。 變更設定之後,請選取[更新]。
您可以對影片進行多項變更,包括調整語音設定、新增或移除區段,以及變更腳本的時間範圍。 只有在選取 [ 套用變更 ] 以套用變更之後,才會向您收取費用。 您可以選取 [ 儲存 ] 以儲存進行中的工作,而不會產生任何費用。
翻譯為其他語言
您可以保留目前的翻譯專案,並將原始影片翻譯成其他語言。
- 開啟您的專案。
- 選取 [+ 新增語言]。
- 在出現的新 [翻譯] 頁面上,選擇新的翻譯語言和語音類型。 一旦翻譯影片,系統就會自動建立新的專案。
相關內容
影片翻譯 REST API 可協助順暢地將影片翻譯整合到您的應用程式中。 它支援上傳、管理及精簡影片翻譯,並有多個反覆專案以進行持續改善。 在本文中,您將瞭解如何透過 REST API 利用影片翻譯。
必要條件
- Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 支援 區域中語音的 AI Foundry 資源。 如果您沒有語音資源,請在 Azure 入口網站中建立一個。
- Azure Blob 儲存體帳戶。
- 您需要 .mp4 格式、小於 5 GB 且少於 4 小時的視訊檔案。 為了進行測試,您可以使用 Microsoft 在 https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4提供的範例影片檔案。
- 請確定影片翻譯支援您的 來源和目標語言。
小提示
開始之前,請參閱 影片翻譯概觀 ,以瞭解影片翻譯的端對端程式。
工作流程
以下是使用 REST API 取得翻譯影片的步驟:
-
建立翻譯物件。 請定期檢查作業的狀態,直到作業到達
Succeeded
或Failed
為止。 -
建立反覆專案 以啟動翻譯程式。 定期檢查反覆專案作業的狀態,直到到達
Succeeded
或Failed
為止。 - 下載 翻譯的影片和字幕。
- 或者, 建立其他反覆專案 以改善翻譯品質。
步驟 1:建立翻譯
重要
如本節所述建立翻譯,並不會起始翻譯程序。 您可以藉由建立迭代來開始翻譯影片。 透過 REST API 建立的翻譯和反覆專案不會同步處理至入口網站,反之亦然。
若要建立影片翻譯,您必須根據下列指示建構 HTTP PUT 請求的路徑和主體:
指定
displayName
:翻譯的顯示名稱。 這是使用者易記的名稱,可協助您識別翻譯。指定
description
:翻譯的簡短描述。 這是選擇性的,但對於文件用途很有幫助。指定
sourceLocale
:原影片的語言。 這是影片檔案中所說的語言。targetLocale
:指定您想要將影片翻譯成的語言。 這是翻譯的目標語言。指定
voiceKind
:您要用於翻譯的語音類型。 您可以選擇PlatformVoice
與PersonalVoice
。 針對PlatformVoice
,系統會藉由將視訊中的喇叭語音與標準語音比對,自動選取最適合的標準語音。 針對PersonalVoice
,系統會提供一個模型,其會在幾秒鐘內產生高品質的語音複寫。附註
若要使用個人語音,您必須申請存取權。
指定
speakerCount
:影片中的喇叭數目。 這是選擇性參數,如果您不確定,您可以將它設定為 1。指定
subtitleMaxCharCountPerSegment
:每個子標題區段允許的最大字元數。 這是選擇性參數,如果您不確定,您可以將它設定為 30。指定
exportSubtitleInVideo
:布爾值,指出是否要在影片中匯出字幕。 這是選擇性參數,如果您想要在影片中包含字幕,您可以將它true
設定為 。videoFileUrl
指定 :您要翻譯之視訊檔案的 URL。 影片的格式必須 .mp4,小於 5 GB,且短於 4 小時。 您可以將影片上傳至 Azure Blob 記憶體,並使用 Blob URL。 為了進行測試,您可以使用 Microsoft 在 https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4提供的範例影片檔案。
若要進行驗證和授權,您必須在要求中包含下列標頭和路徑識別碼:
- 設定
Operation-Id
標頭:Operation-Id
針對每個作業必須是唯一的,例如建立每個反覆項目。 將Your-Operation-Id
替換為這項作業的唯一標識符。 - 在路徑中取代
Your-Translation-Id
。 在語音資源中,每個翻譯的翻譯標識符必須是唯一的。 以您選擇的翻譯識別碼取代Your-Translation-Id
。 您可以使用此識別碼來參考後續 API 呼叫中的翻譯。 - 以您的語音資源金鑰取代
YourSpeechResourceKey
,而以您的語音資源區域取代YourSpeechResourceRegion
。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" -H "Operation-Id: Your-Operation-Id-1" -H "Content-Type: application/json" -d '{
"displayName": "My translation object",
"description": "My translation object for video translation iterations",
"input": {
"sourceLocale": "es-ES",
"targetLocale": "en-US",
"voiceKind": "PlatformVoice",
"speakerCount": 1,
"subtitleMaxCharCountPerSegment": 50,
"exportSubtitleInVideo": false,
"enableLipSync": false,
"videoFileUrl": "https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4"
}
}' "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id?api-version=2024-05-20"
重要
如果您嘗試使用不同的設定來使用現有的翻譯標識元,API 會傳回錯誤。 每個翻譯的翻譯標識碼都必須是唯一的。 您可以 通過創建迭代來變更現有的翻譯。
您應該會收到以下格式的回應內容:
{
"input": {
"sourceLocale": "es-ES",
"targetLocale": "en-US",
"voiceKind": "PlatformVoice",
"speakerCount": 1,
"subtitleMaxCharCountPerSegment": 50,
"exportSubtitleInVideo": false,
"enableLipSync": false
},
"status": "NotStarted",
"lastActionDateTime": "2025-03-06T19:13:35.669Z",
"id": "Your-Translation-Id",
"displayName": "My translation object",
"description": "My translation object for video translation iterations",
"createdDateTime": "2025-03-06T19:13:35.669Z"
}
您可以使用您指定的作業 ID,並定期使用 依作業 ID 取得作業 API,直到傳回的狀態為 Succeeded
或 Failed
為止。 這項作業可讓您監視建立反覆專案程序的進度。 status 屬性應該從 NotStarted
進行到 Running
,最後為 Succeeded
或 Failed
。
步驟 2:建立反覆項目
若要開始翻譯影片或更新現有翻譯的版本,您必須根據下列指示建構 HTTP PUT 要求路徑和內容。
- 設定所需的輸入:包括詳細信息,如
speakerCount
、subtitleMaxCharCountPerSegment
、exportSubtitleInVideo
或webvttFile
等。 根據預設,輸出視訊中不會內嵌任何字幕。 建立反覆專案時,如果您已在建立翻譯期間指定選擇性參數speakerCount
、subtitleMaxCharCountPerSegment
和exportSubtitleInVideo
,則不需要再次指定它們。 值繼承自翻譯設定。 建立反覆專案時定義這些參數之後,新的值會覆寫原始設定。 - 您可以選擇性地指定具有原始影片字幕的 WebVTT 檔案。 創建第一個迭代時,不需要
webvttFile
輸入參數。 不過, 從第二個反覆項目開始,您必須在反覆專案中指定webvttFile
參數。
若要進行驗證和授權,您必須在要求中包含下列標頭和路徑識別碼:
- 設定
Operation-Id
標頭:Operation-Id
針對每個作業必須是唯一的,例如建立每個反覆項目。 將Your-Operation-Id
替換為這項作業的唯一標識符。 - 在路徑中取代
Your-Translation-Id
。 使用您在 建立翻譯時指定的相同翻譯識別碼。 翻譯標識碼保持不變。 - 在路徑中指定新的
iterationId
。 每個作業的反覆項目識別碼都必須是唯一的。 將Your-Iteration-Id-1
取代為您選擇的反覆項目識別碼。 - 以您的語音資源金鑰取代
YourSpeechResourceKey
,而以您的語音資源區域取代YourSpeechResourceRegion
。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" \
-H "Operation-Id: Your-Operation-Id" \
-H "Content-Type: application/json" \
-d '{
"input": {
"subtitleMaxCharCountPerSegment": 30,
"exportSubtitleInVideo": true
}
}' "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations/Your-Iteration-Id-1?api-version=2024-05-20"
您應該會收到以下格式的回應內容:
{
"input": {
"subtitleMaxCharCountPerSegment": 30,
"exportSubtitleInVideo": true
},
"status": "NotStarted",
"lastActionDateTime": "2025-03-06T19:15:38.722Z",
"id": "Your-Iteration-Id",
"createdDateTime": "2025-03-06T19:15:38.722Z"
}
您可以使用您指定的作業 ID,並定期使用 依作業 ID 取得作業 API,直到傳回的狀態為 Succeeded
或 Failed
為止。 這項作業可讓您監視建立反覆專案程序的進度。 status 屬性應該從 NotStarted
進行到 Running
,最後為 Succeeded
或 Failed
。
步驟 3:下載翻譯的影片和字幕
一旦迭代狀態為 Succeeded
,您就可以下載翻譯後的影片和字幕。 翻譯的影片和字幕可在根據反覆項目識別碼取得反覆項目 API 的回應本文中取得。
若要依標識符擷取特定反覆專案的詳細數據,請使用 HTTP GET 要求。 請將 YourSpeechResourceKey
替換為語音資源密鑰、將 YourSpeechResourceRegion
替換為語音資源區域、將 Your-Translation-Id
替換為您想要檢查的翻譯 ID,以及將 Your-Iteration-Id
替換為您想要檢查的反覆專案 ID。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations/Your-Iteration-Id?api-version=2024-05-20"
您應該會收到以下格式的回應內容:
{
"input": {
"speakerCount": 1,
"subtitleMaxCharCountPerSegment": 30,
"exportSubtitleInVideo": true
},
"result": {
"translatedVideoFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourTranslatedVideoFileUrl",
"sourceLocaleSubtitleWebvttFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourSourceLocaleSubtitleWebvttFileUrl",
"targetLocaleSubtitleWebvttFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourTargetLocaleSubtitleWebvttFileUrl",
"metadataJsonWebvttFileUrl": "https://cvoiceprodeus.blob.core.windows.net/YourMetadataJsonWebvttFileUrl",
},
"status": "Succeeded",
"lastActionDateTime": "2025-03-06T19:17:06.270Z",
"id": "Your-Iteration-Id-7",
"createdDateTime": "2025-03-06T19:15:38.723Z"
}
從結果 URL 下載
回應內容包含下列 URL,可用來下載翻譯後的影片和字幕:
-
translatedVideoFileUrl
:已翻譯影片檔案的 URL。 您可以從此 URL 下載翻譯的影片。 -
sourceLocaleSubtitleWebvttFileUrl
:來源地區設定之 WebVTT 檔案的 URL。 您可以從此 URL 下載 WebVTT 檔案。 -
targetLocaleSubtitleWebvttFileUrl
:目標地區設定之 WebVTT 檔案的 URL。 您可以從此 URL 下載 WebVTT 檔案。 -
metadataJsonWebvttFileUrl
:元數據 JSON WebVTT 檔案的 URL。 您可以從此 URL 下載元數據 JSON WebVTT 檔案。
以下是子標題檔案格式的範例:
來源語言字幕Webvtt文件URL
WEBVTT
00:00:00.320 --> 00:00:03.880
Microsoft ha estado 25 años comprometido con El Salvador.
00:00:03.960 --> 00:00:08.440
Microsoft es hablar de innovación y es hablar del presente y futuro del Salvador.
00:00:09.080 --> 00:00:15.840
Son 25 años y contando los que como marca Microsoft ha logrado cumplir con cada 1 de sus objetivos en El País.
00:00:16.040 --> 00:00:23.400
Nos apoyamos muchísimo en su liderazgo, en su tecnología de punta y en su innovación continua.
00:00:23.800 --> 00:00:29.760
Microsoft le permite a Nico ser parte de un ecosistema tecnológico a nivel mundial más que un aliado para nosotros,
00:00:29.760 --> 00:00:33.880
más que un socio, realmente es un amigo, un amigo estratégico,
00:00:34.840 --> 00:00:39.800
incondicional, teniendo en cuenta y como principal razón de ser nuestra misión y visión,
00:00:40.080 --> 00:00:45.400
permitiendo que los salvadoreños puedan percatarse de su potencial. 25 años de experiencia.
00:00:45.680 --> 00:00:50.480
25 años impulsando, innovando y mejorando en cada una de nuestras facetas.
00:00:50.880 --> 00:00:58.080
Nuestra misión sigue intacta, empoderar a todas las personas y organizaciones del planeta a lograr más felices.
00:00:58.080 --> 00:01:01.240
25, Microsoft felices. 25, El Salvador.
00:01:01.480 --> 00:01:05.920
Juntos seguiremos innovando y progresando un mejor bienestar con tecnología.
具有 JSON 屬性的 WebVTT
具有 JSON 屬性的 WebVTT 檔案包含翻譯程式的元數據。 每個副標題區段都包含一些屬性,這些屬性提供了關於翻譯的其他資訊。 以下是屬性的明細:
-
globalMetadata
:本節包含影片中演講者的相關元數據。 "speakers" 屬性是物件,其中包含每個說話者的相關資訊。 每個說話者都會以唯一標識符來識別(例如“Speaker0”)。 “defaultSsmlProperties” 屬性包含說話者語音的預設 SSML 屬性。 -
id
:這是每個子標題區段的唯一標識符。 這有助於識別 WebVTT 檔案中特定文字區段。 -
speakerId
:這個屬性表示對應子標題區段的說話者標識符。 它應該符合 「globalMetadata」 區段中定義的說話者識別碼。 -
ssmlProperties
:本節包含與說話者語音相關的屬性。 它可以包含屬性,例如 「voiceName」 和 「voiceKind」。。 “voiceName” 是用於合成的語音名稱,而 “voiceKind” 表示它是平台語音或個人語音。 -
sourceLocaleText
:此屬性包含來源語言的原始文字。 如果您只變更sourceLocaleText
,系統將翻譯更新的sourceLocaleText
,並使用新的翻譯進行合成。 如果您同時對sourceLocaleText
和translatedText
進行變更,系統將忽略對sourceLocaleText
的變更,並使用更新過的translatedText
進行合成。 -
translatedText
:此屬性包含目標語言中的翻譯文字。 它代表將在翻譯影片中合成的文字。 如果您只對translatedText
進行變更,系統會使用更新的 translatedText 進行合成。
步驟 4:建立其他反覆專案 (選擇性)
您可以建立其他反覆專案來改善翻譯品質。 此程序類似於建立第一個反覆項目。
建立第一個反覆項目時不需要 webvttFile
參數。 不過,從第二個反覆項目開始,您必須在反覆專案中指定 webvttFile
參數。 您必須下載 webvtt 檔案、進行必要的編輯,然後將它上傳至您的 Azure Blob 記憶體。 您必須指定 Blob URL。
若要開始翻譯影片或更新現有翻譯的版本,您必須根據下列指示建構 HTTP PUT 要求路徑和內容。
- 指定必要的
webvttFile
輸入參數。 從第二個反覆項目開始需要webvttFile
參數。 您必須 下載最新的 webvtt 檔案、進行所需的編輯,然後將它上傳至您的 Azure Blob 記憶體。 您必須指定 Blob URL。 字幕檔案可以是 WebVTT 或 JSON 格式。 - 您可以選擇性地為新的反復專案指定新的設定,例如
speakerCount
、subtitleMaxCharCountPerSegment
和exportSubtitleInVideo
。
若要進行驗證和授權,您必須在要求中包含下列標頭和路徑識別碼:
- 設定
Operation-Id
標頭:Operation-Id
針對每個作業必須是唯一的,例如建立每個反覆項目。 將Your-Operation-Id
替換為這項作業的唯一標識符。 - 在路徑中取代
Your-Translation-Id
。 使用您在 建立翻譯時指定的相同翻譯識別碼。 翻譯標識碼保持不變。 - 在路徑中指定新的
iterationId
。 每個作業的反覆項目識別碼都必須是唯一的。 將Your-Iteration-Id-2
取代為您選擇的反覆項目識別碼。 - 以您的語音資源金鑰取代
YourSpeechResourceKey
,而以您的語音資源區域取代YourSpeechResourceRegion
。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" \
-H "Operation-Id: Your-Operation-Id" \
-H "Content-Type: application/json" \
-d '{
"input": {
"webvttFile": {
"url": "https://YourBlobStorageUrl/YourWebVTTFile.vtt"
}
}
}' "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations/Your-Iteration-Id-2?api-version=2024-05-20"
您應該會收到以下格式的回應內容:
{
"input": {
"webvttFile": {
"url": "https://YourBlobStorageUrl/YourWebVTTFile.vtt"
}
},
"status": "NotStarted",
"lastActionDateTime": "2025-03-06T19:15:38.722Z",
"id": "Your-Iteration-Id-2",
"createdDateTime": "2025-03-06T19:15:38.722Z"
}
您可以使用您指定的作業 ID,並定期使用 依作業 ID 取得作業 API,直到傳回的狀態為 Succeeded
或 Failed
為止。 這項作業可讓您監視建立反覆專案程序的進度。 status 屬性應該從 NotStarted
進行到 Running
,最後為 Succeeded
或 Failed
。
根據作業識別碼取得作業
使用作業識別碼檢查作業的狀態。 每個作業的作業識別碼都是唯一的,因此您可以個別追蹤每個作業。 作業 ID 在翻譯被刪除前一直有效。
- 請指定您在建立翻譯時使用的相同
Operation-Id
。 在此範例中,使用了Your-Operation-Id-1
。 將Your-Operation-Id-1
替換為您選擇的作業識別碼。 - 以您的語音資源金鑰取代
YourSpeechResourceKey
,而以您的語音資源區域取代YourSpeechResourceRegion
。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/operations/Your-Operation-Id-1?api-version=2024-05-20"
您應該會收到以下格式的回應內容:
{
"id": "Your-Operation-Id-1",
"status": "Running"
}
根據翻譯識別碼刪除翻譯
移除由translationId
識別的特定翻譯。 此作業也會移除與此轉譯相關聯的所有反覆專案。
將 YourSpeechResourceKey
替換為語音資源金鑰,YourSpeechResourceRegion
替換為語音資源區域,Your-Translation-Id
替換為您想要刪除的翻譯識別碼。 如果未手動刪除,服務會保留最多 31 天的翻譯歷程記錄。
curl -v -X DELETE -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id?api-version=2024-05-20"
如果刪除要求成功,回應標頭會包含 HTTP/1.1 204 No Content
。
REST API 操作
您可以使用下列 REST API 作業進行影片翻譯:
作業 | 方法 | REST API 呼叫 |
---|---|---|
建立翻譯 | PUT |
/translations/{translationId} |
列出翻譯 | GET |
/translations |
依翻譯標識碼取得翻譯 | GET |
/translations/{translationId} |
建立迭代 | PUT |
/translations/{translationId}/iterations/{iterationId} |
清單迭代 | GET |
/translations/{translationId}/iterations |
根據反覆項目識別碼取得反覆項目 | GET |
/translations/{translationId}/iterations/{iterationId} |
根據作業識別碼取得作業 | GET |
/operations/{operationId} |
根據翻譯識別碼刪除翻譯 | DELETE |
/translations/{translationId} |
如需程式碼範例,請參閱 GitHub。
本節提供先前未詳細說明之其他影片翻譯 API 呼叫的範例。
列出翻譯
若要列出資源帳戶中上傳和處理的所有影片翻譯,請提出 HTTP GET 要求,如下列範例所示。 以您的語音資源金鑰取代 YourSpeechResourceKey
,而以您的語音資源區域取代 YourSpeechResourceRegion
。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations?api-version=2024-05-20"
根據翻譯ID取得翻譯
此作業會擷取由唯一translationId
識別的特定翻譯的詳細資訊。 將 YourSpeechResourceKey
替換成您的語音資源金鑰,YourSpeechResourceRegion
替換成您的語音資源區域,Your-Translation-Id
替換成您想要檢查的翻譯 ID。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id?api-version=2024-05-20"
列出反覆項目
列出特定翻譯的所有反覆項目。 該請求列出所有不含詳細資訊的迭代。 將 YourSpeechResourceKey
替換成您的語音資源金鑰,YourSpeechResourceRegion
替換成您的語音資源區域,Your-Translation-Id
替換成您想要檢查的翻譯 ID。
curl -v -X GET -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" "https://YourSpeechResourceRegion.api.cognitive.microsoft.com/videotranslation/translations/Your-Translation-Id/iterations?api-version=2024-05-20"
HTTP 狀態碼
本節詳細說明影片翻譯 REST API 中的 HTTP 回應碼和訊息。
HTTP 200 正常
HTTP 200 OK 表示要求成功。
HTTP 204 錯誤
HTTP 204 error 表示要求成功,但資源不存在。 例如:
- 您嘗試取得或刪除不存在的翻譯。
- 您已成功刪除翻譯。
HTTP 400 錯誤
以下是可能導致 400 error 的範例:
- 您指定的來源或目標地區設定不在支援的地區設定之間。
- 您嘗試使用 F0 語音資源,但該區域僅支援標準語音資源定價層。
HTTP 500 錯誤
HTTP 500 Internal Server Error 表示要求失敗。 回應本文會包含錯誤訊息。