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.
Public videos: a permanent, shareable URL¶
For public videos, static_mp4_link is a fixed URL that needs no signed, expiring token — you can publish it as a download link. The file is served and cached by the CDN.
The URL is not guessable: its final path segment is a token derived from the video's password, so it cannot be reconstructed from the project/video/preset ids alone. Always read the link from static_mp4_link rather than building the path by hand.
Rotating or revoking the link
Changing the video's password rotates the URL — the previous link stops working once the CDN cache for the old URL expires. Likewise, making a public video private (or deleting it) does not immediately stop the CDN from serving an already-cached MP4 — there is a propagation delay.
Private videos: a signed URL¶
For private videos, static_mp4_link holds a signed, expiring URL instead. You can also build the URL yourself with a JWT token — see Secure video playback.
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, asset.original_link becomes null — and the setting cannot be re-enabled once disabled.