生成 SRT 字幕文件,或导出WebVTT和带时间戳的文字

从支持的视频链接或上传录音生成 SRT 字幕文件,每段都有开始和结束时间。也可读取WebVTT、JSON或带时间戳的纯文本。支持YouTube、X、TikTok、Instagram、Facebook、Bluesky,以及Twitch剪辑和已结束的VOD、Dailymotion视频、Pinterest视频Pin、LinkedIn视频帖子和Snapchat Spotlight视频。

  • 同一份转录可读取JSON、纯文本、SRT和VTT
  • 每份转录都包含分段时间戳
  • 通过include=words读取可用的逐词时间戳

按播放器、编辑器或应用需要的格式读取

一个ID,按需读取格式
调用GET /v1/transcriptions/:id,通过format=json、text、srt或vtt选择格式,默认返回JSON。
纯文本也能定位录音
format=text搭配timestamps=true,每行开头都会带上[hh:mm:ss],方便按时间回听。
导出标准字幕文件
SRT返回application/x-subrip;VTT返回text/vtt,以WEBVTT开头。每个转录段落对应一条字幕。
需要逐词显示时再读取词数据
include=words可请求逐词时间、文字、置信度和说话人。能取到哪些数据取决于来源,创作者字幕的words为null。
换格式不再消耗分钟数
每种格式都来自同一份已完成的转录。再次读取或换一种格式,不会新建转录,也不扣转录分钟数。

给每行文字加上时间戳

读取纯文本时加timestamps=true即可。创建转录时已开启说话人分离的,也会显示说话人标签。参数见读取转录接口。

做笔记或整理引用时,带时间戳的文字比字幕语法更容易放进文档。每行对应录音里的一段,旁边也要保留视频链接或文件名,否则单独一个00:12:40无法说明出处。

JSON里的start和end是从音视频开头算起的秒数,不是日期或现实中的钟表时间。播放器可用它跳转,笔记也能用同一数值记录来源。

下面的文字只是导出示例,用来说明时间戳的显示方式。

format=text&timestamps=true
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=text&timestamps=true" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"

[00:00:00] Place the microphone near the speaker.
[00:00:04] Record a short test before the interview.

SRT还是VTT,看接收工具支持什么

SRT由带序号、起止时间的字幕条目组成。WebVTT以WEBVTT开头,可用于HTML的track元素。转录完成后,用format=srt或format=vtt读取并保存响应。

剪辑软件和字幕导入流程常用SRT;要为HTML视频生成 VTT 文件,则选择WebVTT。两者都只是字幕文件,不会把文字压进画面,也不会复制社交平台的字幕样式,外观由播放器或编辑器控制。

SRT用逗号分隔毫秒,WebVTT用句点。把扩展名从.srt改成.vtt不算转换,应从同一个已完成任务重新读取所需格式,不会再消耗转录分钟数。

format=srt
1
00:00:00,000 --> 00:00:04,200
Place the microphone near the speaker.

2
00:00:04,200 --> 00:00:09,800
Record a short test before the interview.

逐词高亮和精细剪辑,从JSON读取时间

读取JSON时加include=words,可获取当前来源提供的逐词时间戳,用于逐词高亮或选择片段。来源没有这类数据时,words返回null,具体字段见接口文档。

AI转录提供词的开始时间、结束时间和置信度。YouTube自动生成的字幕提供词的开始时间,结束时间由下一个词的开始时间推算。

YouTube创作者字幕,以及其他平台的字幕都没有逐词时间戳,包括X、TikTok和Bluesky的自动字幕。X字幕的来源值是x_captions。遇到words: null,界面应改用整段时间。

逐词时间不一定就是合适的剪辑点。剪之前听一下前后,避免切掉气口或发音开头。做字幕时还要把词组合成易读的短句,并在目标屏幕尺寸上检查。

include=words
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?include=words" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"

导出之后,先用目标播放器检查一遍

先确认status=completed。未完成的任务返回JSON状态对象,而不是SRT、VTT或纯文本。导入字幕失败时,先排除把状态JSON保存成字幕文件的情况。

字幕时间对应提交的那份音视频。如果剪掉开头、截取中间片段或重新剪辑,要按最终视频调整时间。内容改编工作流介绍了怎样保留片段范围,方便剪辑后对齐字幕。

发布前按正常速度播放,检查行长、阅读时间和说话人显示。无障碍字幕指南还列出了有意义的声音和画面背景等需要人工补充的内容。语音转录本身未必包含这些信息。

保存文件时也保存转录ID。以后从SRT改用WebVTT,或需要逐词JSON,都能读取原任务,不必重新提交音视频。

先免费试用60分钟

验证邮箱后即可领取60分钟免费额度,仅限1次,无需绑卡。

获取API密钥

常见问题

没找到答案?联系我们

YouTube视频或MP4能直接导出SRT吗?

可以。先转录视频,完成后读取format=srt。同一份转录也能导出WebVTT、纯文本和JSON;音频转 SRT也是同样的流程。

时间戳用秒表示吗?

JSON中的start和end是从音视频开头算起的秒数。SRT和VTT使用各自标准的hh:mm:ss时间格式。

YouTube字幕都有逐词时间戳吗?

没有。自动生成的字幕提供每个词的开始时间,创作者字幕没有逐词时间,words为null。AI转录则提供逐词开始时间、结束时间和置信度。

还没转完,能先下载字幕吗?

不能。只有已完成的转录才能导出SRT、VTT和纯文本。在此之前,接口会返回JSON对象,供客户端查看任务状态。