影片轉錄 API

March 16, 2026

影片轉錄 API

提交影片或音頻檔案,取得字詞級別的逐字稿,並支援說話者分離(speaker diarization,每個段落會標註偵測到的說話者)。API 支援主流平台影片,以及本機上傳的影片或音頻檔案,並支援語言設定。

支援的影片來源

API 接受以下平台的網址:YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble 等。

也可以轉錄本機上傳的音頻或影片檔案——本機上傳需要 Standard 方案或以上。

工作流程

  1. 提交:從影片網址提交轉錄任務
  2. 輪詢:持續取得結果,直到狀態變為 SUCCEEDED

提交轉錄任務

從影片或音頻網址提交一個新的轉錄任務。

POST https://wayinvideo-api.wayin.ai/api/v2/transcripts

請求本體

參數類型必填預設值說明
video_urlstring來源影片/音頻的網址或上傳的檔案識別碼
source_langstringnull影片的來源語言(參見 支援語言)。為 null 時,系統自動偵測原始語言。
target_langstringnull逐字稿的目標語言(參見 支援語言)。為 null 時不進行翻譯。若 target_lang 與影片原始語言不同,逐字稿將自動翻譯成目標語言。

請求範例

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=example",
    "target_lang": "en"
  }'
import requests

requests.post(
    "https://wayinvideo-api.wayin.ai/api/v2/transcripts",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "x-wayinvideo-api-version": "v2",
    },
    json={
        "video_url": "https://www.youtube.com/watch?v=example",
        "target_lang": "en",
    },
)
await fetch("https://wayinvideo-api.wayin.ai/api/v2/transcripts", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "x-wayinvideo-api-version": "v2",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    video_url: "https://www.youtube.com/watch?v=example",
    target_lang: "en",
  }),
});

回應

{
  "data": {
    "id": "trans_proj_001",
    "name": "sample project name",
    "status": "CREATED"
  }
}
欄位類型說明
idstring任務識別碼(用於取得結果)
namestring任務名稱
statusstringCREATEDQUEUEDONGOINGSUCCEEDEDFAILED

使用範例

常見的轉錄情境。請將 YOUR_API_KEY 替換為從 API Dashboard 取得的金鑰。

轉錄 YouTube 影片

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'

轉錄多位說話者的 Podcast

傳入任何 Podcast 音頻網址(或上傳檔案識別碼)即可——說話者分離為自動執行;回應中每個段落都會附上 speaker 標籤。

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'

將非英文逐字稿翻譯成英文

設定 target_lang 即可即時翻譯。若已知來源語言,可搭配 source_lang 一起設定。

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=EXAMPLE",
    "source_lang": "ja",
    "target_lang": "en"
  }'

取得轉錄結果

取得含時間戳記與說話者標籤的逐字稿。持續輪詢,直到 statusSUCCEEDED

GET https://wayinvideo-api.wayin.ai/api/v2/transcripts/results/{id}

路徑參數

參數類型必填說明
idstring提交端點回傳的任務 ID

請求範例

curl -X GET https://wayinvideo-api.wayin.ai/api/v2/transcripts/results/trans_proj_001 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2"

回應

{
  "data": {
    "status": "SUCCEEDED",
    "cost_usage": 27.0,
    "transcript": [
      {
        "text": "Welcome to today's presentation",
        "language": null,
        "start": 200,
        "end": 4500,
        "speaker": "Speaker 1"
      },
      {
        "text": "Thanks for coming",
        "language": null,
        "start": 5000,
        "end": 8200,
        "speaker": "Speaker 2"
      }
    ]
  }
}

回應欄位

欄位類型說明
statusstringCREATEDQUEUEDONGOINGSUCCEEDEDFAILED
error_messagestring錯誤原因(僅在 statusFAILED 時出現)
cost_usagenumber此次請求消耗的 API 點數
transcriptarray逐字稿片段列表(詳見下方)

逐字稿片段

欄位類型說明
textstring轉錄的文字內容
languagestring | null偵測到的語言代碼,若無法偵測則為 null
startinteger起始時間(毫秒)
endinteger結束時間(毫秒)
speakerstring說話者標籤(例如 "Speaker 1"

常見問題

影片最長可以多長?

沒有硬性的長度限制。API 支援短片以及長影片或長音訊內容,可處理支援來源平台上的素材。

API 會回傳字詞級別的時間戳記嗎?

會。每個逐字稿段落都包含毫秒級的 startend 時間戳記、轉錄出的 text、偵測到的 language,以及由說話者分離指派的 speaker 標籤。

說話者分離如何運作?

說話者會自動偵測並依段落標註(Speaker 1Speaker 2…)。不需任何設定——每次轉錄任務都會執行說話者分離。

支援哪些音頻與影片格式?

來源網址支援 YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble 等。本機上傳請使用 mp4movwebmavi(純音頻檔案可封裝至上述任一容器格式)。

可以將逐字稿翻譯成其他語言嗎?

可以——傳入 target_lang 參數即可。當 target_lang 與來源語言不同時,逐字稿將自動翻譯。完整的語言代碼清單請參見支援語言