Kdenlive

February 4, 2026 · View on GitHub

Kdenlive — D-Bus Scripting & Expressions Fork

Fork of KDE/kdenlive that adds a D-Bus scripting API and a JavaScript expression engine for programmatic control of Kdenlive from Python, CLI, or any D-Bus client.

What this fork adds

D-Bus Scripting API

108 new Q_SCRIPTABLE methods exposed via D-Bus (org.kde.kdenlive.MainWindow), covering:

CategoryExamples
ProjectOpen, save, new, properties, fps, resolution
Media poolImport, folders, clip properties, delete, relink
TimelineInsert, move, resize, cut, slip, delete clips; track management
EffectsAdd/remove effects, get/set/update keyframes
CompositionsAdd, move, resize, delete, list cross-track compositions
AudioVolume get/set, audio fades, audio level analysis
SubtitlesAdd, edit, delete, export; subtitle styles
Markers/guidesAdd, list, delete by frame or category (timeline and clip markers)
GroupsGroup/ungroup clips, query group membership
SelectionGet/set selection, select all, select by track
SequencesList sequences, get/set active sequence
ZonesGet/set zone in/out points, extract zone
TitlesCreate/read/update title clips (kdenlivetitle XML)
ProxySet, rebuild, delete, query clip proxy status
PlaybackSeek, play, pause, get position
RenderingRender timeline/bin frames as thumbnails, scene detection
UndoUndo, redo, query undo stack status

JavaScript Expression Engine

An embedded QuickJS-based expression engine that allows keyframe parameters to be driven by JavaScript expressions (e.g. sin(time * 2), audio-reactive effects). Includes:

  • Expression editor dialog with syntax highlighting
  • Built-in function library (math, time, audio, easing)
  • Expression template system with a repository of presets
  • Expression cache for performance

libplacebo Effects

Two new GPU-accelerated effects via libplacebo: shader and render.

Python API

Use with kdenlive-api — a DaVinci Resolve-compatible Python wrapper:

from kdenlive_api import Resolve

resolve = Resolve()
project = resolve.GetProjectManager().GetCurrentProject()
timeline = project.GetCurrentTimeline()

Building

Follow the standard Kdenlive build instructions. This fork tracks upstream master. Additional build requirements:

  • D-Bus: -DUSE_DBUS=ON (enabled by default on Linux, must be explicit on Windows via Craft)
  • QuickJS: Bundled in src/expressions/quickjs/ (no external dependency)

Upstream

For general Kdenlive information, features, and downloads visit kdenlive.org. Upstream source: KDE Invent / GitHub mirror.