saveapi.org

VK video and Клипы download API — pick a quality, cap the size

VK is the one platform where the response carries a choice: formats[] lists every rendition the source publishes with its exact size in megabytes and a ready URL, so you pick the largest that fits your destination without a second call. This guide is that pick, the Клипы shape, and limit_mb for when you would rather have the API choose.

Updated

The call

The same GET as every platform, against the VK endpoint or /v1/download. vk.com, vkvideo.ru and vk.ru links are accepted, both video-<owner>_<id> and clip links.

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"

Pick a rendition from formats[]

VK responses carry formats[] with a label (144p … 1080p), a type, an exact size_mb and a URL that is ready to fetch. Filter the list client-side for the largest file under your ceiling; recommended_format names the source's default. There is no second request and no format parameter.

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"]

Клипы are videos with one rendition

A VK clip resolves like a video and usually publishes a single rendition, so formats[] is short or absent. Read medias[0] when formats[] is missing — the same code handles both shapes.

Fetch the bytes yourself

The URL points at VK's CDN and the file never passes through the API. Fetch it when you resolve it — signed links expire.

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

limit_mb and what it costs

Pass limit_mb on the request and the API returns the largest rendition under that size as medias[0], which is the easy path for Telegram's 50 MB bot limit. A resolve is 1.5 credits either way; VK is 1.5, Rutube on the same pattern is 3.

Questions before you build

Do I always get formats[]?
Only when the source publishes several renditions, which is most VK videos. When it does not, read medias[0] — the same code path handles both.
Can I get audio only?
Where the source publishes an mp3, it appears as an audio entry in formats[]; there is no server-side extraction.
Does limit_mb change the price?
No. It only changes which rendition lands in medias[0]. A resolve is 1.5 credits.

Platform references used here

Other guides

Run this guide with your own key

Key in under a minute. 1,000 free credits, no card, no expiry.

Get a key and try itFull API reference