Get video by ID
GET
https://octopus.livepush.io/streams/{stream_id}/videos/{video_id}
Base URL https://octopus.livepush.io — Core Streams & Media APIs
Returns one video. Snapshot URLs are rewritten from raw bucket hosts to the Livepush CDN before being returned.
Requires a token with the streams.videos.write scope.
Authorization
Send a valid access token in the Authorization header.
bearerAuth— Bearer token (JWT)
Authorization: Bearer YOUR_API_TOKEN
Try it
Loading the request builder…
GET
https://octopus.livepush.io/streams/{stream_id}/videos/{video_id}
— This call only reads data.
Parameters
Path parameters
-
stream_idstring requiredStream identifier. These handlers resolve the video byvideo_idscoped to the authenticated account and never read this value, which is why the dashboard passes the literalme. Any value routes correctly.example: st_xxxxxxxxxxxxx -
video_idstring requiredUnique identifier of the video.example: vd_xxxxxxxxxxxx
Code samples
curl -X GET 'https://octopus.livepush.io/streams/me/videos/vd_xxxxxxxxxxxx' \
-H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://octopus.livepush.io/streams/me/videos/vd_xxxxxxxxxxxx', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
},
});
if (!response.ok) {
throw new Error(`Livepush API error ${response.status}`);
}
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
}
response = requests.get('https://octopus.livepush.io/streams/me/videos/vd_xxxxxxxxxxxx', headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
Responses
Get video by ID.
-
idstring -
labelstring -
uploadNamestring -
sizenumber -
mediaInfoVideoItemMediaInfo-
hasAudioTrackboolean -
durationnumber -
widthinteger -
heightinteger -
fpsnumber -
codecsVideoItemMediaInfoCodec[]2 nested fields
-
typeVideoCodecTypevideoaudio -
codecstring
-
-
tracksobject[]
-
-
resourceGroupstringID of the video folder this video sits in, or absent when it is at the top level of the library. NamedresourceGroupfor compatibility — seeVideoFolder. -
zonestring -
descriptionstring -
createdAtstring<date-time> -
isDisabledboolean -
tagsstring[] -
mediaInfoEncodedVideoItemMediaInfo-
hasAudioTrackboolean -
durationnumber -
widthinteger -
heightinteger -
fpsnumber -
codecsVideoItemMediaInfoCodec[]2 nested fields
-
typeVideoCodecTypevideoaudio -
codecstring
-
-
tracksobject[]
-
{
"id": "vd_xxxxxxxxx",
"label": "string",
"uploadName": "string",
"size": 0,
"mediaInfo": {
"hasAudioTrack": false,
"duration": 0,
"width": 0,
"height": 0,
"fps": 0,
"codecs": [
{
"type": "video",
"codec": "string"
}
],
"tracks": [
{}
]
},
"resourceGroup": "grp_xxxxxxxxxxxx",
"zone": "string",
"description": "string",
"createdAt": "2026-01-31T09:00:00.000Z",
"isDisabled": false,
"tags": [
"string"
],
"mediaInfoEncoded": {
"hasAudioTrack": false,
"duration": 0,
"width": 0,
"height": 0,
"fps": 0,
"codecs": [
{
"type": "video",
"codec": "string"
}
],
"tracks": [
{}
]
}
}
No response body.
Not found for this account.