Livepeer · Schema
Livepeer Asset
An on-demand video asset stored in Livepeer Studio. Captures source upload, transcoded video specifications, playback identity, and IPFS storage state.
VideoLive StreamingVideo On DemandAI VideoDecentralized ComputeGPU NetworkEthereumArbitrumWeb3
Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| type | string | Asset content type. |
| playbackId | string | |
| userId | string | |
| playbackUrl | string | |
| downloadUrl | string | |
| playbackPolicy | object | |
| source | object | |
| creatorId | object | |
| storage | object | |
| status | object | |
| name | string | |
| projectId | string | |
| createdAt | number | |
| createdByTokenName | string | |
| size | number | |
| hash | array | |
| videoSpec | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/livepeer-com/json-schema/livepeer-asset-schema.json",
"title": "Livepeer Asset",
"description": "An on-demand video asset stored in Livepeer Studio. Captures source upload, transcoded video specifications, playback identity, and IPFS storage state.",
"type": "object",
"required": ["id", "name"],
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["video", "audio"],
"description": "Asset content type."
},
"playbackId": { "type": "string" },
"userId": { "type": "string" },
"playbackUrl": { "type": "string", "format": "uri" },
"downloadUrl": { "type": "string", "format": "uri" },
"playbackPolicy": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["public", "jwt", "webhook", "lit_signing_condition"]
},
"webhookId": { "type": "string" },
"webhookContext": { "type": "object" },
"refreshInterval": { "type": "number" },
"allowedOrigins": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["type"]
},
"source": {
"oneOf": [
{
"type": "object",
"required": ["type"],
"properties": {
"type": { "const": "url" },
"url": { "type": "string", "format": "uri" },
"encryption": {
"type": "object",
"properties": {
"encryptedKey": { "type": "string" }
}
},
"gatewayUrl": { "type": "string", "format": "uri" }
}
},
{
"type": "object",
"required": ["type"],
"properties": {
"type": { "const": "recording" },
"sessionId": { "type": "string" }
}
},
{
"type": "object",
"required": ["type"],
"properties": {
"type": { "const": "directUpload" }
}
},
{
"type": "object",
"required": ["type", "sourceId"],
"properties": {
"type": { "const": "clip" },
"sessionId": { "type": "string" },
"playbackId": { "type": "string" },
"sourceId": { "type": "string" }
}
}
]
},
"creatorId": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["unverified", "verified"] },
"value": { "type": "string" }
}
},
"storage": {
"type": "object",
"properties": {
"ipfs": {
"type": "object",
"properties": {
"spec": {
"type": "object",
"properties": {
"nftMetadataTemplate": {
"type": "string",
"enum": ["file", "player"]
},
"nftMetadata": { "type": "object" }
}
},
"nftMetadata": {
"type": "object",
"properties": {
"cid": { "type": "string" },
"url": { "type": "string", "format": "uri" },
"gatewayUrl": { "type": "string", "format": "uri" }
}
},
"cid": { "type": "string" },
"url": { "type": "string", "format": "uri" },
"gatewayUrl": { "type": "string", "format": "uri" },
"updatedAt": { "type": "number" }
}
},
"status": {
"type": "object",
"properties": {
"phase": {
"type": "string",
"enum": ["waiting", "processing", "ready", "failed", "reverted"]
},
"progress": { "type": "number" },
"errorMessage": { "type": "string" },
"tasks": {
"type": "object",
"properties": {
"pending": { "type": "string" },
"last": { "type": "string" },
"failed": { "type": "string" }
}
}
},
"required": ["phase"]
}
}
},
"status": {
"type": "object",
"properties": {
"phase": {
"type": "string",
"enum": ["waiting", "processing", "ready", "failed", "deleting", "deleted"]
},
"updatedAt": { "type": "number" },
"progress": { "type": "number" },
"errorMessage": { "type": "string" }
},
"required": ["phase", "updatedAt"]
},
"name": { "type": "string" },
"projectId": { "type": "string" },
"createdAt": { "type": "number" },
"createdByTokenName": { "type": "string" },
"size": { "type": "number" },
"hash": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hash": { "type": "string" },
"algorithm": { "type": "string" }
}
}
},
"videoSpec": {
"type": "object",
"properties": {
"format": { "type": "string" },
"duration": { "type": "number" },
"bitrate": { "type": "number" },
"tracks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["video", "audio"] },
"codec": { "type": "string" },
"startTime": { "type": "number" },
"duration": { "type": "number" },
"bitrate": { "type": "number" },
"width": { "type": "integer" },
"height": { "type": "integer" },
"pixelFormat": { "type": "string" },
"fps": { "type": "number" },
"channels": { "type": "integer" },
"sampleRate": { "type": "integer" },
"bitDepth": { "type": "integer" }
}
}
}
}
}
}
}