文档来源与转录设置

来源与转录设置

查看支持的视频链接,选择平台字幕或AI转录,并设置说话人分离和语言。

提交YouTube、X、TikTok、Instagram、Facebook或Bluesky的视频链接,或直接上传文件,即可开始转录。其他支持的平台、公开录制内容和链接格式见下表。在POST /v1/transcriptions的请求体中,还可以用source选择文本来源、用diarize开启说话人分离、用language指定语言;这些字段均可省略。

支持的平台

将视频链接填入url即可,API会自动识别平台。如果同时填写platform,其值必须与链接对应的平台一致。

平台支持的链接
YouTube(youtube)支持的具体格式见下方YouTube链接表。
X(x)带视频的帖子,域名为x.com或twitter.com,如https://x.com/user/status/1234567890。
TikTok(tiktok)tiktok.com的视频帖子。也支持vm.tiktok.com、vt.tiktok.com和www.tiktok.com/t/短链接。
Instagram(instagram)instagram.com的Reels和视频帖子,路径为/reel/、/reels/、/p/或/tv/。Reel或帖子路径前带用户名也可以。
Facebook(facebook)facebook.com的视频和Reel,包括watch页面链接。也支持fb.watch、/share/v/和/share/r/短链接。
Bluesky(bluesky)带视频的bsky.app帖子,如https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2。
Twitch(twitch)已结束的直播回放(VOD):twitch.tv/videos/<id>或/<channel>/v/<id>,其中v也可以写作video。剪辑:clips.twitch.tv/<slug>、twitch.tv/<channel>/clip/<slug>或/clip/<slug>。支持的域名包括twitch.tv、www、m、go及clips.twitch.tv。
Dailymotion(dailymotion)视频路径为dailymotion.com/video/<id>(可附带_title)或/embed/video/<id>,短链接为dai.ly/<id>。也接受www.dailymotion.com和touch.dailymotion.com域名。
Pinterest(pinterest)pinterest.com或www.pinterest.com的视频Pin,路径为/pin/<id>/或/pin/<slug>--<id>/。只读取Pin内第一个原生视频,不读取外部嵌入视频。不支持图片、画板、pin.it或地区域名。
LinkedIn(linkedin)公开视频帖子,域名为linkedin.com或www.linkedin.com,路径为/posts/<slug>-<activity-id>-<four-character-suffix>或/feed/update/urn:li:activity:<id>/。不支持个人主页、学习课程、活动页或lnkd.in。
Snapchat Spotlight(snapchat)snapchat.com或www.snapchat.com的Spotlight视频,路径为/spotlight/<id>。不支持限时动态和个人主页。

Twitch、Dailymotion、Pinterest、LinkedIn和Snapchat Spotlight的链接必须使用HTTPS,不能带用户名、密码或自定义端口。只接受单条、公开且已录制完成的内容;私有帖子、需登录的帖子、直播、仍在处理的视频流、个人主页、信息流和合集均不支持。抓取时不会携带账号Cookie。

链接中的时间参数不会截取录音或视频。Twitch剪辑和Snapchat Spotlight返回的media_id可能无法从链接推算,应直接保存接口返回的字符串,不要自行生成ID。

X、TikTok、Instagram、Facebook和Bluesky也只接受公开帖子。同一帖子有多个视频时,只转录第一个。不支持个人主页、限时动态、直播页面或TikTok图片帖子。需要登录才能访问时,任务会报login_required;视频没有音轨时会报no_audio。这两种情况都不扣费。

YouTube、X、TikTok、Bluesky、Dailymotion和LinkedIn可以读取字幕,前提是视频有可用的原语言字幕。Instagram、Facebook、Twitch、Pinterest和Snapchat只能用AI语音转文字,source可选auto或stt,不能选captions。无论选哪个平台还是上传文件,都按实测时长和相同的每分钟单价计费。

短链接仅支持上表列出的格式。如果提交的社交平台分享链接尚不含帖子ID,就无法在提交时匹配已有转录。需要复用时,优先使用完整的帖子链接。

平台字幕读取范围与时间戳
YouTube和X读取已有字幕。其中,只有YouTube自动生成的字幕提供逐词时间戳。
TikTok读取平台提供的VTT或SRT字幕,只有分段时间戳。
Bluesky读取受支持、受信任PDS上的原生视频字幕,不支持任意其他联邦服务器、引用的视频或外部视频。只有分段时间戳。
Dailymotion直接读取SRT字幕文件,不读取字幕播放列表。只有分段时间戳;识别到的en-auto、fr-auto字幕会标为auto_generated。
LinkedIn读取公开原生视频的VTT字幕,只有分段时间戳。不支持LinkedIn Learning。

YouTube链接格式

将完整视频链接填入url,省略platform或将其设为youtube。支持下列格式,域名带不带www.均可:

