Upload Lifecycle Overview - Content Management
Upload Lifecycle Overview
Every file upload follows this pattern:
uploadToken.add --> uploadToken.upload (one or more chunks) --> entry.add --> entry.addContent
- Create an upload token -- a server-side container that will hold the file
- Upload file data -- send the file bytes (single shot or chunked) to the token
- Create an entry -- the logical object (metadata, name, type)
- Attach content -- link the upload token to the entry, triggering transcoding
Alternative paths:
| Method | Use Case | Requires Local File? |
|---|---|---|
uploadToken + media.addContent | Full control, chunked/resumable upload | Yes |
media.addContent with KalturaUrlResource | Import from a remote URL (Kaltura fetches the file) | No |
media.addContent with KalturaEntryResource | Copy content from an existing entry's source flavor | No |
media.addContent with KalturaAssetResource | Create entry from a specific transcoded rendition | No |
media.addContent with KalturaOperationResource | Clip/trim/effects from an existing entry | No |
media.addContent with KalturaOperationResources | Concatenate segments from multiple entries | No |
media.addContent with KalturaAssetsParamsResourceContainers | Multi-flavor ingest (pre-transcoded files) | No (URLs) or Yes (tokens) |
media.addContent with KalturaSshUrlResource | Import from SFTP server with SSH keys | No |
media.addContent with KalturaRemoteStorageResource | Register on external storage without copy | No |
media.bulkUploadAdd | Batch ingest via CSV or XML | No (URLs in CSV) |
baseEntry.clone | Deep-clone entry with all assets and metadata | No |