luma cli pipeline

Production pipeline.
One command
at a time.

luma handles card ingest, verifies your files, transcodes to your desired format for dailies, while delivering to multiple locations — all in a single workflow.

luma — setup wizard
2
4
5
3
6
7
2
× locations
Ingest to multiple locations at once
Hash check
Bit-verifies all files and transfers
Ingest reports
Auto-generated PDF, ready to send out
0 faffing
Set up once, run forever

Four commands.
Full production day.

luma covers every stage from card to delivery, with per-production settings saved automatically so you never repeat yourself.

01 / 04
luma create

Production Setup

Wizard-driven: name, schedule, transcode profiles, LUT, visual transforms. Builds the full directory structure for every shooting day.

02 / 04
luma ingest

Card Ingest

Multi-destination sync to RAID and NAS simultaneously. Auto-organises card subdirectories, MD5-verifies every file, writes a report.

03 / 04
luma transcode

Transcode

FFmpeg pipelines built from your production config. LUT application, SMPTE UMIDs, letterboxing, OP-Atom splitting — all automatic.

04 / 04
luma reports

Delivery Reports

PDF + JSON with timecodes, FPS, aspect ratio, audio tracks, MD5 results, and a 3-point thumbnail grid per clip.

Built for the realities
of a working set.

Every feature traces back to an actual DIT problem.

Multi-destination ingest

Write to primary RAID and backup NAS in one pass. Card-specific subdirs like CARD_A_001/ prevent filename collisions across magazines.

#

MD5 verification

Every transferred file is checksummed post-copy. Mismatches surface immediately in the terminal and are logged in the ingest report's failure section.

FFmpeg planning engine

Builds complex command chains with multi-essence tracking, OP-Atom splitting, 3D LUT injection, letterbox and zoom transforms.

SMPTE UMID metadata

Deterministic UMIDs injected into every output — plus tool versioning and project name. Your media library stays properly identified long-term.

Visual ingest reports

PDF for the producer, JSON for the pipeline. Start/mid/end thumbnails, exact audio track names (Boom, Lav), timecodes, and MD5 status per file.

Production lifecycle

luma status, luma storage, archive, and purge keep your workspace clean from first shoot day to wrap.

See it run.

Click a command below to see a visualisation of luma, and how the pipeline and different commands work.

luma-cli
create
ingest
transcode
status

luma create

Interactive wizard to set up a new production — name, schedule, dailies and proxy profiles, LUT, and visual transforms. Builds your entire directory structure in one go.

Installation

To use luma you need to have Python 3, pip, ffmpeg (with ffprobe)
Configuration is managed through luma config and luma profiles — no manual file editing needed.

Python (3.10+) FFmpeg · FFprobe
1git clone git@github.com:techmikkel/luma-cli.git
2pip install -e . # Installs 'luma' and dependencies
3luma config # Run configuration wizard