概覽
透過簡單的 REST API,將音訊與影片轉成逐字稿、隱藏式字幕及字幕。
傳送媒體網址、追蹤轉錄進度,並取得結構化 JSON 或可直接使用的字幕檔。
您的第一份轉錄
轉錄會在背景進行。建立工作後會立即回應;請持續查詢狀態,直到結果就緒。
建立工作
使用
POST /transcripts傳送可直接公開存取的媒體網址。請保留回傳的id。查詢進度
每隔 15–30 秒輪詢
GET /transcripts/{id},直到status為complete或error。使用轉錄結果
從
data讀取 JSON;若請求 SRT 或 VTT,則透過export_url下載檔案。
工作狀態
initializing已加入佇列,等待開始。請繼續輪詢。
transcribing正在轉錄您的媒體。請繼續輪詢。
complete已就緒。請讀取結果或下載檔案。
error工作失敗。請讀取 message 並停止輪詢。
其他狀態均視為處理中。未來可能新增中間狀態。
身分驗證
每次請求時,請在 Authorization 標頭中傳送 API 金鑰,內容須與建立時顯示的完全相同。
Authorization: <your api key>請勿加上 Bearer 前綴。
新金鑰以 tp_live_ 開頭。完整金鑰僅在建立時顯示一次。若遺失,請撤銷該金鑰並建立新的金鑰;已撤銷的金鑰會立即失效。
需要有效訂閱及具備所需權限的 API 金鑰。
請將金鑰保存在伺服器上。它可存取您帳戶的逐字稿及用量。切勿將其公開在瀏覽器程式碼或公開儲存庫中。
建立轉錄
/transcripts為公開網址上的媒體檔案建立轉錄工作。工作加入佇列後即回應,狀態為 status: "initializing"。
Taption 會直接下載檔案。Google Drive 或 Dropbox 預覽頁等分享頁面連結無法使用。
請求主體
application/jsonmedia_urlstring必填媒體檔案的直接下載連結。
最多 2048 個字元extensionstring必填媒體檔案格式。
mp3wavm4aaacflacwmaopusmp4languagestring必填以語言標籤指定媒體使用的語言。請參閱語言參考資料。
查看語言標籤namestring轉錄的顯示名稱。預設為 `media_url` 中的檔名。較長的名稱會截短至 200 個字元。
最多 200 個字元export_typestring輸出格式。預設為 json,會在 data 中回傳已解析的轉錄內容。srt 和 vtt 則在 export_url 中回傳檔案連結。
預設值:jsonjsonsrtvttmax_charinteger每段字幕的字元上限。中文、日文、韓文及粵語預設為 `16`,其他語言為 `65`。超出 1-200 的值會被忽略,改用預設值。
1–200
回應
200工作已建立並加入佇列。請保留 `id` 以查詢狀態。
400請求主體無效。請先修正再重試。僅回報第一個發現的問題。
401API 金鑰缺失、無效,或尚未設定 API 存取權限。
403需要有效訂閱及具備所需權限的 API 金鑰。
429已達帳戶上限,未建立工作。預設值:Premium 每分鐘 10 個、最多 2 個未完成工作;Corp 每分鐘 30 個、最多 10 個未完成工作。所有金鑰共用上限,設定可能調整。查詢狀態不計入。
500非預期的伺服器錯誤。請以指數退避方式重試。
503暫時無法檢查提交限制(`api_limits_unavailable`,未建立逐字稿),或加入佇列失敗或無法確認。如有 Retry-After,請依其指示等待。若回應包含 `id`,重試前請先查詢其狀態:可能為 `error`,也可能已開始處理。重試會建立新的逐字稿。
取得轉錄
/transcripts/{id}取得轉錄的目前狀態及結果。工作進行時,請每隔 15–30 秒輪詢一次。
若格式為 json 或未指定匯出類型,完成的結果會顯示在 data 中。若為 srt 或 vtt,請透過 export_url 下載檔案。
路徑參數
idstring必填- 由
POST /transcripts回傳的轉錄 ID。最多 256 個字元
轉錄失敗時仍會回傳 HTTP 200,並附上 status: "error"。請同時檢查工作狀態與 HTTP 狀態碼。
回應
200轉錄的目前狀態。這不代表工作已成功;請查看 `status`。
401API 金鑰缺失、無效,或尚未設定 API 存取權限。
403需要有效訂閱及具備所需權限的 API 金鑰。
404您的帳戶中沒有此 ID 的轉錄。若轉錄屬於其他帳戶,也會得到相同回應。
500非預期的伺服器錯誤。請以指數退避方式重試。
轉錄物件
建立工作及查詢狀態的請求會回傳 JSON 物件。其欄位描述工作資訊,以及就緒後的輸出結果。
idstring- 轉錄 ID,搭配 `GET /transcripts/{id}` 使用。
statusstring- 工作的目前狀態:`initializing`、`transcribing`、`complete` 或 `error`。其他值均視為處理中。
dataJSON- 當 json 或省略 export_type 的結果就緒時,提供已解析的 JSON 匯出內容;否則為空字串。
export_urlstring- srt 或 vtt 匯出檔的下載連結,就緒前為空。若格式為 json 或省略 export_type,狀態回應會省略此欄位。
messagestring- 目前狀態的補充資訊。在 `transcribing` 期間,可能為 `ANALYZING` 或 `FINALIZING` 等進度階段。當 `status` 為 `error` 時,描述失敗原因。此內容供人閱讀,請勿用程式解析。
error_codestring- 選用的機器可讀代碼,表示提交限制錯誤。
limitinteger- 此次適用的帳戶上限,於 HTTP 429 回應中提供。
錯誤與重試
請依 HTTP 狀態碼決定下一步。message 欄位供人閱讀,措辭可能變動。
API 回應包含 X-Request-Id 標頭。就某個請求聯絡客服時,請提供此值。
HTTP 錯誤碼9 個狀態碼
| HTTP | 發生的問題 | 下一步 |
|---|---|---|
400 | 請求主體無效。 | 請先修正請求。 |
401 | 缺少 API 金鑰,或金鑰無效或已撤銷。 | 請檢查您的 API 金鑰。 |
403 | 需要有效訂閱及具備所需權限的 API 金鑰。 | 請確認訂閱狀態及 API 金鑰權限。 |
404 | 您的帳戶中找不到此轉錄。 | 請檢查轉錄 ID。 |
405 | HTTP 方法錯誤。 | 請使用文件指定的方法。 |
429 | 已達提交頻率或未完成工作的上限。 | 依 Retry-After 等待,並等候工作名額釋出。 |
500 | 非預期的伺服器錯誤。 | 以指數退避方式重試。 |
503 | 無法檢查提交限制,或加入佇列失敗或無法確認。 | 重試前請先查詢回傳的工作 ID;如有 Retry-After,請依其指示等待。 |
504 | 請求逾時。 | 延長重試間隔,避免重複工作。 |
API 限制錯誤會傳回 HTTP 429、JSON 內容及以秒為單位的 Retry-After。託管平台也可能傳回非 JSON 格式的 429、504 或 400 回應。讀取內容前,請先檢查 HTTP 狀態碼。
建立請求不具冪等性。 重試逾時的 POST /transcripts 可能建立另一份逐字稿。若 503 回應包含工作 ID,請先查詢該工作再重新提交:工作可能已失敗,也可能已開始處理。
語言
將 language 設為媒體中使用的語言。請使用下方完整標籤,包括地區或輸出文字系統後綴。
支援的語言74 種語言
| 語言 | 標籤 |
|---|---|
| Afrikaans (South Africa) | af-ZA |
| Arabic (Egypt) | ar-EG |
| Armenian (Armenia) | hy-AM |
| Assamese (India) | as-IN |
| Azerbaijani (Azerbaijan) | az-AZ |
| Bengali (India) | bn-IN |
| Bosnian (Bosnia and Herzegovina) | bs-BA |
| Bulgarian (Bulgaria) | bg-BG |
| Burmese (Myanmar) | my-MM |
| Cantonese, Simplified Chinese output (Hong Kong) | yue-Hant-HK-zh |
| Cantonese, Traditional Chinese output (Hong Kong) | yue-Hant-HK-TW-zh |
| Cantonese, Simplified Cantonese output (Hong Kong) | yue-Hant-HK |
| Cantonese, Traditional Cantonese output (Hong Kong) | yue-Hant-HK-TW |
| Catalan (Spain) | ca-ES |
| Chinese (China) | zh |
| Chinese (Taiwan) | zh-TW |
| Chinese & English (Simplified) | zh-EN |
| Chinese & English (Traditional) | zh-EN-TW |
| Croatian (Croatia) | hr-HR |
| Czech (Czech Republic) | cs-CZ |
| Danish (Denmark) | da-DK |
| Dutch (Belgium) | nl-BE |
| English (Australia) | en-AU |
| English (United Kingdom) | en-GB |
| English (United States) | en-US |
| Estonian (Estonia) | et-EE |
| Filipino (Philippines) | tl-PH |
| Finnish (Finland) | fi-FI |
| French (France) | fr-FR |
| Galician (Spain) | gl-ES |
| German (Germany) | de-DE |
| Greek (Greece) | el-GR |
| Gujarati (India) | gu-IN |
| Hebrew (Israel) | iw-IL |
| Hindi (India) | hi-IN |
| Hungarian (Hungary) | hu-HU |
| Icelandic (Iceland) | is-IS |
| Indonesian (Indonesia) | id-ID |
| Italian (Italy) | it-IT |
| Japanese (Japan) | ja-JP |
| Kannada (India) | kn-IN |
| Kazakh (Kazakhstan) | kk-KZ |
| Khmer (Cambodia) | km-KH |
| Korean (South Korea) | ko-KR |
| Latvian (Latvia) | lv-LV |
| Lithuanian (Lithuania) | lt-LT |
| Macedonian (North Macedonia) | mk-MK |
| Malay (Malaysia) | ms-MY |
| Malayalam (India) | ml-IN |
| Marathi (India) | mr-IN |
| Nepali (Nepal) | ne-NP |
| Norwegian (Norway) | no-NO |
| Odia (India) | or-IN |
| Persian (Iran) | fa-IR |
| Polish (Poland) | pl-PL |
| Portuguese (Portugal, Brazil) | pt-PT_pt-BR |
| Punjabi, Gurmukhi (India) | pa-IN |
| Romanian (Romania) | ro-RO |
| Russian (Russia) | ru-RU |
| Serbian (Serbia) | sr-SR |
| Slovak (Slovakia) | sk-SK |
| Slovenian (Slovenia) | sl-SI |
| Spanish (Spain) | es-ES |
| Swahili (Kenya) | sw-KE |
| Swedish (Sweden) | sv-SE |
| Tamil (India) | ta-IN |
| Telugu (India) | te-IN |
| Thai (Thailand) | th-TH |
| Turkish (Turkey) | tr-TR |
| Ukrainian (Ukraine) | uk-UA |
| Urdu (Pakistan) | ur-PK |
| Uzbek (Uzbekistan) | uz-UZ |
| Vietnamese (Vietnam) | vi-VN |
| Zulu (South Africa) | zu-ZA |
此清單依 Taption 語言設定提供,可能隨時更新。請以 Taption 的語言選擇器為準。