curl --request POST \
--url https://api.tenbyte.io/v1/livestream/streams \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Live TV Channel",
"type": "linear",
"mode": "video",
"region": "sg-edge-04",
"ingest": {
"kind": "push",
"protocols": [
"rtmp",
"srt"
]
},
"output_protocols": [
"hls",
"dash"
],
"ladder": {
"video": [
{
"name": "1080p",
"width": 1920,
"height": 1080,
"fps": 25,
"gop": 50,
"bitrate_kbps": 3000,
"max_bitrate_kbps": 3500,
"buf_size_kbps": 6000,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"crf": 21,
"bframes": 0,
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 128
}
},
{
"name": "720p",
"width": 1280,
"height": 720,
"fps": 25,
"gop": 50,
"bitrate_kbps": 1500,
"max_bitrate_kbps": 2000,
"buf_size_kbps": 4000,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"crf": 23,
"bframes": 0,
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 96
}
},
{
"name": "480p",
"width": 854,
"height": 480,
"fps": 25,
"gop": 50,
"bitrate_kbps": 700,
"max_bitrate_kbps": 900,
"buf_size_kbps": 1800,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "3.1",
"rate_control": "cbr",
"crf": 25,
"bframes": 0,
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 64
}
}
]
},
"packaging": {
"hls": {
"segment_format": "mpegts",
"playlist_size": 6,
"preserved_segments": 6,
"low_latency": false
},
"dash": {
"segment_format": "fmp4",
"window_s": 60,
"min_buffer_s": 4
}
}
}
'{
"success": true,
"message": "Created Successfully",
"data": {
"id": "0000cf2e-ae90-46bc-b119-f5f626258434",
"organization_id": "7f8c3a2e-1d4b-4e5a-9c6d-2b8e1f3a4d5c",
"name": "Live TV Channel",
"type": "linear",
"mode": "video",
"status": "idle",
"region": "sg-edge-04",
"stream_key": "9f4c8a1e-2b6d-4e3f-8a7c-1d5b9e6f3a2c",
"ingest": {
"kind": "push",
"protocols": [
"rtmp",
"srt"
],
"rtmp": "rtmp://ingest.sg.vidinfra.com:1935/live",
"srt": "srt://ingest.sg.vidinfra.com:9710?streamid=#!::r=live/9f4c8a1e-2b6d-4e3f-8a7c-1d5b9e6f3a2c,m=publish"
},
"output_protocols": [
"hls",
"dash"
],
"ladder": {
"video": [
{
"name": "1080p",
"width": 1920,
"height": 1080,
"fps": 25,
"gop": 50,
"bitrate_kbps": 3000,
"max_bitrate_kbps": 3500,
"buf_size_kbps": 6000,
"crf": 21,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 128
}
},
{
"name": "720p",
"width": 1280,
"height": 720,
"fps": 25,
"gop": 50,
"bitrate_kbps": 1500,
"max_bitrate_kbps": 2000,
"buf_size_kbps": 4000,
"crf": 23,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 96
}
}
]
},
"packaging": {
"hls": {
"segment_format": "mpegts",
"playlist_size": 6,
"preserved_segments": 6,
"low_latency": false
},
"dash": {
"segment_format": "fmp4",
"window_s": 60,
"min_buffer_s": 4
}
},
"playback": {
"hls": "https://cdn.vidinfra.com/0000cf2e-ae90-46bc-b119-f5f626258434/master.m3u8",
"dash": "https://cdn.vidinfra.com/0000cf2e-ae90-46bc-b119-f5f626258434/manifest.mpd"
},
"meta": {},
"created_at": "2026-04-26T10:15:30Z",
"updated_at": "2026-04-26T10:15:30Z"
}
}Streams
Create stream
POST
/
streams
curl --request POST \
--url https://api.tenbyte.io/v1/livestream/streams \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Live TV Channel",
"type": "linear",
"mode": "video",
"region": "sg-edge-04",
"ingest": {
"kind": "push",
"protocols": [
"rtmp",
"srt"
]
},
"output_protocols": [
"hls",
"dash"
],
"ladder": {
"video": [
{
"name": "1080p",
"width": 1920,
"height": 1080,
"fps": 25,
"gop": 50,
"bitrate_kbps": 3000,
"max_bitrate_kbps": 3500,
"buf_size_kbps": 6000,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"crf": 21,
"bframes": 0,
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 128
}
},
{
"name": "720p",
"width": 1280,
"height": 720,
"fps": 25,
"gop": 50,
"bitrate_kbps": 1500,
"max_bitrate_kbps": 2000,
"buf_size_kbps": 4000,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"crf": 23,
"bframes": 0,
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 96
}
},
{
"name": "480p",
"width": 854,
"height": 480,
"fps": 25,
"gop": 50,
"bitrate_kbps": 700,
"max_bitrate_kbps": 900,
"buf_size_kbps": 1800,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "3.1",
"rate_control": "cbr",
"crf": 25,
"bframes": 0,
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 64
}
}
]
},
"packaging": {
"hls": {
"segment_format": "mpegts",
"playlist_size": 6,
"preserved_segments": 6,
"low_latency": false
},
"dash": {
"segment_format": "fmp4",
"window_s": 60,
"min_buffer_s": 4
}
}
}
'{
"success": true,
"message": "Created Successfully",
"data": {
"id": "0000cf2e-ae90-46bc-b119-f5f626258434",
"organization_id": "7f8c3a2e-1d4b-4e5a-9c6d-2b8e1f3a4d5c",
"name": "Live TV Channel",
"type": "linear",
"mode": "video",
"status": "idle",
"region": "sg-edge-04",
"stream_key": "9f4c8a1e-2b6d-4e3f-8a7c-1d5b9e6f3a2c",
"ingest": {
"kind": "push",
"protocols": [
"rtmp",
"srt"
],
"rtmp": "rtmp://ingest.sg.vidinfra.com:1935/live",
"srt": "srt://ingest.sg.vidinfra.com:9710?streamid=#!::r=live/9f4c8a1e-2b6d-4e3f-8a7c-1d5b9e6f3a2c,m=publish"
},
"output_protocols": [
"hls",
"dash"
],
"ladder": {
"video": [
{
"name": "1080p",
"width": 1920,
"height": 1080,
"fps": 25,
"gop": 50,
"bitrate_kbps": 3000,
"max_bitrate_kbps": 3500,
"buf_size_kbps": 6000,
"crf": 21,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 128
}
},
{
"name": "720p",
"width": 1280,
"height": 720,
"fps": 25,
"gop": 50,
"bitrate_kbps": 1500,
"max_bitrate_kbps": 2000,
"buf_size_kbps": 4000,
"crf": 23,
"codec": "h264",
"preset": "veryfast",
"profile": "main",
"level": "4.0",
"rate_control": "cbr",
"ref_frames": 1,
"rc_lookahead": 10,
"audio": {
"codec": "aac",
"channels": 2,
"sample_rate_hz": 48000,
"audio_bitrate_kbps": 96
}
}
]
},
"packaging": {
"hls": {
"segment_format": "mpegts",
"playlist_size": 6,
"preserved_segments": 6,
"low_latency": false
},
"dash": {
"segment_format": "fmp4",
"window_s": 60,
"min_buffer_s": 4
}
},
"playback": {
"hls": "https://cdn.vidinfra.com/0000cf2e-ae90-46bc-b119-f5f626258434/master.m3u8",
"dash": "https://cdn.vidinfra.com/0000cf2e-ae90-46bc-b119-f5f626258434/manifest.mpd"
},
"meta": {},
"created_at": "2026-04-26T10:15:30Z",
"updated_at": "2026-04-26T10:15:30Z"
}
}Authorizations
BearerAuthapikey-header-X-API-Key
RSA-signed JWT token
Body
application/json
Required string length:
1 - 255linear (24/7) or event (up to 6h)
Available options:
linear, event Available options:
video, audio Region code, e.g. sg-edge-04, bd-edge-01.
Show child attributes
Show child attributes
dash not allowed when mode=audio.
Required array length:
1 - 2 elementsAvailable options:
hls, dash Provide video[] for mode=video (max 6 renditions) or audio[] for
mode=audio (max 3 renditions). Mixing is rejected.
Show child attributes
Show child attributes
Per-protocol settings. hls required when output_protocols includes
hls. dash required when output_protocols includes dash. dash
is not allowed for mode=audio.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Custom key-value metadata
⌘I