WWeydub API

工作流程

字幕擷取

使用此工作流程從影片建立字幕檔案。Weydub 支援兩種擷取方式:

  • 對影片畫面中已顯示的硬編碼字幕進行 OCR 擷取。
  • 對音軌中的口語對話進行 ASR 擷取。

想在建置前檢查輸出品質嗎?請試用對應的 Weydub 網頁工作流程:產生字幕。

如需瞭解時間序列 Video OCR、場景文字篩選,以及適用於字幕的 ASR 分段等系統層級說明,請參閱使用 Video OCR 與 ASR 產生 AI 字幕。

端點

text
POST /v-w-c/gateway/ve/work/free

字幕擷取採非同步方式進行。請儲存 body.idProject 與 body.dataList[].id,然後使用 非同步任務模型 進行輪詢、回呼、重試行為及回呼簽章。

存取與限制

規則要求
帳戶存取權限必須啟用核心影片 API 存取權限。OCR/ASR 擷取通常是影片任務系列的一部分,但帳戶政策仍可能限制批次大小或進階選項。
來源影片使用穩定的公開 HTTPS URL。目前影片的硬性限制為每個檔案 15 分鐘及 1000 MB。
計費影片工作流程以 30 秒為計費單位。短於 30 秒的影片片段以 30 秒計費。
失敗的任務若最終 processStatus > 1,則不扣除任何點數。
保留期限字幕檔案與算繪資產遵循 Weydub 網頁保留規則。預設會保留最近 30 天的來源/算繪資產。收到回呼後,請下載可長期保存的副本。

選擇 OCR 或 ASR

模式適用情況必要訊號一般輸出
OCR 硬字幕擷取字幕已燒錄至影像中,通常位於畫面底部。needChineseOcclude: 14、videoInpaintMasks、videoInpaintLang、lang。srcSrtUrl、tgtSrtUrl。
ASR 語音擷取音軌中有對話,且您需要含時間碼的逐字稿。needWanyin: 1、wyTaskType: "ONLY_ASR"、wyNeedText: 0。srcSrtUrl、tgtSrtUrl。

請勿使用 OCR 轉錄僅含語音的影片。請勿使用 ASR 讀取無聲影片中的硬編碼字幕。

OCR 字幕擷取酬載

當字幕已嵌入影片影像時,請使用 OCR。

json
{
  "urls": ["https://example.com/video.mp4"],
  "needChineseOcclude": 14,
  "videoInpaintLang": "en",
  "lang": "en",
  "videoInpaintMasks": "[{\"type\":\"trans_only_ocr\",\"region\":[[0,0.8],[1,0.8],[1,1],[0,1]]}]",
  "extraOptions": "{\"extra_inpaint_config\":{\"auto_correct_on\":false,\"strip_last_punct_on\":true,\"scene_filter_on\":false}}",
  "callback": "https://your-domain.example/webhooks/weydub"
}

注意事項:

  • needChineseOcclude 必須為 14。
  • videoInpaintMasks 是 OCR 擷取的必要項目,且在簽署前應為精簡的 JSON 字串。
  • type 應為 trans_only_ocr。
  • 不需要翻譯時,請將 lang 設為與 videoInpaintLang 相同。
  • 座標會從 0 到 1 進行正規化,順序依次為左上、右上、右下、左下。

OCR 遮罩

已知可見字幕區域時,請使用一個或多個遮罩。限定時間範圍的遮罩有助於避免將暫時出現的劇情提示或註冊文字擷取為對話。

欄位類型必填說明
type字串是使用 trans_only_ocr 進行 OCR 字幕擷取。
region陣列是四個正規化座標點:[[x1,y1],[x2,y2],[x3,y3],[x4,y4]]。
start數值否開始時間(秒)。若遮罩從影片開頭開始套用,請省略或使用 0。
end數值否結束時間(秒)。適用於僅在片頭套用遮罩的情況。
to_end數值否影片結束前的秒數。若已知,建議使用明確的 end。

常見區域:

