Limonade AI · On-Set Production Intelligence

AI production intelligence
for live cinema.

Chroma Pulp Live is a real-time AI production intelligence platform for virtual production, broadcast, and on-set workflows. Four integrated systems — keying, colour, VFX validation, and background generation — running in a single GPU pipeline on Blackmagic DeckLink SDI.

01
AI KEYING
Neural chroma key with spill suppression at broadcast resolution. Sub-3ms latency.
02
COLOUR MATCHING
Real-time scene-to-background colour integration. Camera-aware grading in the signal path.
03
VFX VALIDATION
On-set matte quality analysis, edge scoring, and compositing confidence metrics per frame.
04
AI BACKGROUND GENERATION
Generate, adapt, and serve background plates from a live prompt or scene descriptor — on-set, in real time.
<3ms
Keying Latency
4K
Max Resolution
12G-SDI
I/O Standard
60fps
Real-time
ONNX
GPU Runtime

Four systems. One pipeline.

Each intelligence module operates on the same GPU frame — no copy, no hand-off. The pipeline runs from SDI ingestion through AI inference, colour, and generation to SDI output in a single pass.

Neural AI Keying

ONNX Runtime GPU inference on every frame. Clean mattes on green, blue, and spill — no per-shot tuning required.

Colour Matching

Scene-adaptive colour integration between foreground and background. Camera colour science aware — reads DeckLink signal metadata to correct in-line.

VFX Validation

Per-frame matte analysis: edge quality score, spill residual, motion-blur confidence, and compositing readiness — output as metadata alongside the SDI signal.

AI Background Generation

Generate background plates from a live text prompt or scene descriptor. Frames are synthesised, colour-matched, and served into the composite in real time.

Blackmagic DeckLink SDI

Native 3G / 6G / 12G-SDI via DeckLink. 1080p, UHD, 4K DCI at up to 60fps. Zero-copy GPU-direct frame path.

On-set Preview

NDI confidence monitor output with burned-in slate, scene, take, and VFX validation score overlay. Director and VFX supervisor feeds simultaneously.

Signal architecture

GPU-direct from SDI ingestion through all four AI modules to SDI output. Frame data stays on VRAM — no PCIe round-trips between modules.

GPU DIRECT PIPELINE SDI Input DeckLink 12G GPU Buffer VRAM frame store AI Keying ONNX · Neural matte Colour Matching Scene-adaptive grade BG Generation AI plate synthesis VFX Validation Frame quality scoring Compositor Merge · Layers · Output Encode SDI/NDI SDI Output DeckLink 12G Node Backend IPC · Config Electron / React UI · Monitoring GPU direct / AI path Data / frame path IPC control

Appliance. Ready to key.

The Chroma Pulp Box ships with all four AI modules pre-installed, tuned, and certified. Connect SDI in, SDI out, power — operational within 90 seconds.

SDI I/O USB · ETH PWR CHROMA PULP BOX · 1U
Form factor1U Rackmount, 430 × 44 × 380mm
CPUIntel Core i9 / AMD Ryzen 9
GPUNVIDIA RTX 4000 Ada (16GB VRAM)
RAM64GB DDR5 ECC
Storage1TB NVMe SSD
SDI I/OBlackmagic DeckLink 8K Pro — 2× 12G-SDI in/out
Network2× 10GbE (NDI, remote control)
OSUbuntu 22.04 LTS (locked image)
SoftwareChroma Pulp Live (pre-installed, auto-update)
Power450W, 100–240V universal
12G-SDI RTX Ada NDI Ready 1U Rack 64GB ECC Auto-update

Software & documentation

All releases are signed and notarised. Chroma Pulp Box units update automatically — manual download required for standalone installs only.

Chroma Pulp Live
v1.2.0 · June 2026
Desktop installer. Requires Blackmagic Desktop Video and ONNX-capable NVIDIA or AMD GPU.
macOS 13+Windows 11
User Documentation
PDF · Rev 1.2 · 148 pages
Full manual covering installation, SDI config, AI keying, colour matching, VFX validation, background generation, and system integration.
PDF
Release Notes
All versions
Full changelog for every release — bug fixes, performance improvements, new features, and breaking changes.
MarkdownHTML

Release history

v1.2.0June 2026Latest
  • AI Background Generation — text-prompt plate synthesis, colour-matched and served into composite in real time
  • VFX Validation module — per-frame edge score, spill residual, and compositing confidence metadata
  • Neural keyer v2 — retrained on 4K data, edge quality improved ~40% on fine hair and motion blur
  • DeckLink 8K Pro support — native 12G-SDI quad-link
  • NDI output — confidence monitor with VFX score overlay
v1.1.0January 2026Stable
  • Colour Matching module — scene-adaptive foreground/background integration with camera colour science
  • Spill suppression — per-channel suppression with hue-angle control
  • IPC architecture refactored — UI event latency reduced 60%
  • ONNX Runtime 1.18 — CUDA 12.x support

Technical reference

Complete documentation for Chroma Pulp Live v1.2. Covers installation, SDI configuration, all four AI modules, and system integration.

Installation

Chroma Pulp Live requires Blackmagic Desktop Video (minimum 12.4) to be installed before the application. The installer checks for this dependency and halts with an error if not found.

Shell — macOS
open ChromaPulpLive-1.2.0.pkg
Shell — Windows (run as Administrator)
ChromaPulpLive-1.2.0-setup.exe --silent
Chroma Pulp Box: Ships pre-installed. Do not run the desktop installer on a Box unit — software updates are handled automatically by the Box's update daemon.

SDI configuration

