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:
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.Add a video
Import a video from a public URL (you can also upload files directly — see the Uploads endpoints). Note the
type is VIDEO or AUDIO:objectID from the returned Upload — you’ll reference it when creating the stream.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.Create the stream
Combine the media and destination into a stream. Note the stream
quality is one of q_720p, q_1080p, q_1440p, q_2160p; framerate is f_24, f_25, f_30, or f_60:id. (To loop several clips instead of one video, create a playlist and pass playlistIDs instead of videoUploadObjectID.)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.Start streaming
POST /streams/{id}/stop.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.