saveapi.org

API скачивания видео и Клипов VK — выбор качества, ограничение размера

VK — единственная платформа, где ответ содержит выбор: formats[] перечисляет каждый вариант, опубликованный источником, с точным размером в мегабайтах и готовым URL, так что вы берёте самый большой из подходящих без второго вызова. Это руководство — про этот выбор, форму Клипов и limit_mb на случай, если выбирать должен API.

Обновлено

Вызов

Тот же GET, что и для любой платформы, на эндпоинт VK или /v1/download. Принимаются ссылки vk.com, vkvideo.ru и vk.ru — и video-<owner>_<id>, и ссылки на клипы.

Terminal
curl -s "https://api.saveapi.org/v1/vk" \
  -H "Authorization: Bearer sk_live_xxxx" \
  -G --data-urlencode "url=https://vk.com/video-1_2"

Выберите вариант из formats[]

В ответах VK есть formats[] с меткой (144p … 1080p), типом, точным size_mb и URL, готовым к загрузке. Отфильтруйте список на своей стороне по самому большому файлу под вашим потолком; recommended_format называет вариант по умолчанию. Второго запроса и параметра формата нет.

Python
data = resolve("https://vk.com/video-1_2")

# formats[] — tayyor variantlar, har birida aniq hajm (MB)
fits = [f for f in data.get("formats", []) if f["size_mb"] <= 50]
best = max(fits, key=lambda f: f["size_mb"], default=None)
url = best["url"] if best else data["medias"][0]["url"]

Клипы — видео с одним вариантом

Клип VK разрешается как видео и обычно публикует один вариант, поэтому formats[] короткий или отсутствует. Читайте medias[0], когда formats[] нет, — один код покрывает обе формы.

Заберите байты сами

URL указывает на CDN VK, файл не проходит через API. Забирайте в момент разрешения — подписанные ссылки истекают.

Terminal
curl -sL -o video.mp4 "<medias[0].url>"

limit_mb и цена

Передайте limit_mb в запросе — API вернёт самый большой вариант под этим размером как medias[0]; это простой путь для лимита Telegram в 50 МБ. Разрешение в любом случае 1.5 кредита; VK — 1.5, Rutube по той же схеме — 3.

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

formats[] приходит всегда?
Только когда источник публикует несколько вариантов — для большинства видео VK так. Иначе читайте medias[0] — один путь кода покрывает оба случая.
Можно получить только аудио?
Там, где источник публикует mp3, оно появляется записью audio в formats[]; извлечения на сервере нет.
limit_mb меняет цену?
Нет. Он меняет только то, какой вариант попадёт в medias[0]. Разрешение — 1.5 кредита.

Платформы, использованные здесь

Другие руководства

Запустите это руководство со своим ключом

Ключ за минуту. 1 000 бесплатных кредитов, без карты и без срока.

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