Skip to main content
This guide creates a stream-ready video asset from a file in Convertly Storage. Use it when your app needs adaptive playback instead of a single downloadable video.
Adaptive video streaming is available on every plan, with source-minute and delivery allowances that scale by plan.

1. Upload the source video

Create a direct upload session, upload the bytes to storage, then complete the upload. The completed file ID becomes sourceFileId.
After upload completion, keep the returned file.id.

2. Create the HLS/DASH stream

For a clip:
Use mode: "fast" for cheaper keyframe-boundary clips when exact frame boundaries do not matter.

3. Wait for readiness

Poll the asset:
Or subscribe a webhook to:
  • video.stream.started
  • video.stream.ready
  • video.stream.failed

4. Play the stream

When ready, use hlsManifestUrl in any HLS-capable player, or dashManifestUrl with dash.js.
Safari plays HLS natively. For Chrome/Firefox desktop, use a player such as hls.js.
Start with:
  • profile: "standard" for most product video.
  • profile: "hd" when 1080p matters.
  • access: "signed" for user/private content.
  • segmentDuration: 6 unless you have a playback reason to change it.
Custom ladders are best for products with strict bandwidth budgets or known playback environments.

Usage pricing

Video streaming uses two meters: Free and Starter stop at their included allowance. Pro and Business can continue with optional overage when enabled in billing settings. Enterprise plans use contracted limits. See Limits and Video streaming.