YouTube 字幕翻譯

YouTube 字幕翻譯

YouTube 字幕翻譯 API

最常用的 API 端點,自動下載 YouTube 字幕並翻譯成目標語言。

端點資訊

  • URL: /api/youtube-to-srt-translate
  • 方法: POST
  • Content-Type: application/json

請求參數

參數類型必填說明範例值
videoUrlstringYouTube 影片網址https://www.youtube.com/watch?v=VIDEO_ID
langstring源語言代碼en, zh, ja, ko
targetLangstring目標語言代碼zh-TW, en, ja
translationModelstringAI 翻譯模型gpt-4o, gpt-3.5-turbo
prioritystring任務優先級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"
}

響應欄位說明

欄位類型說明
successboolean請求是否成功
messagestring訊息說明
jobIdstring任務唯一識別碼
videoIdstringYouTube 影片 ID
statusstring任務狀態: pending, queued, processing, completed, failed
progressnumber處理進度 (0-100)
downloadUrlstring完成後的下載網址
statusUrlstring查詢任務狀態的網址

工作流程

  1. 提交任務 - 呼叫此 API 提交翻譯任務
  2. 獲得 jobId - 系統返回任務 ID 和狀態查詢網址
  3. 輪詢狀態 - 使用 statusUrl 定期查詢任務進度
  4. 下載結果 - 任務完成後使用 downloadUrl 下載翻譯後的 SRT 檔案

優先級說明

優先級說明適用場景
urgent最高優先級緊急任務
high高優先級重要任務
normal一般優先級 (預設)日常任務
low低優先級背景批次任務

錯誤處理

常見錯誤

{
  "success": false,
  "message": "無效的 YouTube 網址"
}

錯誤碼

狀態碼說明
200成功
400請求參數錯誤
500伺服器錯誤

相關端點


🧪 互動式 API 測試

在下方直接測試此 API,即時查看請求和響應結果。