---
title: Overview
url: https://docs.kaltura.com/docs/rich-media-cms-apis/content-management/video-editing-overview
---

## Video Editing Overview

This guide covers all non-destructive video composition operations: trimming, clipping, multi-clip concatenation, overlays (picture-in-picture), background replacement (chroma key), caption burn-in, fade effects, dimension control, audio mixing, and waveform visualization. All operations use `media.updateContent` (trim in place) or `media.addContent` (create new entry) with operation resource types.

**Base URL:** `$KALTURA_SERVICE_URL` (default: `https://www.kaltura.com/api_v3`)  
**Auth:** All requests require a valid KS (see [Session Guide](/docs/getting-started/authentication/ks-overview))  
**Format:** Form-encoded POST, `format=1` for JSON responses

### When to Use


| Scenario | What to Use |
|----------|-------------|
| **Trim a video in place** — shorten without changing the entry ID | `media.updateContent` + `KalturaOperationResource` with `KalturaClipAttributes` |
| **Create a clip** — extract a segment to a new entry | `baseEntry.clone` (exclude flavors) + `media.updateContent` on the clone |
| **Concatenate segments** — splice clips from multiple sources | `media.addContent` + `KalturaOperationResources` (plural) |
| **Picture-in-picture** — overlay one video on another | `KalturaOverlayAttributes` in `mediaCompositionAttributesArray` |
| **Green screen removal** — replace background via chroma key | `KalturaReplaceBackgroundAttributes` |
| **Avatar on B-roll** — nested overlay + background replacement | `KalturaOverlayAttributes` with `resourceMediaCompositionAttributesArray` containing `KalturaReplaceBackgroundAttributes` |
| **Burn captions into video** — permanent subtitle render | `KalturaRenderCaptionAttributes` in `captionAttributes` |
| **Fade transitions** — fade in/out between segments | `KalturaEffect` in `effectArray` |
| **Resize / crop** — change aspect ratio or resolution | `KalturaDimensionsAttributes` subtypes |
| **Audio mixing** — blend overlay audio with main video | `audioAttributes` on overlay/background resources |
| **Waveform preview** — get audio amplitude data | `media.getVolumeMap` / `flavorAsset.getVolumeMap` |




### Prerequisites


- **Kaltura Session (KS):** ADMIN KS (type=2) with `disableentitlement` privilege. See [Session Guide](/docs/getting-started/authentication/ks-overview).  
- **FEATURE_ENTRY_REPLACEMENT:** Required for trim operations (`media.updateContent`). Accounts without this feature receive `FEATURE_FORBIDDEN` (one-time setup by your Kaltura account team).  
- **Source entries in READY status (2):** All editing operations require the source entry to be fully transcoded.  
- **Caption asset ID:** For caption burn-in, you need an existing `captionAsset` ID (see [Captions & Transcripts](/docs/rich-media-cms-apis/content-management/captions-overview)).
