sum.video logosum.video/
СценарииАвтор: Péter Nagy

Транскрипты YouTube для RAG-приложения в большом масштабе: кредиты, автопополнение и бюджеты

Разработчица загружает 10 000 видео YouTube в RAG-приложение. Стоимость, расчёт лимита запросов и как автопополнение и бюджеты делают расходы предсказуемыми.

Перескажи видео с YouTube прямо сейчас

Вставь ссылку и получи главное с кликабельными таймкодами.

Если твоему RAG- или ИИ-приложению нужны транскрипты YouTube в большом масштабе, практичная схема такая: API транскриптов с оплатой по использованию и предоплаченными кредитами, автопополнение, чтобы долгая загрузка никогда не останавливалась, и месячный бюджет, чтобы баг не раздул счёт. Этот разбор проводит разработчицу через такую настройку с API транскриптов sum.video.

Ситуация

Майя делает исследовательского ассистента, который отвечает на вопросы о докладах с конференций. Её индекс должен охватить около 10 000 видео YouTube с нескольких сотен каналов, а затем расти примерно на 300 новых видео в месяц. Загрузку она запускает на небольшом сервере и не хочет ни караулить её, ни получать неожиданный счёт.

Её условия просты: предсказуемая стоимость, никакого ручного пополнения посреди задания и аккуратная обработка видео без транскрипта.

Что ей нужно

  • Простой текст для каждого видео, готовый к разбиению и построению эмбеддингов.
  • Таймкоды, чтобы ответ мог ссылаться на точный момент видео.
  • Стоимость, которую можно оценить до начала.
  • Жёсткий потолок расходов.

Перескажи видео с YouTube прямо сейчас

Вставь ссылку и получи главное с кликабельными таймкодами.

Шаг за шагом

1. Сначала оцени стоимость

Один транскрипт стоит 2 кредита, а запросы, не вернувшие транскрипт, ничего не стоят. Для 10 000 видео это максимум 20 000 кредитов. С пакетом на 5 000 кредитов за $74.99 ($0.030 за транскрипт) 10 000 транскриптов обойдутся примерно в $300, чуть меньше, если у некоторых видео нет субтитров. Маленькие пакеты стоят дороже за транскрипт: $0.090 за 100 кредитов, $0.056 за 500, $0.038 за 2 000. Актуальные подробности на странице цен.

Кредиты покупаются один раз и не сгорают, поэтому пока она разрабатывает, никакие часы подписки не тикают.

2. Проверь на бесплатных кредитах

К её первому ключу API прилагается 10 бесплатных кредитов, то есть 5 транскриптов. Она использует их, чтобы проверить ответ для нескольких видео в формате json (сегменты с offset и duration в секундах) и в формате text. Подробности запроса есть в руководстве как получить транскрипт YouTube через API с рабочими примерами на curl, Python и JavaScript.

3. Настрой автопополнение

На панели API она включает автопополнение. Правило такое: когда баланс опускается ниже выбранного уровня, с сохранённой карты списывается оплата за ещё один пакет. Задание загрузки идёт всю ночь без ручного пополнения.

4. Задай бюджеты

Её защищают два ограничения:

  • Месячный бюджет пополнений, который ограничивает, сколько автопополнение может потратить за месяц.
  • Месячный лимит кредитов. Когда он достигнут, дальнейшие запросы возвращают 402 budget_exceeded.

Она также включает уведомления по e-mail о низком балансе, о достижении 80% месячного лимита и о неудачных пополнениях. Уведомления сообщают о проблеме, пока ещё есть время действовать.

5. Соблюдай лимит запросов

Каждый ключ допускает 60 запросов в минуту. В таком темпе 10 000 запросов занимают около 167 минут, то есть меньше трёх часов на одном ключе. Она запускает простую очередь, которая отправляет по одному запросу в секунду, и так остаётся под лимитом без всплесков. Она могла бы создать до 5 активных ключей, например один для загрузки и один для живых запросов приложения, чтобы догрузка никогда не блокировала запрос пользователя.

6. Обработай видео без транскрипта

