场景作者: Péter Nagy

面向大规模 RAG 应用的 YouTube 文字稿:积分、自动充值与预算

一位开发者把 10,000 个 YouTube 视频导入 RAG 应用。看看成本、速率限制的计算,以及自动充值和预算如何让开支可预测。

现在就总结一个 YouTube 视频

粘贴链接,获取带可点击时间戳的要点。

如果你的 RAG 或 AI 应用需要大规模的 YouTube 文字稿,切实可行的方案是:按用量付费、使用预付积分的文字稿 API,加上让长时间导入任务永不中断的自动充值,以及让一个 bug 不会推高账单的月度预算。本文跟随一位开发者,用 sum.video 文字稿 API 完成这套设置。

情境

Maya 在做一个研究助手,回答关于会议演讲的问题。她的索引要覆盖来自几百个频道的约 10,000 个 YouTube 视频,之后每月新增约 300 个视频。她在一台小服务器上运行导入任务,既不想一直盯着,也不想被账单吓一跳。

她的要求很明确:成本可预测,任务中途不需要手动充值,并且能干净地处理没有文字稿的视频。

她需要什么

  • 每个视频的纯文本,可以直接分块和做向量嵌入。
  • 时间戳,这样回答可以链接到视频中的确切时刻。
  • 一个开始前就能估算的成本。
  • 一个硬性的支出上限。

现在就总结一个 YouTube 视频

粘贴链接,获取带可点击时间戳的要点。

分步说明

1. 先估算成本

一份文字稿消耗 2 个积分,没有返回文字稿的请求不收费。10,000 个视频最多是 20,000 个积分。使用 5,000 积分套餐(价格 $74.99,每份 $0.030),10,000 份文字稿总共约 $300,如果有些视频没有字幕,会稍微少一点。较小的套餐每份更贵:100 积分每份 $0.090,500 积分 $0.056,2,000 积分 $0.038。最新详情见价格页面。

积分一次购买、永不过期,所以她开发期间没有订阅的计时在走。

2. 用免费积分测试

她的第一个 API 密钥附带 10 个免费积分,也就是 5 份文字稿。她用它们检查几个视频的响应,分别用 json 格式(带有以秒为单位的 offset 和 duration 的分段)和 text 格式。如果想了解请求细节,指南如何用 API 获取 YouTube 文字稿里有可运行的 curl、Python 和 JavaScript 示例。

3. 设置自动充值

在 API 控制台中,她打开自动充值。规则是:余额低于所选水平时,就从已保存的银行卡再扣一个套餐的费用。导入任务整夜持续运行,无需手动充值。

4. 设置预算

有两项限制在保护她:

  • 月度充值预算,限制自动充值每月最多能花多少。
  • 月度积分上限。一旦达到,之后的请求都会返回 402 budget_exceeded。

她还打开了电子邮件提醒,针对余额不足、达到月度上限的 80%,以及充值失败。提醒会在还来得及处理的时候告诉她出了问题。

5. 遵守速率限制

每个密钥每分钟允许 60 次请求。按这个速度,10,000 次请求大约需要 167 分钟,单个密钥不到三个小时。她运行一个简单的队列,每秒发送一个请求,这样不会出现突发,也不会超限。她最多可以创建 5 个有效密钥,比如一个用于导入,另一个用于应用的实时查询,这样回填任务就不会阻塞用户的请求。

6. 处理没有文字稿的视频

API 只返回现有的 YouTube 字幕。直播、私享或已删除的视频,以及没有字幕的视频,都会返回 404 no_transcript。在她的队列里,这个状态意味着标记为已跳过并继续,绝不重试。由于这些请求不收费,一个全是无字幕视频的频道也不会消耗她的预算。

她的循环,用伪代码表示:

  1. 从队列中取出下一个视频 ID。
  2. 以 format=json 调用 API。
  3. 成功时:把分段切成大约一分钟的块,连同起始偏移量一起保存,并做嵌入。
  4. 遇到 404 no_transcript:保存一个"无文字稿"标记。
  5. 遇到 402 budget_exceeded:暂停队列并提醒自己。
  6. 遇到服务器错误:延迟后重试。

7. 在代码里检查余额

在每个大批次之前,她都会调用 GET /api/v1/credits。如果余额低于这个批次所需,而自动充值又是关闭的,任务就拒绝启动。这是防止导入做到一半的一种低成本保护。

她最终得到什么

第一晚之后,索引里已有几乎全部 10,000 个视频的文字稿,每个块都带着起始时间。用户提问时,助手会引用某场演讲和一个时间戳,链接会直接从那个时刻打开视频。持续成本很小:每月 300 个新视频最多 600 个积分,按 5,000 套餐每份 $0.030 的价格计算约为 $18。

如果 Maya 订阅 Pro,每月还会获得 100 个赠送积分,可以抵消部分增长。

不足之处

  • 没有字幕就没有文字稿。 API 不会转写音频。没有字幕的视频需要另一个来源,比如语音转文字服务,并且要另外付费。其他一些文字稿 API 提供音频兜底,见 YouTube 文字稿 API 对比。
  • 自动生成的字幕有错误。 人名和行话通常是重灾区。响应会说明一条轨道是否为自动生成,所以你可以给这些块降权或打上标记。
  • 语言是字幕轨道的语言。 响应报告的是真实语言,所以不要想当然地认为它与你请求的一致。
  • 吞吐量按密钥限制。 非常大的回填需要几个小时,而不是几秒钟。
  • 只返回文字稿。 分块、嵌入和检索是你自己的工作。如果你只需要一个视频的摘要,请使用 YouTube 摘要工具。

来源

常见问题

获取 10,000 份 YouTube 文字稿要花多少钱?

最多 20,000 个积分,因为每份文字稿 2 个积分。使用 5,000 积分套餐($74.99,每份 $0.030),大约是 $300。没有文字稿的视频不收费,所以实际总额可能更低。

长任务中余额用完了会怎样?

开启自动充值后,一旦余额低于你所选的水平,就会从已保存的银行卡再扣一个套餐的费用,任务继续运行。不开启的话,积分用完时请求就会停止。

如何防止 bug 推高我的账单?

设置月度充值预算和月度积分上限。达到积分上限后,请求会返回 402 budget_exceeded。你还可以收到余额不足、达到月度上限的 80%,以及充值失败的电子邮件提醒。

速率限制是多少?

每个密钥每分钟 60 次请求,最多 5 个有效密钥。按每秒一次请求,10,000 个视频用单个密钥不到三个小时。

没有字幕的视频怎么办?

它们会返回 404 no_transcript,且不收费。API 不会转写音频,所以这些视频需要另一个来源。

现在就总结一个 YouTube 视频

粘贴链接,获取带可点击时间戳的要点。

ragyoutube 文字稿 apiai 应用自动充值api 预算

相关阅读

最新文章

几秒钟总结任何 YouTube 视频

试用 sum.video