Overview - Content Management
Upload & Ingestion Overview
This guide covers the complete lifecycle of getting content into Kaltura: creating upload tokens, uploading files (including chunked/resumable transfers), creating media, document, and data entries, importing from URLs, copying entries, replacing content, and managing flavor assets and attachments.
Base URL: $KALTURA_SERVICE_URL (default: https://www.kaltura.com/api_v3)
Auth: All requests require a valid KS (see Session Guide)
Format: Form-encoded POST, format=1 for JSON responses
When to Use
| Scenario | What to Use |
|---|---|
| Media onboarding pipeline — Ingest video, audio, or images from local storage | uploadToken + media.add + media.addContent with KalturaUploadedFileTokenResource |
| CMS integration — Programmatic upload with progress tracking and resume | Chunked uploadToken.upload with resume=true |
| Bulk migration — Move thousands of files from an existing library | media.add + media.addContent with KalturaUrlResource, or CSV bulkUploadAdd |
| Content replacement — Swap a video's source file without changing its entry ID | media.updateContent |
| Entry cloning — Duplicate an entry with all metadata and assets | baseEntry.clone (full deep copy with granular options) |
| Clipping / trimming — Extract a time segment from an existing video | media.addContent with KalturaOperationResource + KalturaClipAttributes |
| Concatenation — Combine segments from multiple videos into one | media.addContent with KalturaOperationResources (plural) |
| Multi-bitrate ingest — Upload pre-transcoded renditions without re-encoding | media.addContent with KalturaAssetsParamsResourceContainers |
| SFTP import — Pull files from secure servers with SSH key auth | media.addContent with KalturaSshUrlResource |
| Remote storage — Register content on external CDN/S3 without copying | media.addContent with KalturaRemoteStorageResource |
| Document management — Upload PDFs, slides, or Word docs for web viewing | documents.addContent with KalturaDocumentEntry |
| Arbitrary file storage — Store JSON, CSV, ZIP, or config files | data.add with KalturaDataEntry (type=6) |
| Supplementary files — Attach transcripts, slide decks, or data files to a video | attachmentAsset.add + attachmentAsset.setContent |
| Automated post-upload processing — Trigger captions, translation, or AI enrichment | Upload, then use Agents Manager or REACH rules |
Prerequisites
- Kaltura Session (KS): ADMIN KS (type=2) for upload and entry management. See Session Guide.
- Partner ID and API credentials: Available from KMC > Settings > Integration Settings.
- Service URL: Set
$KALTURA_SERVICE_URLto your regional endpoint (default:https://www.kaltura.com/api_v3). - Permissions:
CONTENT_MANAGE_BASEpermission for creating entries and uploading content.