Quick start
Upload a file, get a playback URL, embed it. The whole flow takes about two minutes.
1. Create an API token
Open Settings → API tokens in the dashboard and create a token with the videos:write scope.
2. Upload a video
curl -X POST https://api.muapee.com/v2/videos \ -H "Authorization: Bearer $MUAPEE_TOKEN" \ -F "file=@lecture-01.mp4" \ -F "ladder=auto" -F "codecs=h264,av1"
The response contains the video ID and its state. Transcoding of a one-hour 1080p source usually finishes in under four minutes.
{
"id": "vid_8Kq2mZ4tR1",
"state": "processing",
"playback": {
"hls": "https://cdn.muapee.com/hls/vid_8Kq2mZ4tR1/master.m3u8",
"dash": "https://cdn.muapee.com/dash/vid_8Kq2mZ4tR1/manifest.mpd"
}
}
3. Play it
Any HLS-capable player works: hls.js, Video.js, Shaka, AVPlayer, ExoPlayer. Try the public demo stream:
https://cdn.muapee.com/hls/demo/master.m3u8
Signed URLs
Protected videos require a token in the query string: ?token=<HMAC-SHA256>&expires=<unix>. Generate it server-side with your signing key; tokens are checked at the edge.
Limits
| Item | Limit |
|---|---|
| Upload size | 256 GB per file |
| API rate | 50 requests / second / token |
| Live DVR window | 72 hours |
| Renditions | Up to 12 per ladder |