- Documentation
- API Reference
- Livepeer Dev Kit
- Catalyst
- What's New
- Community
Asset
Livestream
Multistream target
Session
Access control
Webhook
Task
Playback
Transcode
Viewership
APIs
Update an asset
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
ID of the asset
The name of the asset. This is not necessarily the filename - it can be a custom name or title.
Whether the playback policy for a asset or stream is public or signed
ID of the webhook to use for playback policy
User-defined webhook context
Interval (in seconds) at which the playback policy should be refreshed (default 600 seconds)
Set to true to make default export to IPFS. To customize the pinned files, specify an object with a spec field. False or null means to unpin from IPFS, but it's unsupported right now.
curl --request PATCH \
--url https://livepeer.studio/api/asset/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"name": "an updated name",
"storage": {
"ipfs": true
}
}'
{
"id": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
"type": "video",
"playbackId": "eaw4nk06ts2d0mzb",
"userId": "66E2161C-7670-4D05-B71D-DA2D6979556F",
"playbackUrl": "https://livepeercdn.com/asset/ea03f37e-f861-4cdd-b495-0e60b6d753ad/index.m3u8",
"downloadUrl": "https://livepeercdn.com/asset/eaw4nk06ts2d0mzb/video",
"playbackPolicy": {
"type": "webhook",
"webhookId": "1bde4o2i6xycudoy",
"webhookContext": {
"streamerId": "my-custom-id"
},
"refreshInterval": 600
},
"source": {
"type": "url",
"url": "<string>",
"gatewayUrl": "<string>",
"encryption": {}
},
"creatorId": {
"type": "unverified",
"value": "user123"
},
"storage": {
"ipfs": {
"spec": {
"nftMetadataTemplate": "file",
"nftMetadata": {}
},
"nftMetadata": {
"cid": "<string>",
"url": "<string>",
"gatewayUrl": "<string>"
},
"updatedAt": 1587667174725,
"cid": "<string>",
"url": "<string>",
"gatewayUrl": "<string>"
},
"status": {
"phase": "ready",
"progress": 0.5,
"errorMessage": "Failed to update storage",
"tasks": {
"pending": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
"last": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
"failed": "09F8B46C-61A0-4254-9875-F71F4C605BC7"
}
}
},
"status": {
"phase": "uploading",
"updatedAt": 1587667174725,
"progress": 123,
"errorMessage": "<string>"
},
"name": "filename.mp4",
"projectId": "aac12556-4d65-4d34-9fb6-d1f0985eb0a9",
"createdAt": 1587667174725,
"createdByTokenName": "<string>",
"size": 84934509,
"hash": [
{
"hash": "9b560b28b85378a5004117539196ab24e21bbd75b0e9eb1a8bc7c5fd80dc5b57",
"algorithm": "sha256"
}
],
"videoSpec": {
"format": "mp4",
"duration": 23.8328,
"bitrate": 1000000,
"tracks": [
{
"type": "video",
"codec": "aac",
"startTime": 23.8238,
"duration": 23.8238,
"bitrate": 1000000,
"width": 1920,
"height": 1080,
"pixelFormat": "yuv420p",
"fps": 30,
"channels": 2,
"sampleRate": 44100,
"bitDepth": 16
}
]
}
}
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Path Parameters
ID of the asset
Body
The name of the asset. This is not necessarily the filename - it can be a custom name or title.
unverified
Whether the playback policy for a asset or stream is public or signed
public
, jwt
, webhook
ID of the webhook to use for playback policy
User-defined webhook context
Interval (in seconds) at which the playback policy should be refreshed (default 600 seconds)
Set to true to make default export to IPFS. To customize the pinned files, specify an object with a spec field. False or null means to unpin from IPFS, but it's unsupported right now.
Name of the NFT metadata template to export. 'player' will embed the Livepeer Player on the NFT while 'file' will reference only the immutable MP4 files.
file
, player
Additional data to add to the NFT metadata exported to IPFS. Will be deep merged with the default metadata exported.
Response
Type of the asset.
video
, audio
The playback ID to use with the Playback Info endpoint to retrieve playback URLs.
URL for HLS playback. It is recommended to not use this URL, and instead use playback IDs with the Playback Info endpoint to retrieve the playback URLs - this URL format is subject to change (e.g. https://livepeercdn.com/asset/ea03f37e-f861-4cdd-b495-0e60b6d753ad/index.m3u8).
The URL to directly download the asset, e.g. https://livepeercdn.com/asset/eawrrk06ts2d0mzb/video
. It is not recommended to use this for playback.
Whether the playback policy for a asset or stream is public or signed
public
, jwt
, webhook
ID of the webhook to use for playback policy
User-defined webhook context
Interval (in seconds) at which the playback policy should be refreshed (default 600 seconds)
url
URL from which the asset was uploaded.
Gateway URL from asset if parsed from provided URL on upload.
unverified
Developer-managed ID of the user who created the resource.
Name of the NFT metadata template to export. 'player' will embed the Livepeer Player on the NFT while 'file' will reference only the immutable MP4 files.
file
, player
Additional data to add to the NFT metadata exported to IPFS. Will be deep merged with the default metadata exported.
CID of the file on IPFS
URL with IPFS scheme for the file
URL to access file via HTTP through an IPFS gateway
Timestamp (in milliseconds) at which IPFS export task was updated
CID of the file on IPFS
URL with IPFS scheme for the file
URL to access file via HTTP through an IPFS gateway
Phase of the asset storage
waiting
, processing
, ready
, failed
, reverted
Current progress of the task updating the storage.
Error message if the last storage changed failed.
ID of any currently running task that is exporting this asset to IPFS.
ID of the last task to run successfully, that created the currently saved data.
ID of the last task to fail execution.
Status of the asset
Phase of the asset
uploading
, waiting
, processing
, ready
, failed
, deleting
, deleted
Timestamp (in milliseconds) at which the asset was last updated
Current progress of the task creating this asset.
Error message if the asset creation failed.
The name of the asset. This is not necessarily the filename - it can be a custom name or title.
The ID of the project
Timestamp (in milliseconds) at which asset was created
Name of the token used to create this object
Size of the asset in bytes
Hash of the asset
Hash of the asset
Hash algorithm used to compute the hash
Video metadata
Format of the asset
Duration of the asset in seconds (float)
Bitrate of the video in bits per second
List of tracks associated with the asset when the format contemplates them (e.g. mp4)
type of track
video
, audio
Codec of the track
Start time of the track in seconds
Duration of the track in seconds
Bitrate of the track in bits per second
Width of the track - only for video tracks
Height of the track - only for video tracks
Pixel format of the track - only for video tracks
Frame rate of the track - only for video tracks
Amount of audio channels in the track
Sample rate of the track in samples per second - only for audio tracks
Bit depth of the track - only for audio tracks
Was this page helpful?
curl --request PATCH \
--url https://livepeer.studio/api/asset/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"name": "an updated name",
"storage": {
"ipfs": true
}
}'
{
"id": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
"type": "video",
"playbackId": "eaw4nk06ts2d0mzb",
"userId": "66E2161C-7670-4D05-B71D-DA2D6979556F",
"playbackUrl": "https://livepeercdn.com/asset/ea03f37e-f861-4cdd-b495-0e60b6d753ad/index.m3u8",
"downloadUrl": "https://livepeercdn.com/asset/eaw4nk06ts2d0mzb/video",
"playbackPolicy": {
"type": "webhook",
"webhookId": "1bde4o2i6xycudoy",
"webhookContext": {
"streamerId": "my-custom-id"
},
"refreshInterval": 600
},
"source": {
"type": "url",
"url": "<string>",
"gatewayUrl": "<string>",
"encryption": {}
},
"creatorId": {
"type": "unverified",
"value": "user123"
},
"storage": {
"ipfs": {
"spec": {
"nftMetadataTemplate": "file",
"nftMetadata": {}
},
"nftMetadata": {
"cid": "<string>",
"url": "<string>",
"gatewayUrl": "<string>"
},
"updatedAt": 1587667174725,
"cid": "<string>",
"url": "<string>",
"gatewayUrl": "<string>"
},
"status": {
"phase": "ready",
"progress": 0.5,
"errorMessage": "Failed to update storage",
"tasks": {
"pending": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
"last": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
"failed": "09F8B46C-61A0-4254-9875-F71F4C605BC7"
}
}
},
"status": {
"phase": "uploading",
"updatedAt": 1587667174725,
"progress": 123,
"errorMessage": "<string>"
},
"name": "filename.mp4",
"projectId": "aac12556-4d65-4d34-9fb6-d1f0985eb0a9",
"createdAt": 1587667174725,
"createdByTokenName": "<string>",
"size": 84934509,
"hash": [
{
"hash": "9b560b28b85378a5004117539196ab24e21bbd75b0e9eb1a8bc7c5fd80dc5b57",
"algorithm": "sha256"
}
],
"videoSpec": {
"format": "mp4",
"duration": 23.8328,
"bitrate": 1000000,
"tracks": [
{
"type": "video",
"codec": "aac",
"startTime": 23.8238,
"duration": 23.8238,
"bitrate": 1000000,
"width": 1920,
"height": 1080,
"pixelFormat": "yuv420p",
"fps": 30,
"channels": 2,
"sampleRate": 44100,
"bitDepth": 16
}
]
}
}