跳至 API 參考文件

API 串接

將影音轉為文字,直接整合您的工作流程。

本頁內容

概覽

透過簡單的 REST API,將音訊與影片轉成逐字稿、隱藏式字幕及字幕。

傳送媒體網址、追蹤轉錄進度,並取得結構化 JSON 或可直接使用的字幕檔。

HTTPS 請求JSON 回應非同步工作

基礎 URL

https://api.taption.com/v1POST/transcriptsGET/transcripts/{id}

您的第一份轉錄

轉錄會在背景進行。建立工作後會立即回應;請持續查詢狀態,直到結果就緒。

  1. 建立工作

    使用 POST /transcripts 傳送可直接公開存取的媒體網址。請保留回傳的 id。

  2. 查詢進度

    每隔 15–30 秒輪詢 GET /transcripts/{id},直到 status 為 complete 或 error。

  3. 使用轉錄結果

    從 data 讀取 JSON;若請求 SRT 或 VTT,則透過 export_url 下載檔案。

工作狀態

initializing

已加入佇列,等待開始。請繼續輪詢。

transcribing

正在轉錄您的媒體。請繼續輪詢。

complete

已就緒。請讀取結果或下載檔案。

error

工作失敗。請讀取 message 並停止輪詢。

其他狀態均視為處理中。未來可能新增中間狀態。

身分驗證

每次請求時,請在 Authorization 標頭中傳送 API 金鑰,內容須與建立時顯示的完全相同。

Authorization: <your api key>

請勿加上 Bearer 前綴。

新金鑰以 tp_live_ 開頭。完整金鑰僅在建立時顯示一次。若遺失,請撤銷該金鑰並建立新的金鑰;已撤銷的金鑰會立即失效。

需要有效訂閱及具備所需權限的 API 金鑰。

請將金鑰保存在伺服器上。它可存取您帳戶的逐字稿及用量。切勿將其公開在瀏覽器程式碼或公開儲存庫中。

建立 API 金鑰

建立轉錄

POST/transcripts

為公開網址上的媒體檔案建立轉錄工作。工作加入佇列後即回應,狀態為 status: "initializing"。

Taption 會直接下載檔案。Google Drive 或 Dropbox 預覽頁等分享頁面連結無法使用。

media_urlstring必填

媒體檔案的直接下載連結。

最多 2048 個字元
extensionstring必填

媒體檔案格式。

mp3wavm4aaacflacwmaopusmp4
languagestring必填

以語言標籤指定媒體使用的語言。請參閱語言參考資料。

查看語言標籤
namestring

轉錄的顯示名稱。預設為 `media_url` 中的檔名。較長的名稱會截短至 200 個字元。

最多 200 個字元
export_typestring

輸出格式。預設為 json,會在 data 中回傳已解析的轉錄內容。srt 和 vtt 則在 export_url 中回傳檔案連結。

jsonsrtvtt
預設值:json
max_charinteger

每段字幕的字元上限。中文、日文、韓文及粵語預設為 `16`,其他語言為 `65`。超出 1-200 的值會被忽略,改用預設值。

1–200

回應

200

工作已建立並加入佇列。請保留 `id` 以查詢狀態。

400

請求主體無效。請先修正再重試。僅回報第一個發現的問題。

401

API 金鑰缺失、無效,或尚未設定 API 存取權限。

403

需要有效訂閱及具備所需權限的 API 金鑰。

429

已達帳戶上限,未建立工作。預設值:Premium 每分鐘 10 個、最多 2 個未完成工作;Corp 每分鐘 30 個、最多 10 個未完成工作。所有金鑰共用上限,設定可能調整。查詢狀態不計入。

500

非預期的伺服器錯誤。請以指數退避方式重試。

503

暫時無法檢查提交限制(`api_limits_unavailable`,未建立逐字稿),或加入佇列失敗或無法確認。如有 Retry-After,請依其指示等待。若回應包含 `id`,重試前請先查詢其狀態:可能為 `error`,也可能已開始處理。重試會建立新的逐字稿。

取得轉錄

GET/transcripts/{id}

取得轉錄的目前狀態及結果。工作進行時,請每隔 15–30 秒輪詢一次。

若格式為 json 或未指定匯出類型,完成的結果會顯示在 data 中。若為 srt 或 vtt,請透過 export_url 下載檔案。

idstring必填
由 POST /transcripts 回傳的轉錄 ID。最多 256 個字元

轉錄失敗時仍會回傳 HTTP 200,並附上 status: "error"。請同時檢查工作狀態與 HTTP 狀態碼。

回應

200

轉錄的目前狀態。這不代表工作已成功;請查看 `status`。

401

API 金鑰缺失、無效,或尚未設定 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 錯誤與重試指引
HTTP發生的問題下一步
400請求主體無效。請先修正請求。
401缺少 API 金鑰,或金鑰無效或已撤銷。請檢查您的 API 金鑰。
403需要有效訂閱及具備所需權限的 API 金鑰。請確認訂閱狀態及 API 金鑰權限。
404您的帳戶中找不到此轉錄。請檢查轉錄 ID。
405HTTP 方法錯誤。請使用文件指定的方法。
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 的語言選擇器為準。

返回概覽