影片轉錄 API
提交影片或音頻檔案,取得字詞級別的逐字稿,並支援說話者分離(speaker diarization,每個段落會標註偵測到的說話者)。API 支援主流平台影片,以及本機上傳的影片或音頻檔案,並支援語言設定。
支援的影片來源
API 接受以下平台的網址:YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble 等。
也可以轉錄本機上傳的音頻或影片檔案——本機上傳需要 Standard 方案或以上。
工作流程
- 提交:從影片網址提交轉錄任務
- 輪詢:持續取得結果,直到狀態變為
SUCCEEDED
提交轉錄任務
從影片或音頻網址提交一個新的轉錄任務。
POST https://wayinvideo-api.wayin.ai/api/v2/transcripts
請求本體
| 參數 | 類型 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
video_url | string | 是 | — | 來源影片/音頻的網址或上傳的檔案識別碼 |
source_lang | string | 否 | null | 影片的來源語言(參見 支援語言)。為 null 時,系統自動偵測原始語言。 |
target_lang | string | 否 | null | 逐字稿的目標語言(參見 支援語言)。為 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"
}
}
| 欄位 | 類型 | 說明 |
|---|---|---|
id | string | 任務識別碼(用於取得結果) |
name | string | 任務名稱 |
status | string | CREATED、QUEUED、ONGOING、SUCCEEDED、FAILED |
使用範例
常見的轉錄情境。請將 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"
}'
取得轉錄結果
取得含時間戳記與說話者標籤的逐字稿。持續輪詢,直到 status 為 SUCCEEDED。
GET https://wayinvideo-api.wayin.ai/api/v2/transcripts/results/{id}
路徑參數
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
id | string | 是 | 提交端點回傳的任務 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"
}
]
}
}
回應欄位
| 欄位 | 類型 | 說明 |
|---|---|---|
status | string | CREATED、QUEUED、ONGOING、SUCCEEDED、FAILED |
error_message | string | 錯誤原因(僅在 status 為 FAILED 時出現) |
cost_usage | number | 此次請求消耗的 API 點數 |
transcript | array | 逐字稿片段列表(詳見下方) |
逐字稿片段
| 欄位 | 類型 | 說明 |
|---|---|---|
text | string | 轉錄的文字內容 |
language | string | null | 偵測到的語言代碼,若無法偵測則為 null |
start | integer | 起始時間(毫秒) |
end | integer | 結束時間(毫秒) |
speaker | string | 說話者標籤(例如 "Speaker 1") |
常見問題
影片最長可以多長?
沒有硬性的長度限制。API 支援短片以及長影片或長音訊內容,可處理支援來源平台上的素材。
API 會回傳字詞級別的時間戳記嗎?
會。每個逐字稿段落都包含毫秒級的 start 與 end 時間戳記、轉錄出的 text、偵測到的 language,以及由說話者分離指派的 speaker 標籤。
說話者分離如何運作?
說話者會自動偵測並依段落標註(Speaker 1、Speaker 2…)。不需任何設定——每次轉錄任務都會執行說話者分離。
支援哪些音頻與影片格式?
來源網址支援 YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble 等。本機上傳請使用 mp4、mov、webm 或 avi(純音頻檔案可封裝至上述任一容器格式)。
可以將逐字稿翻譯成其他語言嗎?
可以——傳入 target_lang 參數即可。當 target_lang 與來源語言不同時,逐字稿將自動翻譯。完整的語言代碼清單請參見支援語言。