链接类型示例
视频播放页https://www.youtube.com/watch?v=dQw4w9WgXcQ
短链接https://youtu.be/dQw4w9WgXcQ
Shortshttps://www.youtube.com/shorts/dQw4w9WgXcQ
嵌入式播放链接https://www.youtube.com/embed/dQw4w9WgXcQ
直播页面链接https://www.youtube.com/live/dQw4w9WgXcQ
移动版或音乐版域名https://m.youtube.com/watch?v=dQw4w9WgXcQ、https://music.youtube.com/watch?v=dQw4w9WgXcQ

API会忽略t、list、si等额外查询参数,并将指向同一视频的不同链接识别为同一个视频。必须提交完整URL,不能只传11个字符的视频ID。频道页、只有播放列表的链接及其他不支持的链接均返回422 invalid_url。platform不受支持时,返回422 unsupported_platform,并通过supported_platforms列出可用值。

YouTube支持公开视频和非公开视频(unlisted)。私有视频会报media_private,有年龄限制的视频会报age_restricted,正在直播的视频会报live_stream。如果手头有自己的录制文件,可以改用文件上传。

source:选择字幕或AI转录

通过source指定读取平台字幕,还是转录音频:

参数值处理方式
auto(默认)在YouTube、X、TikTok、Bluesky、Dailymotion和LinkedIn上,先找可用的原语言字幕;找不到时,用AI语音转文字处理音频。
captions(仅字幕)只读取支持字幕的平台,不下载音频,也不调用AI语音转文字。没有可用字幕时,任务报no_captions,不扣费;获取字幕内容失败则报fetch_failed。其他视频平台不接受此值,会返回422 invalid_request。
stt不读取平台字幕,直接用AI语音转文字处理音频。

上传文件一律使用语音转文字。此时source只能选auto或stt,设置为captions会返回422 invalid_request。

字幕语言必须与language指定的语言一致;language为auto时,读取视频原语言的字幕。YouTube字幕须由创作者上传,或由YouTube按该语言生成,不会使用自动翻译字幕。选择顺序为创作者上传的字幕、来源未知的字幕、自动生成的字幕。来源未知不等于创作者上传。

X读取可用的VTT字幕,只提供分段时间戳,即使字幕是自动生成的,也没有逐词时间戳。使用auto时,字幕内容不可用或无法解析才可能改用STT;路由、存储或程序故障不会触发这种切换。使用stt则始终跳过字幕。

diarize:区分说话人

需要区分谁在说话时,将diarize设为true,开启说话人分离。默认值为false。

  • 说话人分离依赖语音转文字。因此,source为auto且diarize: true时,会直接转录音频,不读取字幕。
  • 不能同时设置source: "captions"和diarize: true,否则返回422 invalid_request。
  • 说话人使用Speaker 1、Speaker 2等标签。JSON中可从transcript.speakers和各段的speaker字段读取;text、srt会加上Speaker 1: 前缀,vtt则使用<v Speaker 1>语音标签。
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }

language:指定语言

language默认是auto。也可以填入ISO 639-1双字母代码,如en、de或es。

  • 读取字幕时,用它选择字幕语言。设为auto则读取视频原语言的字幕。
  • 转录音频时,用它向语音转文字服务商提示语言。设为auto则自动识别语言,各段分别带有language字段。

转录对象本身的language字段表示整段录音的主要语言。

查看文本来源和时间戳

读取transcript_source即可知道文本来自平台字幕还是AI转录。可能的值为youtube_captions、x_captions、tiktok_captions、bluesky_captions、dailymotion_captions、linkedin_captions和speech_to_text。如果来自字幕,再看caption_kind:manual表示手动字幕,auto_generated表示自动生成,null表示来源未知。不要把null显示成“创作者上传”。

youtube_captions,caption_kind为manualyoutube_captions,caption_kind为auto_generatedspeech_to_text
如何分段每条字幕对应一段每条字幕对应一段更换说话人、切换语言、遇到句末标点或达到15秒上限时分段
加上include=words后的逐词时间戳不提供,words为null提供单词开始时间,结束时间取下个单词的开始时间提供单词起止时间和confidence
说话人分离不提供不提供diarize为true时提供
语言信息字幕语言字幕语言各段分别识别

YouTube字幕保留发布时的原文,包括[Music]等标记。语音转文字最多处理5小时的音频或视频,超过此时长会报media_too_long。

X字幕(x_captions)以及TikTok、Bluesky、Dailymotion、LinkedIn字幕均只有分段时间戳,也不提供说话人分离。即使是自动生成的字幕,加上include=words后,各段仍返回words: null。需要AI逐词时间戳时,选择source: "stt";需要区分说话人时,在auto或stt模式下设置diarize: true。

计费方式

读取字幕和AI语音转文字的单价相同。按录音或视频的分钟数向上取整,每分钟扣1积分。切换source只改变文本来源,不改变价格。详见计费与限制。

最后更新 2026年10月20日