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.
Terminalcurl -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.
Pythondata = 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.
Terminalcurl -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.