PlayVideo

PlayVideo Video API Documentation

Simple video hosting for developers. Upload, transcode, and stream video with one API call.

Quick Start

Get your first video streaming in 60 seconds:

# 1. Get your API key from the dashboard
# /dashboard/api-keys

# 2. Upload a video
curl -X POST https://api.playvideo.dev/v1/videos \
  -H "Authorization: Bearer play_live_your_api_key" \
  -F "[email protected]" \
  -F "collection=my-app"

# 3. Get the HLS stream URL from the response
# { "video": { "id": "xxx", "playlistUrl": "https://..." } }

Why PlayVideo?

FeaturePlayVideoOthers
Time to first video< 60 seconds10-30 minutes
API endpoints to learn~1050+
PricingSimple, flatCalculator required
Encoding costFreeFree-$$$$
Bandwidth costCheapExpensive
Self-hostingYesNo

Core Concepts

Collections

Collections are like folders for organizing your videos. Create one per project, customer, or category.

await bb.collections.create({ name: 'Tutorial Videos' });

Videos

Upload any video format. We transcode it to HLS for universal playback on any device.

const video = await bb.videos.upload({
  file: './video.mp4',
  collection: 'tutorial_videos'
});

Streaming

Every video gets an HLS playlist URL that works with any video player.

<video src="https://cdn.playvideo.dev/.../playlist.m3u8" controls></video>

SDKs & Tools

Guides

Framework Guides

  • Next.js - Add video to Next.js apps
  • React - Video components for React
  • Vue - Vue.js integration
  • Remix - Remix video handling

API Reference

Support