Create embed asset upload URL
POST
https://octopus.livepush.io/streams/{stream_id}/embed/assets/upload_url
Base URL https://octopus.livepush.io — Core Streams & Media APIs
Returns a signed URL for uploading an embed asset — a cover image, brand icon or caption image. Upload the bytes to the returned URL, then attach the asset with the matching setting endpoint.
Requires a token with write access to the stream (CanWriteStreams).
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…
POST
https://octopus.livepush.io/streams/{stream_id}/embed/assets/upload_url
— This call changes live data on your account.
Parameters
Path parameters
-
stream_idstring requiredUnique identifier of the stream.example: st_xxxxxxxxxxxxx
Request body
-
assetTypestring requiredWhich embed slot the asset is destined for.cover_imgbrand_iconcaption_img -
typestring requiredMIME type of the file. -
sizeinteger requiredFile size in bytes. -
originalFilenamestring required
{
"assetType": "cover_img",
"type": "image/jpeg",
"size": 184320,
"originalFilename": "cover.jpg"
}
Code samples
curl -X POST 'https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/embed/assets/upload_url' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"assetType": "cover_img",
"type": "image/jpeg",
"size": 184320,
"originalFilename": "cover.jpg"
}'
const response = await fetch('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/embed/assets/upload_url', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"assetType": "cover_img",
"type": "image/jpeg",
"size": 184320,
"originalFilename": "cover.jpg"
}),
});
if (!response.ok) {
throw new Error(`Livepush API error ${response.status}`);
}
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
}
payload = {
"assetType": "cover_img",
"type": "image/jpeg",
"size": 184320,
"originalFilename": "cover.jpg"
}
response = requests.post('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/embed/assets/upload_url', headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()
Responses
Setting applied.
-
successboolean
{
"success": true
}
No response body.
No response body.