Skip to main content
This walkthrough takes you from nothing to a running stream using curl and an API key. The flow is: add some media, point it at a destination, create the stream, and start it. Set your key once so the snippets below stay short:
1

Verify your credentials

Confirm the key works and see your account:
Returns your User (id, email, firstName, …). A 401 means the key is missing, wrong, or revoked.
2

Add a video

Import a video from a public URL (you can also upload files directly — see the Uploads endpoints). type is VIDEO or AUDIO:
Note the objectID from the returned Upload — you’ll reference it when creating the stream.
3

Add a destination

Point at any RTMP target. Grab the ingest URL and stream key from your platform’s dashboard (YouTube, Twitch, Facebook Live, or custom RTMP):
Note the destination id from the response.
4

Create the stream

Combine the media and destination into a stream. quality is one of q_720p, q_1080p, q_1440p, q_2160p; framerate is f_24, f_25, f_30, or f_60:
Note the stream id. (To loop several clips instead of one video, create a playlist and pass playlistIDs instead of videoUploadObjectID.)
5

Check it's ready to go live

Readiness surfaces anything that would stop the stream from starting:
If ready is false, fix the listed issues (for example, the video is still being prepared) and check again.
6

Start streaming

Your video now loops to the destination 24/7. Stop it any time with POST /streams/{id}/stop.
7

Monitor it

Poll live stats while it runs:
Prefer not to call low-level endpoints in order? Point an AI agent at the MCP server and describe the outcome you want — it drives the same operations as tools.

What’s next

Full endpoint reference

Every operation across streams, uploads, playlists, destinations, billing, and crypto.

Schedule instead of start

Pass scheduleStartAt/scheduleEndAt when creating a stream, or call POST /streams/{id}/schedule, to go live automatically.