- Adaptive HLS
- Up to five renditions from 360p to 4K, never above the source.
- MP4
- One file for downloads and as a fallback.
- Poster
- A frame from the video to show before playback.
- Hosted player
- A link to a player page, ready when the video is created.
- Iframe embed
- The same player for your own pages.
curl -X POST https://cap.so/api/developer/v1/uploads \
-H "Authorization: Bearer csk_your_secret_key_here" \
-H "Content-Type: application/json" \
-d '{"name": "User Recording", "userId": "user_42", "corsOrigin": "https://app.example.com"}'
curl https://cap.so/api/developer/v1/videos/abc123def456/status \
-H "Authorization: Bearer csk_your_secret_key_here"
When it is ready
{
"data": {
"id": "abc123def456",
"externalUserId": "user_42",
"duration": 124.5,
"width": 1920,
"height": 1080,
"transcriptionStatus": null,
"ready": true,
"status": "ready",
"errorReason": null,
"playbackId": "Zk3vQ9s2Lm8Rt1Xy7Bc4Df6G",
"renditions": [
{ "name": "1080p", "width": 1920, "height": 1080, "bitrate": 3565000, "bytes": 55480000, "codecs": "avc1.640028,mp4a.40.2" },
{ "name": "720p", "width": 1280, "height": 720, "bitrate": 1161000, "bytes": 18070000, "codecs": "avc1.64001f,mp4a.40.2" },
{ "name": "360p", "width": 640, "height": 360, "bitrate": 261000, "bytes": 4060000, "codecs": "avc1.64001e,mp4a.40.2" }
],
"hlsUrl": "https://cap.so/api/developer/playback/Zk3vQ9s2Lm8Rt1Xy7Bc4Df6G/master.m3u8",
"mp4Url": "https://cap.so/api/developer/playback/Zk3vQ9s2Lm8Rt1Xy7Bc4Df6G/video.mp4",
"posterUrl": "https://cap.so/api/developer/playback/Zk3vQ9s2Lm8Rt1Xy7Bc4Df6G/poster.jpg"
}
}