您在YouTube上有一个视频,您现在需要完整的转录——以便您可以总结它、索引它、生成字幕或将其输入到您的媒体管道中。通过本文,您将发出一个GET请求,以获取YouTube视频的结构化转录(文本、持续时间、偏移、语言),并将其连接到您的代码或AI代理中,而无需离开您的冲刺。
此媒体API的功能及使用时机
YouTube字幕提取器API返回给定YouTube视频的文本转录。响应是一个包含以下内容的字幕段列表:
- 文本:字幕/发言文本
- 持续时间:段落长度(秒)
- 偏移:从视频开始的起始时间(秒)
- 语言:段落的语言标签
这对于媒体搜索、内容审核、主题分析、自动章节、可访问性工作流程以及构建总结或回答单个视频问题的RAG提示非常有用。由于API返回时间戳,您可以将文本与视频时间线对齐,以便于高亮和预览。
在Zyla API Hub上开始
Zyla API Hub托管超过10,000个公共API,使用一个帐户、一个API密钥和订阅+配额模型(不是按调用付费)。第一个API通常提供7天的试用或50个请求;没有免费计划。请查看API页面以获取当前访问选项和定价。
要尝试此API:
- 打开YouTube字幕提取器API的列表并开始试用: 开始7天的YouTube字幕提取器API试用。
- 如果可用,点击订阅或开始免费试用以获取您的API密钥。
- 在每次调用中使用Authorization: Bearer YOUR_API_KEY。
如果您是市场的新手,您还可以在Zyla API Hub上浏览并订阅其他娱乐和媒体API,使用相同的密钥和帐户。
端点概述
YouTube字幕提取器API公开了一个您需要快速实现“获取视频转录”的端点:
-
获取视频转录
方法:GET
URL:https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript
所需查询参数:- videoId(字符串):YouTube视频ID
您现在可以粘贴的cURL
在Authorization头中使用您的API密钥,并使用所需的videoId调用端点。这是官方示例:
curl -s -X GET "https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript?videoId=eCBABjPcNyo" \
-H "Authorization: Bearer YOUR_API_KEY"
响应的样子
官方示例响应(在真实世界的UI中为简洁起见进行了截断,但在此处完全保留):
{"success":true,"transcript":[{"text":"o que a gente tem no diante","duration":3.24,"offset":0,"lang":"en"},{"text":"dos nossos olhos não dá muita esperança","duration":3.24,"offset":3.24,"lang":"en"},{"text":"no futuro daqui eu vejo a polícia","duration":3.24,"offset":6.48,"lang":"en"},{"text":"atirando a dignidade de pais de família","duration":3.24,"offset":9.72,"lang":"en"},{"text":"daqui eu vejo o estado transformando pessoas","duration":3.24,"offset":12.96,"lang":"en"},{"text":"que poderiam dar bons frutos carregado em","duration":3.24,"offset":16.200000000000003,"lang":"en"},{"text":"pessoas frustradas eu não julgo entendeu monstro","duration":3.24,"offset":19.44,"lang":"en"},{"text":"não precisa ser nenhum expert title superlotado","duration":3.24,"offset":22.68,"lang":"en"},{"text":"estudado formada uma coisa pra saber que","duration":3.24,"offset":25.92,"lang":"en"},{"text":"está tudo errado para saber qual a","duration":3.24,"offset":29.160000000000004,"lang":"en"},{"text":"posição da gente isso tem que acabar","duration":3.24,"offset":32.400000000000006,"lang":"en"},{"text":"com os palestinos abete paz [Música] gino","duration":3.24,"offset":35.64,"lang":"en"},{"text":"problema queria só paz mas não viu","duration":3.24,"offset":38.88,"lang":"en"},{"text":"o veículo agora sem proteção da vida","duration":3.24,"offset":42.120000000000005,"lang":"en"},{"text":"e arrojado mas ainda era o então","duration":3.24,"offset":45.36,"lang":"en"},{"text":"ainda disparava e agora o que eu","duration":3.24,"offset":48.6,"lang":"en"},{"text":"faço me fala na maturidade na sala","duration":3.24,"offset":51.84,"lang":"en"},{"text":"tem pesadelo é época de eleição nosso","duration":3.24,"offset":55.080000000000005,"lang":"en"},{"text":"descabelo progresso sem previsão no chão torço","duration":3.24,"offset":58.32000000000001,"lang":"en"},{"text":"pro meu filho também não vira lata","duration":3.24,"offset":61.56,"lang":"en"},{"text":"é um opção tem vaca tem sempre","duration":3.24,"offset":64.80000000000001,"lang":"en"},{"text":"cid piada pode justificar nada eu entrei","duration":3.24,"offset":68.04,"lang":"en"},{"text":"político claro que foi pra vencer nelson","duration":3.24,"offset":71.28,"lang":"en"},{"text":"é um nojo esgoto exposto é alguém","duration":3.24,"offset":74.52000000000001,"lang":"en"},{"text":"é tanta injustiça em sangue nas suas","duration":3.24,"offset":77.76,"lang":"en"},{"text":"mãos por não fazer nada a troca","duration":3.24,"offset":81…
您通常会使用的字段:
- success:布尔值,指示调用是否成功
- transcript:段落数组;每个段落都有:
- text:字幕段内容
- duration:长度(秒)(浮动)
- offset:从0.0开始的起始时间(秒)(浮动)
- lang:行的语言标签
实用说明:
- 偏移和持续时间是秒(浮动)。如果您的UI期望毫秒,请乘以1000。
- 给定videoId的转录通常是静态的。按videoId缓存以避免在索引管道中重复调用。
- 如果视频没有字幕,请在您的应用逻辑中优雅地处理空或缺失的转录数组。
Python示例:获取、扁平化和打印时间戳
此Python代码片段调用相同的端点,检查成功,并格式化每一行的开始和结束时间。
import requests
from datetime import timedelta
API_KEY = "YOUR_API_KEY"
VIDEO_ID = "eCBABjPcNyo"
url = "https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript"
params = {"videoId": VIDEO_ID}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
if not data.get("success"):
raise RuntimeError("API call did not succeed")
segments = data.get("transcript", [])
def fmt(ts):
return str(timedelta(seconds=float(ts)))
for seg in segments:
start = seg.get("offset", 0)
dur = seg.get("duration", 0)
end = float(start) + float(dur)
text = seg.get("text", "")
lang = seg.get("lang", "")
print(f"[{fmt(start)} - {fmt(end)}] ({lang}) {text}")
根据您的用例替换打印逻辑:写入SRT/VTT、索引到搜索或输入到您的摘要工具中。
您本周可以交付的常见媒体工作流程
- 视频库的搜索索引:存储文本、偏移和持续时间;让用户在您的播放器中跳转到确切的时间戳。
- 自动章节:按暂停或主题变化分组段落并生成可点击的章节。
- 内容审核:扫描转录段以查找带时间的审核队列中的标记术语。
- 摘要和问答:将转录块传递给您的LLM,并带上偏移,以便答案可以包含视频中的深度链接。
- 字幕质量检查:将段落与您自己的字幕文件进行比较,以查找差距或漂移。
节省生产时间的细节
- 将偏移/持续时间直接映射到您的播放器时间线。如果您需要帧精度,请使用播放器的FPS将秒转换为帧。
- LLMs的分块:批量处理段落以保持提示在令牌限制之下;保留偏移,以便您可以在输出中重建源时间戳。
- 规范化:转录可能包含标点符号或音乐标签。根据需要进行预处理以适应您的搜索管道。
- 重试和幂等性:由于转录内容是稳定的,因此将调用包装在重试中,并进行缓存,以避免在回填期间重复网络请求。
通过MCP从AI代理调用此API
您还可以通过与MCP兼容的IDE代理调用相同的Hub端点。将您的MCP客户端指向Zyla MCP网关并提供您的密钥。请参阅此处的文档: MCP。
实施大纲:
- 使用基本网关和您的API密钥配置您的MCP客户端。
- 调用获取视频转录的Hub URL路径,videoId=eCBABjPcNyo。
- 确保传递Authorization: Bearer YOUR_API_KEY头。
- 在您工具的处理程序中解析相同的JSON字段(success,transcript[].text/duration/offset/lang)。
这使得AI代理可以按需获取转录,并将结果链入摘要或标记步骤,而无需离开您的编辑器。
故障排除和边缘处理
- 空转录:并非所有视频都有字幕;优雅地处理空转录数组。
- 时间计算:持续时间和偏移是浮动的。小心四舍五入以显示,防止UI中的一秒错误。
- 缓存:由于转录是稳定的,因此按videoId记忆结果。这使您的配额集中在新内容上。
- 语言:每个段落返回语言标签。如果您显示语言过滤器,请首先聚合段落中的语言。
快速参考
- API列表: YouTube字幕提取器API
- 方法:GET
- 端点:https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript
- 所需查询参数:videoId(字符串)
- 身份验证头:Authorization: Bearer YOUR_API_KEY
对于您可能需要的其他媒体集成,请浏览Zyla API Hub上的娱乐和媒体类别。一个密钥适用于每个订阅的API。
常见问题
此端点是否需要videoId以外的任何参数?
不。获取视频转录端点仅需要videoId参数。
持续时间和偏移使用什么时间单位?
以浮点值表示的秒。根据需要转换为毫秒或帧以适应您的播放器。
需要什么身份验证?
在每个请求中使用Authorization: Bearer YOUR_API_KEY传递您的密钥。
如何处理计费?
Zyla使用订阅+配额模型(不是按调用付费)。第一个API通常提供7天的试用或50个请求。请查看API页面以获取当前访问选项和定价。
我可以从AI代理调用此API吗?
是的。使用MCP网关并包含您的Authorization头;有关详细信息,请参阅MCP。
准备好交付您的集成了吗?开始您的试用,获取API密钥,并在几分钟内获取转录: 开始7天的YouTube字幕提取器API试用。