情境區域
垂直 16:9 字幕帶[[0,0.56],[1,0.56],[1,0.76],[0,0.76]]
水平標準字幕區域[[0,0.8],[1,0.8],[1,1],[0,1]]
自訂下方區帶[[0,0.7],[1,0.7],[1,0.95],[0,0.95]]

OCR 選項

extraOptions.extra_inpaint_config 可調整 OCR 清理設定:

選項類型說明
auto_correct_on布林值是否自動修正辨識出的字幕文字。
strip_last_punct_on布林值是否移除每行字幕末尾的標點符號。
scene_filter_on布林值是否篩除非對話的場景文字。若您需要所有可見的字幕文字,擷取英文及其他非 CJK 字幕時通常會停用此選項。

除非您的帳戶合約另有規定,否則公開 API 酬載中的 extraOptions 應保持為精簡的 JSON 字串。

ASR 字幕擷取酬載

當影片含有語音且您需要含時間碼的逐字稿時,請使用 ASR。

json
{
  "urls": ["https://example.com/video.mp4"],
  "needWanyin": 1,
  "sourceLang": "en",
  "lang": "en",
  "wyTaskType": "ONLY_ASR",
  "needWyEdit": 0,
  "wyNeedText": 0,
  "extraOptions": "{\"asr_speaker_detect_on\":true,\"extra_video_translate_config\":{\"remove_last_punct_on\":true}}",
  "callback": "https://your-domain.example/webhooks/weydub"
}

注意事項:

  • wyTaskType 必須為 ONLY_ASR。
  • wyNeedText: 0 表示不將字幕算繪至新影片中。
  • needWyEdit: 0 會停用此擷取工作的手動編輯/專業草稿行為。
  • sourceLang 是口語語言。lang 是字幕輸出語言;不需要翻譯時,請使用相同的代碼。

ASR 選項

選項類型說明
asr_speaker_detect_on布林值在支援此功能時啟用說話者偵測。適合用於多人對話。
extra_video_translate_config.remove_last_punct_on布林值移除產生的字幕行末尾的標點符號。

參數

參數OCRASR說明
urls必填必填公開影片 URL。在正式環境中使用穩定的 HTTPS URL。
needChineseOcclude14不使用OCR 字幕擷取模式。
videoInpaintLang必填不使用可見字幕文字的語言。
videoInpaintMasks必填不使用描述 OCR 區域的精簡 JSON 字串。
extraOptions選填選填用於 OCR 清理或 ASR 選項的精簡 JSON 字串。
needWanyin不使用1啟用 ASR 的語音處理。
sourceLang選填必填口語/來源語言。
lang必填必填輸出字幕語言。不需要翻譯時,請使用與來源語言相同的值。
wyTaskType不使用ONLY_ASR僅限 ASR 的任務類型。
needWyEdit不使用0停用擷取的手動編輯/專業草稿流程。
wyNeedText不使用0不將字幕算繪至新影片中。
callback選填選填用於非同步完成通知的 Webhook URL。
uid選填選填當您的帳戶使用子使用者追蹤時,提供您的使用者/客戶識別碼。

輸出

成功的擷取任務可傳回:

  • srcSrtUrl
  • tgtSrtUrl
  • processStatus
  • processProgress
  • paidPoint
  • 傳回的工作項目中的任務中繼資料

OCR 和 ASR 擷取不需要算繪新的影片。輪詢至 processStatus === 1,再讀取 srcSrtUrl 或 tgtSrtUrl。

回呼會直接傳送工作項目酬載,不包含輪詢回應所使用的外層 code / msg / body 封裝。

代理程式注意事項

  • 已燒錄在畫面中的字幕文字請選擇 OCR;口說對白請選擇 ASR。
  • 將 videoInpaintMasks 和 extraOptions 維持緊湊格式並字串化後,再進行簽章。
  • 除非您的帳戶合約另有規定,否則請勿以原生陣列形式傳送 OCR 遮罩陣列。
  • 使用列舉查詢(POST /v-w-c/enum/query2)取得目前對 sourceLang 和 Lang 的支援資訊;此列舉端點不需要簽章。
  • 輪詢至 processStatus 為 1,再讀取 srcSrtUrl 或 tgtSrtUrl。
  • 在執行保留期限清理前,先儲存字幕檔案。