OverviewGuidesAPI Reference
Log inSign up
OverviewGuidesAPI Reference
Sign upLogin
Getting started with
Live stream with the API
Create a stream
Live stream with the dashboard
Your account

How to create a stream with the API

Send a POST request to

This creates a new parent stream object. The id in the POST request response will be the parentId for all future session stream objects for this stream. This guide explains the relationship between parent-config and child-session stream objects.

Use the API key as a part of the authorization header, and use a JSON body to specify the configuration for the stream. The only parameter you are required to set is the name of your stream, but we also highly recommend that you define the profiles parameter with 720p, 480p and 360p renditions.

If you do not define transcoding rendition profiles when creating the stream, no transcoding will happen. Your playback video will have the attributes of the source stream only, will not take advantage of adaptive bitrate streaming and will likely buffer.

Here is an example request:

curl -X POST \
-H 'content-type: application/json' \
-H 'authorization: Bearer {api_key}' \
-d '{
"name": "test_stream",
"profiles": [
"name": "720p",
"bitrate": 2000000,
"fps": 30,
"width": 1280,
"height": 720
"name": "480p",
"bitrate": 1000000,
"fps": 30,
"width": 854,
"height": 480
"name": "360p",
"bitrate": 500000,
"fps": 30,
"width": 640,
"height": 360
}' \

This is an example stream object response to the request above:


streamKey, playbackId, and id (a.k.a. the stream ID) are unique to the stream object and important to remember.

Next, learn how to find your ingest and playback base URLs.
  • Company
  • Home
  • Contact
  • Team
  • Jobs
  • Livepeer, Inc.
  • 223 Bedford Ave PMB 530
    Brooklyn, NY 11211
  • [email protected]