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

ItemLimit
Upload size256 GB per file
API rate50 requests / second / token
Live DVR window72 hours
RenditionsUp to 12 per ladder