К содержанию
200 поинтов при регистрацииБез карты

Скачивание видео с YouTube в 1080p через API

Full HD для вашего Telegram-бота или сервиса: запрос формата 1080p, выбор языка озвучки и субтитры — на той же инфраструктуре, через которую проходит 4,4 млн скачиваний в месяц. 12 поинтов за загрузку, 2 — за повторную отдачу ролика, который ваш бот уже получал.

Чем 1080p отличается от остальных форматов

В невысоких разрешениях YouTube обычно отдаёт готовый файл с картинкой и звуком вместе. В 1080p видео и аудио идут отдельными потоками, которые нужно скачать и склеить в один файл. Это дополнительная работа и заметно больший объём трафика, поэтому Full HD стоит немного дороже остальных форматов: 12 поинтов против 10.

Для вас разница остаётся внутри одного запроса: склейка и выбор дорожек происходят на нашей стороне, на выходе — готовый файл, который бот отправляет пользователю.

Как запросить 1080p

Сначала GET /video/{id}/formats. В ответе — объект с доступными форматами по ключам 240p, 360p, 480p, 720p, 1080p. У каждого есть флаг cached; размер файла возвращается у тех, которых в кэше нет. Если ключа 1080p нет, ролик недоступен в этом качестве: автор загрузил его в меньшем разрешении или файл превышает допустимый размер.

Затем GET /video/{id}/download/1080p. Для файла из кэша ответ содержит status: ready и file_id сразу. Если в кэше его нет — status: queued; повторяйте запрос раз в пять-семь секунд, пока не получите ready. Полученный file_id отправляется пользователю через sendVideo.

Язык озвучки

Многие ролики выходят с несколькими аудиодорожками — оригинал и переводы. В ответе на запрос форматов у таких видео есть поле voices: языки дорожек с отметкой, какие из них уже в кэше. Чтобы получить нужную озвучку, добавьте к запросу скачивания параметр lang, например lang=ru. Без параметра отдаётся дорожка по умолчанию.

Каждая комбинация качества и озвучки кэшируется отдельно: если ролик в 1080p с русской дорожкой уже кто-то запрашивал, он придёт в первом же ответе. Цена обычная, если ваш бот его ещё не получал.

Субтитры

GET /video/{id}/subtitles возвращает список доступных дорожек субтитров и ничего не стоит. Текст конкретной дорожки — GET /video/{id}/subtitles/{lang}, 1 поинт; параметр f выбирает формат: txt для чистого текста или srt с таймкодами, если нужно вшить субтитры в плеер.

Сколько стоит Full HD

1 000 поинтов равны 1 $. Загрузка в 1080p — 12 поинтов, то есть 0,01 $ за файл или 12 $ за тысячу. Повторная отдача — 2 поинта независимо от качества: повторно отданный 1080p стоит столько же, сколько 360p.

Пробного баланса в 200 поинтов хватает на 16 загрузок в Full HD или 100 повторных отдач. Пополнение — от 5 $, списания только за успешные ответы.

Кэш и популярные ролики

В кэше около 95 миллионов файлов — его наполняют все, кто работает через API. Каждая загрузка в 1080p, ваша или чужая, пополняет кэш: следующий запрос того же ролика в том же качестве не уходит на YouTube, а отдаётся сразу. Full HD собирается из двух дорожек, поэтому на нём эта разница во времени заметнее всего.

На цену кэш не влияет — она зависит от того, получал ли этот ролик ваш бот. Для сервисов, где пользователи просят одни и те же новые выпуски, это выгодно: первый запрос вашего бота идёт по полной цене, а каждый следующий запрос того же ролика в том же формате — за 2 поинта.

Вопросы по теме

Есть ли 1440p или 4K?

Нет. Максимальное качество — 1080p. Форматы выше в списке не появляются.

Почему у некоторых видео нет 1080p?

Либо автор загрузил ролик в меньшем разрешении, либо итоговый файл превышает допустимый размер. В обоих случаях ключ 1080p отсутствует в ответе /formats — ориентируйтесь на него, а не на настройки плеера YouTube.

Дороже ли повторная отдача 1080p?

Нет. Повторная отдача ролика, который ваш бот уже получал, стоит 2 поинта в любом качестве. Разница в цене есть только у загрузок роликов, которых у вашего бота ещё не было: 10 поинтов до 720p и 12 за 1080p.

Можно ли получить 1080p с другой озвучкой?

Да, если у ролика есть нужная дорожка — она будет перечислена в voices у формата 1080p. Передайте её код параметром lang при скачивании.

Начните с бесплатного баланса

200 поинтов при регистрации — около 20 свежих скачиваний, карта не нужна. Пополнение от 5 $. Вход через Telegram.