Skip to main content

Live video assets and uploads

Console client configuration · Response and shared models

Request an upload URL, upload bytes with uploadFile, then create the asset using its objectKey. Video uploads default to video/mp4. The list response uses the videos array.

For a file-based live class, pass the asset’s liveVideoId and liveSourceKind=file when creating the classroom. classrooms.setLiveSource uses the field kind. Push mode obtains the push URL and expiry through classrooms.issueLivePushCredential.

Application backends use application business APIs with app credentials. This page describes the separate tenant management calls.

liveVideos.list​

List live video assets.

GET /v1/live-videos

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.liveVideos.list(appId, input)
Pythonc.live_videos.list(app_id, **input)
Javac.liveVideos.list(appId, input)
Goc.LiveVideos.List(ctx, appID, input, &result)
PHP$c->liveVideos->list($appId, $input)

Input: PaginationInput. Fields are sent as URL query parameters.

FieldRequiredTypeDescription
pageNonumber | undefinedPage number starting at 1
pageSizeNonumber | undefinedMaximum items per page

Returns: ListLiveVideosResult. See shared models for nested fields.

liveVideos.createUploadUrl​

Create live video upload URL.

POST /v1/live-videos/upload-url

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.liveVideos.createUploadUrl(appId, input)
Pythonc.live_videos.create_upload_url(app_id, **input)
Javac.liveVideos.createUploadUrl(appId, input)
Goc.LiveVideos.CreateUploadUrl(ctx, appID, input, &result)
PHP$c->liveVideos->createUploadUrl($appId, $input)

Input: LiveVideoUploadInput. Fields are sent in the JSON body.

FieldRequiredTypeDescription
fileNameYesstringFile name including extension
contentTypeNostring | undefinedFile MIME type

Returns: LiveVideoUploadResult. See shared models for nested fields.

liveVideos.create​

Create live video asset.

POST /v1/live-videos

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.liveVideos.create(appId, input)
Pythonc.live_videos.create(app_id, **input)
Javac.liveVideos.create(appId, input)
Goc.LiveVideos.Create(ctx, appID, input, &result)
PHP$c->liveVideos->create($appId, $input)

Input: CreateLiveVideoInput. Fields are sent in the JSON body.

FieldRequiredTypeDescription
titleYesstringVideo asset title
objectKeyYesstringObject key from the upload response
contentHashNostring | undefinedFile SHA-256 in lowercase hex; courseware requires 64 characters
sizeBytesNonumber | undefinedFile size in bytes

Returns: LiveVideoRecord. See shared models for nested fields.

liveVideos.remove​

Delete live video asset.

DELETE /v1/live-videos/remove

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.liveVideos.remove(appId, input)
Pythonc.live_videos.remove(app_id, **input)
Javac.liveVideos.remove(appId, input)
Goc.LiveVideos.Remove(ctx, appID, input, &result)
PHP$c->liveVideos->remove($appId, $input)

Input: LiveVideoIdInput. Fields are sent as URL query parameters.

FieldRequiredTypeDescription
liveVideoIdYesstringLive video asset ID

Returns: DeleteResult. See shared models for nested fields.