Uploads
The Streamdiver API is designed to facilite the efficient upload of large media files.
Our asset storage is S3-compatible, so Uploads
can be performed directly with S3 client libraries or supported tools, ensuring reliable and performant file transfers.
As a simpler alternative, you can upload files directly using an HTTP PUT
request. However, for more reliable uploads—especially when dealing with large files (multiple gigabytes) or in environments with slow or unstable networks—we strongly recommend using an S3 client. The S3 client supports multipart uploads, automatic retries, and resumable uploads, making it a more robust solution for handling potential network interruptions or large file transfers.
The Upload
process is split into three steps, first create an upload, perform the upload using the selected procedure (multipart using an S3 client, or single PUT
request), then complete the upload, which triggers further processing for optimized playout and metadata extraction (e.g. automatic transcription).
📄️ List uploads
Returns a list of all uploads within the current authorization scope.
📄️ Create upload
Creates an `Upload` of a new [Media](#tag/Media) asset and returns all information to perform the upload of the source file via the chosen input `type`.
📄️ Get upload
Retrieves a specific `Upload` by its identifier.
📄️ Delete upload
Deletes a specific `Upload` by its identifier. An `Upload` can be deleted once it is completed; the related files will then be deleted from storage.
📄️ Cancel upload
Marks an upload as cancelled, and the related files will be deleted from storage. The rendition and metadata extraction processes are not scheduled.
📄️ Complete upload
Marks an upload as completed. A new `Media` asset is created, and the transcoding and metadata extraction processes are scheduled. If no `channelId` is provided, the `Media` asset is assigned to the default `Channel`. If duplicate check is enabled and a duplicate file (based on the file hash) was uploaded, it will return a 409 Conflict.
📄️ List file imports
Lists all `Media` asset import tasks within the current authorization scope.
📄️ Create file import
Creates a background job to import `Media` assets.
📄️ Get file import
Retrieves a specific import task by its identifier.
📄️ Cancel file import
Cancels a specific import task by its identifier.