YouTube 字幕翻譯
YouTube 字幕翻譯 API
最常用的 API 端點,自動下載 YouTube 字幕並翻譯成目標語言。
端點資訊
- URL:
/api/youtube-to-srt-translate - 方法:
POST - Content-Type:
application/json
請求參數
| 參數 | 類型 | 必填 | 說明 | 範例值 |
|---|---|---|---|---|
videoUrl | string | ✓ | YouTube 影片網址 | https://www.youtube.com/watch?v=VIDEO_ID |
lang | string | ✓ | 源語言代碼 | en, zh, ja, ko |
targetLang | string | ✓ | 目標語言代碼 | zh-TW, en, ja |
translationModel | string | ✓ | AI 翻譯模型 | gpt-4o, gpt-3.5-turbo |
priority | string | ✗ | 任務優先級 | low, normal, high, urgent |
請求範例
# 基本使用
curl -X POST http://18.141.225.228:3000/api/youtube-to-srt-translate \
-H "Content-Type: application/json" \
-d '{"videoUrl":"https://www.youtube.com/watch?v=peUO_55ck4o","lang":"en","targetLang":"zh-TW","translationModel":"gpt-4o"}'
# 高優先級任務
curl -X POST http://18.141.225.228:3000/api/youtube-to-srt-translate \
-H "Content-Type: application/json" \
-d '{"videoUrl":"https://www.youtube.com/watch?v=peUO_55ck4o","lang":"en","targetLang":"zh-TW","translationModel":"gpt-4o","priority":"high"}'// 使用 fetch API
const response = await fetch("http://18.141.225.228:3000/api/youtube-to-srt-translate", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
videoUrl: "https://www.youtube.com/watch?v=peUO_55ck4o",
lang: "en",
targetLang: "zh-TW",
translationModel: "gpt-4o",
priority: "normal"
})
});
const result = await response.json();
console.log(result);import requests
url = "http://18.141.225.228:3000/api/youtube-to-srt-translate"
payload = {
"videoUrl": "https://www.youtube.com/watch?v=peUO_55ck4o",
"lang": "en",
"targetLang": "zh-TW",
"translationModel": "gpt-4o",
"priority": "normal"
}
response = requests.post(url, json=payload)
result = response.json()
print(result)響應格式
異步模式 (佇列)
{
"success": true,
"message": "翻譯任務已提交到佇列",
"jobId": "job_1759060760034_abc123",
"videoId": "peUO_55ck4o",
"status": "pending",
"progress": 0,
"downloadUrl": "/api/download/job_1759060760034_abc123",
"statusUrl": "/api/queue/job/job_1759060760034_abc123/status"
}響應欄位說明
| 欄位 | 類型 | 說明 |
|---|---|---|
success | boolean | 請求是否成功 |
message | string | 訊息說明 |
jobId | string | 任務唯一識別碼 |
videoId | string | YouTube 影片 ID |
status | string | 任務狀態: pending, queued, processing, completed, failed |
progress | number | 處理進度 (0-100) |
downloadUrl | string | 完成後的下載網址 |
statusUrl | string | 查詢任務狀態的網址 |
工作流程
- 提交任務 - 呼叫此 API 提交翻譯任務
- 獲得 jobId - 系統返回任務 ID 和狀態查詢網址
- 輪詢狀態 - 使用 statusUrl 定期查詢任務進度
- 下載結果 - 任務完成後使用 downloadUrl 下載翻譯後的 SRT 檔案
優先級說明
| 優先級 | 說明 | 適用場景 |
|---|---|---|
urgent | 最高優先級 | 緊急任務 |
high | 高優先級 | 重要任務 |
normal | 一般優先級 (預設) | 日常任務 |
low | 低優先級 | 背景批次任務 |
錯誤處理
常見錯誤
{
"success": false,
"message": "無效的 YouTube 網址"
}錯誤碼
| 狀態碼 | 說明 |
|---|---|
| 200 | 成功 |
| 400 | 請求參數錯誤 |
| 500 | 伺服器錯誤 |
相關端點
🧪 互動式 API 測試
在下方直接測試此 API,即時查看請求和響應結果。