Upload. Transcode.
Host. Play.
Drag a video into the dashboard, or make three API calls — either way it comes out transcoded, on the global CDN, and playing in an embed. Auto ladder by default, full preset and codec control when you need it.
Drop a video — we take it from here
Everything you need to host video
Upload once, get HLS/DASH manifests, thumbnails, embed codes, and per-video cost reporting.
Auto or custom ladder
Upload with zero config and we build a CMAF ABR ladder from your app defaults. Or pick a system preset. Or define your own — up to 20 variants, full per-variant control.
Multi-codec manifests
Ship the same ladder in parallel codecs — e.g., AV1 at 1080p/720p/480p alongside H.264 at 1080p/720p/480p in one manifest. Modern players pick AV1; older devices fall back to H.264.
HLS, DASH & MP4
ABR streaming in HLS or DASH from shared CMAF segments, or progressive MP4 for direct downloads. Every delivery format available per preset.
CDN Delivery
Global edge delivery via BunnyCDN. Videos are unlisted by default (served from unguessable IDs) or public when you choose, and managed storage is locked down by bucket policy so only transcoded outputs are ever public-read.
Embed anywhere
Copy a URL or iframe snippet — ready for any site, CMS, or mobile app. Vidstack-based player with adaptive HLS streaming.
Dashboard managed
Enable hosting, configure auto-profile defaults, create presets, and pick one per upload — all from the dashboard. Per-video and per-month cost analytics built in.
Zero-config by default.
Deep control when you need it.
Every upload picks one of three modes. All three land in the same dashboard, produce the same playback URLs, and bill the same way.
Auto ladder
Upload with no preset and we build a CMAF ABR ladder from your app's auto-profile defaults. Default: HLS + H.264 up to 1080p at Standard quality — plays everywhere.
- ✓ Format: HLS, DASH, or MP4
- ✓ Codec: H.264, HEVC, VP9, or AV1
- ✓ Max resolution: 480p → 2160p
- ✓ Quality: Economy / Standard / Premium
System preset
Curated templates for common workflows — mobile-first, broadcast quality, archival, HDR, and more. Pick one at upload time, or duplicate it as a starting point for a custom preset.
- ✓ Read-only, always available
- ✓ One-click duplicate to customize
- ✓ Tuned for specific use cases
Custom preset
Save your exact encoding recipe once, reuse it on every upload. Full ABR ladder control — up to 20 variants, each with its own resolution, bitrate, CRF, framerate, and quality override.
- ✓ Up to 20 variants per ladder
- ✓ CRF, CBR, or VBR rate control
- ✓ Content-type tuning, HDR, DRM
- ✓ Multi-codec manifests supported
One manifest, two codec ladders
Ship the same ladder in parallel codecs — e.g., AV1 at 1080p, 720p, and 480p alongside H.264 at 1080p, 720p, and 480p, all inside a single HLS or DASH manifest. Modern players pick AV1 and cut your egress bill; older devices fall back to H.264 automatically, at the same resolution tier. Configure the mix in a custom preset.
Built on the Transcodely transcoding API
Prefer to bring your own storage?
Video hosting is an opt-in layer on top of our transcoding API. If you already have S3, GCS, or R2 set up, skip hosting and use the transcoding API directly — same encoder, same presets, same pricing per output minute.
Three calls. That's it.
Get a presigned upload URL, PUT the file, and tell us you're done. We handle the transcoding, packaging, CDN distribution, and playback infrastructure.
// 1. Get a presigned upload URL
const { video, uploadUrl } = await client.videos.createUpload({
appId: "app_k1l2m3n4o5",
filename: "demo.mp4",
contentType: "video/mp4",
sizeBytes: BigInt(file.size),
});
// 2. Upload the file directly to storage
await fetch(uploadUrl, {
method: "PUT",
body: file,
headers: { "Content-Type": file.type },
});
// 3. Tell the API you're done — transcoding starts
const { video: ready } = await client.videos.completeUpload({
id: video.id,
});
// That's it. Watch for status updates, or just come back later.
console.log(ready.playbackUrl); // https://cdn.../vid_abc.../master.m3u8Transparent pricing
No monthly fees. Pay only for what you use. Encoding, storage, and delivery — all metered.
Higher framerates (60/120fps), Premium quality, HDR, and DRM apply the same transcoding multipliers — see full pricing for the interactive breakdown.
≈ 1.3 hour of content on the default ladder
≈ 46 hours 1080p playback, ≈ 546 views of a 5-min video
Rates: €0.010/output min encoding (per rendition, Standard quality), €0.020/GB·month storage, €0.010/GB egress. See full pricing.
Frequently asked questions
- What happens when I upload a video?
- You pick one of three modes: (1) Auto — uses your app's default profile (format, codec, max resolution, quality tier) to build a CMAF ABR ladder; (2) System preset — ready-made templates for common workflows; (3) Custom preset — your own preset, saved once in the dashboard and reusable across uploads. After upload, we transcode, package, and publish the playback URLs.
- What does the default ladder look like?
- The app's auto-profile defaults drive it — by default, HLS (CMAF segments) in H.264 up to 1080p at the Standard quality tier, which plays back on every modern browser, iOS, Android, and smart TV. You can change any of those defaults per app from the dashboard.
- Can I mix codecs in one manifest?
- Yes. HLS and DASH (CMAF) support multi-codec variant streams with player fallback — e.g., the same 1080p/720p/480p ladder in both AV1 and H.264 inside a single manifest. Capable players pick AV1 and save egress; older devices fall back to the H.264 variant at the same resolution. Configure the codec mix in a preset.
- What video formats can I upload?
- Any common container and codec — MP4, MOV, MKV, WebM, AVI, with H.264, H.265, VP9, AV1, ProRes, and more. Transcodely probes the input automatically and generates your chosen output renditions.
- What's the upload size limit?
- Up to 5 GB per file via resumable multipart uploads. Uploads chunk automatically, survive network interruptions and resume automatically (per-part retry with fresh URLs), and surface real-time progress in the dashboard or SDK.
- Does my video get an HLS stream automatically?
- Yes. Every ready video exposes an HLS playback URL (m3u8) with the full ABR ladder your preset defined. DASH and progressive MP4 are available too, generated from the same CMAF segments.
- How much of the ladder can I customize?
- A preset can hold up to 20 variants, each with its own resolution, bitrate, CRF, framerate, and quality tier override. You control encoder mode (CRF / CBR / VBR), content-type tuning, HDR/DRM, segment duration, and GOP alignment. Save the preset once and reuse it on every upload.
- Where do I manage all this?
- The Transcodely dashboard. Enable hosting on an app, set its auto-profile defaults, create or duplicate presets, pick a preset at upload time, and view the resulting renditions table with codec, resolution, bitrate, and size for each. System presets are duplicatable into your own custom ones.
- How private can my videos be?
- Videos are unlisted by default — playable by anyone with the link, but served from an unguessable ID and never listed anywhere — or public when you want to share openly. Your managed storage stays locked down by a bucket policy: only your transcoded outputs are public-read, never your source uploads.
- How is my content protected?
- Playback URLs use unguessable IDs and unlisted videos are never listed anywhere, so links are not discoverable. Managed storage is locked down by a bucket policy — only your transcoded outputs are public-read, never your source uploads — and cross-origin playback in the browser is enabled via CORS on the delivery zone.
- What CDN powers delivery?
- Transcodely uses a global CDN with edge caching across multiple continents. You'll see your CDN hostname (e.g. transcodely-app-xxx.b-cdn.net) in the app config once hosting is enabled.
- How is hosting billed?
- Three line items: €0.010/min for encoding (one-time per video), €0.020/GB/month for storage (metered daily), and €0.010/GB for egress (metered hourly). No monthly fees or commitments.
- Is this separate from the transcoding API?
- Hosting is built on the same transcoding engine — you can use the transcoding API alone with your own S3/GCS/R2 storage, or enable hosting on an app to have Transcodely handle upload, storage, CDN, and playback end-to-end.
02:34:00 / 02:34:00 · up next
Ready to host your first video?
Sign up, get your API key, and upload a video in under 5 minutes. No credit card required to start.