Stream video that adapts to any connection
Upload once, stream everywhere. Automatic HLS transcoding with adaptive bitrate. Quality adjusts to viewer bandwidth in real-time.
import { Stack0 } from '@stack0/sdk'const stack0 = new Stack0({ apiKey: process.env.STACK0_API_KEY })// Upload and process videoconst { videoId, hlsUrl } = await stack0.cdn.video.upload({file: videoFile,folder: 'courses',transcode: {qualities: ['360p', '720p', '1080p'],format: 'hls',},})// Get video statusconst status = await stack0.cdn.video.getStatus(videoId)// Generate thumbnail from videoconst thumbnail = await stack0.cdn.video.thumbnail(videoId, {time: 5,width: 1280,height: 720,})
Features
What's included
HLS Streaming
Industry-standard adaptive streaming. Works on every platform.
Multiple Qualities
360p to 4K. Viewers get the best quality their connection supports.
Global CDN
Video segments cached worldwide. Low latency for viewers everywhere.
Auto Transcoding
Upload MP4, MOV, WebM. We handle format conversion automatically.
Mobile Optimized
Efficient encoding for mobile devices. Save viewer bandwidth.
Fast Start
Optimized for quick playback start. Viewers see video, not spinners.
Why Stack0
Built for production
Adaptive bitrate
Quality adjusts automatically based on viewer bandwidth. No buffering, no manual quality switching.
Automatic transcoding
Upload any format. We transcode to HLS with multiple quality levels automatically.
Global delivery
Video segments cached at edge locations worldwide. Low latency everywhere.
Universal playback
HLS works in Safari natively, everywhere else with hls.js. One URL, all devices.
Thumbnail generation
Extract thumbnails at any timestamp. Preview images generated automatically.
Simple pricing
$0.10 per GB streamed. Transcoding included. No per-minute fees.
Applications
Common implementations
Course Platforms
Stream educational content with quality that adapts to student connections.
Product Demos
Showcase products with smooth video playback on any device.
User-Generated Content
Let users upload videos. Automatic processing handles the complexity.
Marketing Videos
Embed videos on landing pages with reliable, fast playback.
FAQ
Frequently asked questions
Stack0 accepts MP4, MOV, WebM, AVI, and MKV files. Videos are automatically transcoded to HLS format with multiple quality levels for adaptive streaming.
Transcoding typically takes 1-2x the video duration for standard quality levels. A 10-minute video usually processes in 10-20 minutes. You can poll the status endpoint or use webhooks for completion notifications.
You can specify any combination of 360p, 480p, 720p, 1080p, and 4K. Each quality level creates a separate video stream that players automatically switch between based on viewer bandwidth.
HLS adaptive streaming includes multiple quality versions of your video. Players automatically detect viewer bandwidth and switch between qualities seamlessly, ensuring smooth playback without buffering.
The maximum file size is 10GB per video. For larger files, contact us about enterprise options with higher limits.
Ready to build?
Plans start at $5/month.