SDI input and output are configured via the application preferences or a JSON config file at ~/.chromapulp/config.json. All parameters are hot-reloadable — no restart required.

ParameterOptionsDefault
input.format1080i, 1080p, UHD, 4K DCI1080p
input.framerate23.98, 24, 25, 29.97, 30, 50, 59.94, 6025
input.bitDepth8, 1010
output.sdiStandard3G, 6G, 12G-SDIAuto
output.nditrue, falsefalse

GPU requirements

All four AI modules run GPU-direct on VRAM. Minimum requirements depend on resolution and whether background generation is active.

ResolutionMin VRAMRecommended GPU
1080p 60fps8GBNVIDIA RTX 4070
UHD 30fps12GBNVIDIA RTX 4080
4K DCI 60fps16GBRTX 4000 Ada / RTX 4090
macOS Apple Silicon: M2 Pro and above are supported via the CoreML execution provider. Background generation requires M3 Pro or higher.

AI keying

The neural keyer loads its ONNX model once at startup into VRAM and runs inference on every incoming frame. No per-shot tuning is required — the model handles green, blue, and mixed-spill screens automatically.

Spill suppression is applied as a post-inference pass on the same GPU, before the compositor receives the matte.

JSON — keyer config
{ "keyer.threshold": 0.5, // matte clip — 0.0–1.0 "keyer.erode": 1, // edge contraction in pixels "keyer.feather": 2, // edge softness in pixels "keyer.screenColour": "green", // "green" | "blue" | "auto" "keyer.spillSuppression": 0.8 // 0.0 = off, 1.0 = maximum }
keyer.threshold
Clip point for the neural matte alpha. 0.5 is neutral — lower values include more of the foreground at the cost of more spill.
keyer.erode
Contracts the matte edge by N pixels. Use to remove fringe pixels on tight hair or fine detail.
keyer.feather
Softens the matte boundary. Applied after erode. Values above 4 may introduce ghosting at 60fps.
keyer.spillSuppression
Reduces residual screen-colour contamination on the foreground subject. 0.8 is recommended for most shoots.

Colour matching

The colour matching module reads the foreground's colour temperature, exposure, and contrast from the live frame and computes a real-time transform to integrate it with the background plate. In adaptive mode the transform updates every frame.

JSON — colour config
{ "colour.mode": "adaptive", // "adaptive" | "manual" | "off" "colour.strength": 0.85, // blend strength 0.0–1.0 "colour.cameraProfile": "ARRI_LogC3" // camera colour science }
Supported camera profiles: ARRI LogC3, ARRI LogC4, Sony S-Log3, RED Log3G10, Rec.709, Rec.2020. Set to "auto" for DeckLink to read metadata from the signal.

Background generation

Background plates are synthesised from a text prompt or a scene descriptor JSON. Generated frames are colour-matched to the live foreground and composited in the same GPU pass — no separate render or file I/O involved.

When motionLink is enabled, camera movement detected on the SDI input drives parallax on the generated plate.

JSON — background generation config
{ "bggen.prompt": "sunlit forest clearing, golden hour", "bggen.strength": 1.0, // generation influence 0.0–1.0 "bggen.seed": 42, // fixed seed for repeatable output "bggen.motionLink": true // parallax driven by camera tracking }

VFX validation

The validation module outputs per-frame quality metrics as a JSON metadata sidecar on a UDP broadcast alongside the SDI signal. Integrate with on-set logging systems or display on a supervisor's monitor via the NDI feed.

JSON — per-frame metadata output
{ "frame": 1042, "edgeScore": 0.94, // 0–1, higher = cleaner matte edge "spillResidual": 0.02, // fraction of spill remaining "motionConfidence": 0.88, // matte stability under motion blur "compositingReady": true // all scores above acceptance threshold }
edgeScore
Measures edge cleanliness. Values below 0.75 suggest rekeying or lighting adjustment is needed.
spillResidual
Fraction of screen colour remaining on the foreground. Values above 0.05 are flagged in the NDI overlay.
compositingReady
true when edgeScore ≥ 0.8, spillResidual ≤ 0.04, and motionConfidence ≥ 0.75. Configurable thresholds.

IPC API

The Node backend exposes a Unix socket (macOS / Linux) and named pipe (Windows) for real-time control from external tools, automation scripts, or show-control systems. Commands are newline-delimited JSON.

JavaScript — connect and send commands
const net = require('net') const sock = net.connect('/tmp/chromapulp.sock') // Adjust keyer threshold sock.write(JSON.stringify({ cmd: 'keyer.set', params: { threshold: 0.6, spillSuppression: 0.9 } }) + '\n') // Change background generation prompt live sock.write(JSON.stringify({ cmd: 'bggen.prompt', params: { text: 'night city rooftop, neon rain', seed: 7 } }) + '\n')
CommandDescription
keyer.setUpdate keyer parameters. All keys optional.
colour.setUpdate colour matching parameters.
bggen.promptChange the background generation prompt. Applies on next frame.
bggen.freezeFreeze the current generated plate. Useful between takes.
pipeline.statusReturns current pipeline state as JSON.

Chroma Pulp Box — administration

The Box exposes a web admin interface and SSH access on the local network. mDNS hostname is chromapulpbox.local by default — configurable from the web UI.

Access
# Web admin panel http://chromapulpbox.local:8080 # SSH (default credentials changed on first boot) ssh admin@chromapulpbox.local # IPC socket path on Box /var/run/chromapulp/chromapulp.sock
Updates: Software updates are staged and checksum-verified before being applied. Updates are installed on the next scheduled maintenance restart and never interrupt a live session. Rollback to the previous version is available from the web admin panel.