saveapi.org

API для скачивания клипов и VOD Twitch

Ссылка на клип Twitch превращается в файлы с СОБСТВЕННОГО CDN клипа: H.264 MP4 в каждом качестве, которое хранит Twitch (обычно 1080p, 720p, 480p и 360p), у каждого — точный размер, прочитанный с CDN, всё в одном ответе. VOD (twitch.tv/videos/…) устроен иначе, потому что Twitch отдаёт его только по HLS: в ответе по-прежнему все качества с размерами, но каждый url — наш: сегменты на лету собираются в MP4 и идут потоком через наш сервер, без перекодирования и без записи на диск. Исходный m3u8 лежит в поле hls, если вы хотите отдать его плееру напрямую. Ссылка на живой канал отклоняется с 404 за 0.1 кредита; VOD только для подписчиков возвращается как PRIVATE_CONTENT.

видеоаудиоGET /v1/twitch1.5 кредита

Какие ссылки принимаем

Любая ссылка на публичный пост с этих хостов. Короткие ссылки и страновые зеркала раскрываются автоматически.

Хосты

twitch.tv

Запрос

curl -s "https://api.saveapi.org/v1/twitch" \
  -H "Authorization: Bearer sk_live_xxxx" \
  -G --data-urlencode "url=https://clips.twitch.tv/DeliciousDelightfulPicklesWOOP"

Ответ

{
  "success": true,
  "platform": "twitch",
  "type": "video",
  "medias": [
    { "type": "video", "url": "https://…", "ext": "mp4" },
    { "type": "audio", "url": "https://…", "ext": "mp3" }
  ],
  "formats": [
    { "format": "mp4_480", "label": "480p", "type": "video", "size_mb": 7.9, "url": "https://…" },
    { "format": "mp4_720", "label": "720p", "type": "video", "size_mb": 17.19, "url": "https://…" }
  ],
  "recommended_format": "mp4_720",
  "meta": { "title": "…", "author": "…", "thumbnail": "https://…" },
  "credits": { "spent": 1.5, "remaining": 99988.5 }
}

Стоит знать

Все качества, которые источник уже отдаёт, приходят в одном ответе — у каждого готовая ссылка и точный размер. Выбирайте нужное на своей стороне: второго запроса и параметра формата нет.

Вопросы перед началом

Клипы и VOD стоят одинаково?
Нет. Клип — 1.5 кредита: это готовый MP4 на CDN Twitch, мы лишь отдаём ссылки. VOD — 3 кредита, как Rutube, потому что файл собирается из HLS-сегментов и идёт потоком через нас. Цена — за одно разрешение ссылки: ссылки на все качества лежат в том же ответе, и скачать одну, несколько или ни одной ничего дополнительно не стоит.
Насколько велик VOD и насколько точен size_mb?
Велик. Десятичасовой архив стримера — примерно 15 ГБ в 720p60, и даже 360p — около 3 ГБ. size_mb измеряется по выборке реальных сегментов, а не берётся из подсказки bandwidth у Twitch (она ошибается до 40%); ожидайте расхождение в несколько процентов с полученным файлом. У потоковой ссылки нет ни Content-Length, ни Range.
Что возвращает ссылка на живой канал?
404 с пояснением, что twitch.tv/<канал> — это прямой эфир и скачивать нечего, за 0.1 кредита. Отправьте клип (clips.twitch.tv/… или twitch.tv/<канал>/clip/…) либо VOD (twitch.tv/videos/<id>) — оба определяются по ссылке; старые формы twitch.tv/<канал>/video/<id> и player.twitch.tv?video= тоже принимаются.

Другие платформы

Получить ключ и попробоватьПолный справочник API