跳至 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 的语言选择器为准。

返回概览