先看看视频有哪些字幕
想把一段讲座整理成学习笔记,可以用 video_id 或 video_url 查询,先不填 language_code,以查看可用字幕语言。不要先假定目标语言一定存在,更不能把这个入口描述为给无字幕视频自动转写。没有可用字幕时,应明确保留这个限制,而不是伪造一段看起来合理的讲座文字。
按使用目的选择输出格式
确定语言后传入 language_code。需要回到具体片段时选择 srt,保留序号、时间轴与文本;只想做阅读笔记时可用 txt,但它没有时间轴。xml 与 json3 分别对应原始 XML 和 YouTube JSON 格式。不同格式不能随意互换解析方式,尤其不要从纯文本凭空补出每句话的时间位置。
处理中的任务不等于已经取得全文
较大视频可能返回 status 为 processing,此时用 job_id 调用字幕结果入口继续取最终内容。自己的笔记可记录视频来源、语言、选用格式和完成状态,避免将处理中结果当作完整字幕。假设要摘录一个定义,拿到文本后仍回听相关片段确认术语。字幕是已有文字线索,不是事实校验;引用需保留视频来源和对应片段,自动生成或人工字幕都可能有错误。
完整地址与参数
GET https://api.trmesh.com/openapi/api/v1/youtube/web_v2/get_video_captions
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
video_id |
string | 否 | 视频ID |
video_url |
string | 否 | 视频URL |
language_code |
string | 否 | 语言代码,为空时返回可用字幕列表 |
format |
string | 否 | 字幕格式 |
可以复制的 Python 请求
安装 requests 并在环境变量中设置 TRMESH_API_TOKEN。把示例用户名或作品 ID 换成你要查询的对象。
import os
import requests
# 使用自己的 TRMesh 开发者密钥;不要将密钥写入网页。
url = "https://api.trmesh.com/openapi/api/v1/youtube/web_v2/get_video_captions"
params = {
"video_id": "dQw4w9WgXcQ",
"video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"language_code": "en",
"format": "srt"
}
response = requests.get(
url, params=params, timeout=30,
headers={"Authorization": f"Bearer {os.environ['TRMESH_API_TOKEN']}"},
)
response.raise_for_status()
payload = response.json()
print(payload) # 先核对真实响应,再提取业务字段
调用接口会使用你的 TRMesh 账号额度,运行前请确认接口价格。