導出字幕
以您偏好的格式下載字幕,並即時追蹤轉錄項目的狀態。
/api/v1/export/:projectIdcurl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "srt"
}'參數
| 參數 | 類型 | 是否必填 | 描述 |
|---|---|---|---|
| 核心參數 | |||
id | String | Yes | 在 URL 路徑中傳遞的唯一項目識別碼。 |
output | String | No | 期望導出的字幕格式或媒體資產。 選項: srt, vtt, ass, txt, json, mp4 | 預設: srt |
burnId | String | No | 明確請求特定壓制作業 ID 的狀態/結果。 |
language | String | No | 字幕的目標語言。 範圍: 任何已翻譯的代碼或 'original' | 預設: original |
| 多語言支援 (新增) | |||
languages | Array | No | 在同一個檔案中顯示多種語言的配置陣列。 限制:最多 3 種語言 | 預設: 預設支援:ASS, VTT |
- language | String | Yes* | 此語言插槽的代碼 (例如 'zh' 或 'original')。 |
- lineBreakRules | Object | No | 每種語言的特定分段覆蓋。 |
- styleSettings | Object | No | 每種語言的特定樣式 (主要用於 ASS)。 |
| 換行規則 (lineBreakRules) | |||
lineBreakRules | Object | No | 字幕分段邏輯的嵌套物件。 |
- maxChars | Number | No | 每行允許的最大字元數。 範圍: 5 - 100 | 預設: 45 |
- maxWords | Number | No | 每行字幕允許的最大單詞數。 範圍: 1 - 20 | 預設: 10 |
- balanceLines | Boolean | No | 平衡多行字幕中的行長度。 預設: true |
- sentenceSplit | Boolean | No | 優先在句子末尾斷行。 預設: true |
- gapThreshold | Number | No | 一行中單詞之間的最大間隔 (秒)。 範圍: 0.1 - 2.0 | 預設: 0.4 |
| 樣式基礎 (styleSettings) | |||
uppercase | Boolean | No | 強制所有轉錄文本大寫。 |
styleSettings | Object | No | 用於視覺樣式覆蓋的嵌套物件。 |
- preset | String | No | 應用內建樣式預設作為基礎。 選項: standard-stream, classic-apple, etc. |
- fontSize | Number | No | 字體大小佔影片高度的比例。 預設: 0.045 (approx 48px) |
- fontFamily | String | No | 用於渲染的標準字體名稱。 預設: 用於渲染的標準字體名稱。 |
- bold | Boolean | No | 對文本應用加粗。 範圍: true | false | 預設: false |
- italic | Boolean | No | 對文本應用斜體。 範圍: true | false | 預設: false |
| 顏色與邊框 | |||
- primaryColor | Hex | No | 主文本顏色的十六進制代碼。 預設: #FFFFFF |
- secondaryColor | Hex | No | 輔助顏色 (用於卡拉 OK 效果)。 預設: #00FFFF |
- outlineColor | Hex | No | 文本輪廓顏色。 預設: #000000 |
- outline | Number | No | 輪廓厚度 (高度比例)。 預設: 0.002 |
- shadow | Number | No | 陰影深度 (高度比例)。 預設: 0.001 |
| 定位 (比例 0-1) | |||
- alignment | Number | No | ASS 對齊代碼 (1-9)。底端居中為 2。 範圍: 1 - 9 | 預設: 2 |
- posX | Number | No | 水平位置 (0 = 左, 1 = 右)。 範圍: 0.0 - 1.0 | 預設: 0.5 |
- posY | Number | No | 垂直位置比例 (0 = 頂, 1 = 底)。預設: 0.88。 範圍: 0.0 - 1.0 | 預設: 0.88 |
- marginV | Number | No | 距離底部/頂部的垂直邊距比例。預設: 0.056。 範圍: 0.0 - 0.5 | 預設: 0.056 |
| 動畫與效果 | |||
- fadeIn | Number | No | 淡入時長 (毫秒)。 範圍: 0ms - 5000ms | 預設: 0 |
- fadeOut | Number | No | 淡出時長 (毫秒)。 範圍: 0ms - 5000ms | 預設: 0 |
- karaoke | String | No | 卡拉 OK 標籤類型 (k, kf, ko, ks)。 選項: k, kf, ko, ks | 預設: none |
curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "srt",
"language": "fr",
"lineBreakRules": {
"maxChars": 25,
"maxWords": 5,
"balanceLines": true
}
}'curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "ass",
"lineBreakRules": {
"maxChars": 30
},
"styleSettings": {
"preset": "standard-stream",
"fontSize": 55,
"primaryColor": "#FF0000",
"bold": true
}
}'curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "ass",
"languages": [
{
"language": "original",
"styleSettings": {
"preset": "classic-apple",
"fontSize": 40,
"posY": 0.85
}
},
{
"language": "zh",
"lineBreakRules": {
"maxChars": 16,
"balanceLines": false
},
"styleSettings": {
"preset": "standard-stream",
"fontSize": 55,
"posY": 0.7
}
}
]
}'響應結構
1. 處理狀態
如果項目仍在由我們的 AI 引擎處理或處於掛起狀態,您將收到一個指示其當前狀態的狀態更新。
這允許您在前端使用同一個端點實現簡單的輪詢,直到狀態變為 completed。
{ "projectId": "proj_abc123", "status": "processing", "message": "AI is generating..." }
2. 完成狀態
一旦完成,響應將包含您請求格式的字幕內容。
每種格式都針對其用例進行了優化:
{ "success": true, "projectId": "proj_abc123", "status": "completed", "format": "srt", "content": "1\\n00:00:01,000 --> 00:00:03,000\\nHello..." }
錯誤代碼
| 狀態 | 錯誤代碼 | 描述 |
|---|---|---|
| 400 | param_not_valid | 提供的參數超出允許範圍。 |
| 401 | unauthorized | API 金鑰缺失或無效。 |
| 404 | not_found | 項目 ID 不存在。 |
| 500 | export_error | 格式化過程中發生錯誤。 |
| 500 | project_fetch_failed | 檢索項目數據失敗。 |
| 500 | server_error | 發生意外內部伺服器錯誤。 |
{ "success": false, "error": "unauthorized", "message": "提供的 API 金鑰無效或已過期。" }