API возвращает только существующие субтитры YouTube. Прямые трансляции, приватные или удалённые видео и видео без субтитров возвращают 404 no_transcript. В её очереди этот статус значит: пометить как пропущенное и идти дальше, никогда не повторять. Поскольку такие запросы ничего не стоят, канал, полный видео без субтитров, не сжигает её бюджет.

Её цикл в псевдокоде:

  1. Взять следующий идентификатор видео из очереди.
  2. Вызвать API с format=json.
  3. При успехе: разбить сегменты на куски примерно по минуте, сохранить каждый кусок с его начальным смещением и построить эмбеддинг.
  4. При 404 no_transcript: сохранить пометку «нет транскрипта».
  5. При 402 budget_exceeded: поставить очередь на паузу и уведомить себя.
  6. При ошибке сервера: повторить после задержки.

7. Проверяй баланс в коде

Перед каждой крупной партией она вызывает GET /api/v1/credits. Если баланс меньше, чем нужно партии, а автопополнение выключено, задание отказывается стартовать. Это дешёвая защита от наполовину завершённого импорта.

Что у неё получается в итоге

После первой ночи индекс содержит транскрипты почти всех 10 000 видео, у каждого куска есть время начала. Когда пользователь задаёт вопрос, ассистент ссылается на доклад и таймкод, а ссылка открывает видео в этот момент. Постоянные расходы невелики: 300 новых видео в месяц это не больше 600 кредитов, около $18 по ставке пакета на 5 000, $0.030 за транскрипт.

Если бы Майя оформила Pro, она получала бы ещё 100 бонусных кредитов в месяц, что покрывает часть такого роста.

Где этого не хватает

  • Нет субтитров, нет транскрипта. API не расшифровывает аудио. Для видео без субтитров нужен другой источник, например сервис распознавания речи, и платишь ты за него отдельно. Некоторые другие API транскриптов предлагают аудио-запасной вариант, см. сравнение API транскриптов YouTube.
  • В автоматических субтитрах бывают ошибки. Обычно страдают имена и профессиональный жаргон. В ответе указано, сгенерирована ли дорожка автоматически, поэтому такие куски можно взвешивать или помечать.
  • Язык это язык дорожки субтитров. В ответе указан реальный язык, поэтому не считай, что он совпадает с запрошенным.
  • Пропускная способность ограничена на ключ. Очень большая догрузка это вопрос часов, а не секунд.
  • Возвращаются только транскрипты. Разбиение, эмбеддинги и поиск остаются на тебе. Если нужен только пересказ одного видео, используй суммаризатор YouTube.

Источники

Частые вопросы

Сколько стоит получить 10 000 транскриптов YouTube?

Максимум 20 000 кредитов, так как каждый транскрипт стоит 2 кредита. С пакетом на 5 000 кредитов за $74.99 ($0.030 за транскрипт) это примерно $300. Видео без транскрипта ничего не стоят, поэтому реальная сумма может быть меньше.

Что будет, если баланс закончится посреди долгого задания?

При включённом автопополнении с сохранённой карты списывается оплата за ещё один пакет, как только баланс опускается ниже выбранного уровня, и задание продолжается. Без него запросы останавливаются, когда кредиты кончаются.

Как не дать багу раздуть счёт?

Задай месячный бюджет пополнений и месячный лимит кредитов. Когда лимит кредитов достигнут, запросы возвращают 402 budget_exceeded. Также можно получать уведомления по e-mail о низком балансе, о достижении 80% месячного лимита и о неудачных пополнениях.

Какой лимит запросов?

60 запросов в минуту на ключ, до 5 активных ключей. При одном запросе в секунду 10 000 видео обрабатываются на одном ключе меньше чем за три часа.

Что с видео без субтитров?

Они возвращают 404 no_transcript и ничего не стоят. API не расшифровывает аудио, поэтому для таких видео нужен другой источник.

Перескажи видео с YouTube прямо сейчас

Вставь ссылку и получи главное с кликабельными таймкодами.

ragapi транскриптов youtubeии-приложениеавтопополнениебюджет api

Читайте также

Новые публикации

Перескажи любое видео с YouTube за секунды

Попробовать sum.video