MP4 downloads¶
Besides HLS streaming, a video is also available as a progressive MP4 file, useful as a download link for viewers or as a plain <video src="…"> source where HLS is inconvenient.
Where to find the link¶
Request the video with its presets (renditions) embedded:
The best video rendition carries the static_mp4_link field (it is null on the other presets, and until the rendition is ready). Each alternate audio track likewise exposes the link on its own best preset. See the video API ⧉ for the full response shape.
The link is signed and expires¶
static_mp4_link is a signed URL. How long it stays valid depends on the video's visibility:
| Visibility | The link works for |
|---|---|
| Public | about 30 days |
| Private | 24 hours |
A public video's link is long-lived because it is meant to be published: put it behind a download button, and the CDN serves and caches the file for anyone who follows it, with no token of your own to manage. Read the field again before the month is out, or whenever you rebuild the page, and never build the path by hand: you cannot compute the signature yourself.
For private videos you can also build the URL yourself with a JWT token instead of reading this field; see Secure video playback.
Revoking a link
Making a public video private shortens the expiry of links minted from that point on. It does not cut off a link already handed out: a signed URL cannot be recalled, so it keeps working until it expires. Changing the video's password does not affect MP4 links either. Delete the video if you need its downloads to stop immediately, and note that an already-cached file can still be served by the CDN for a short propagation delay after that.
Changed in July 2026
A public video's static_mp4_link used to be a permanent URL that never expired. It is now a signed link with the 30-day window above. If you stored one in your own database or pasted one into a page, re-read the field to get a fresh link.
Downloading the original upload¶
The original uploaded file (not a rendition) is available at the video's asset.original_link (a signed, expiring URL), from the dashboard's video edit page, or via the signed original-download URL; see Secure video playback.
Warning
The project's keep_originals setting must be true (the default) for original downloads to work. With it disabled, originals are deleted after encoding and asset.original_link becomes null. The setting cannot be re-enabled once disabled.