CorridorKey

Corridor Digital's free neural green screen keyer: it unmixes the green from hair, motion blur and glass, and outputs a straight-colour foreground plus a linear alpha.

CorridorKey is a neural network that keys green screen footage. Niko Pueringer, co-founder of Corridor Digital (the Corridor Crew YouTube channel), built it for the 3rd season of their show Son of a Dungeon and released it for free in March 2026.

The problem it attacks is the edge pixel. Where hair, motion blur, an out-of-focus edge or glass meets the screen, each pixel is a mix of subject and green. A classic keyer picks a colour and makes it transparent, so those mixed pixels come out green-fringed or eaten away. AI roto tools cut the subject out, but with a hard mask that keeps the wrong colour in the transparent parts. CorridorKey predicts, for every pixel, the true colour of the foreground and how transparent it is. A red gel held in front of a blue screen comes out as a half-transparent red gel, not a purple one.

Key facts

Author Niko Pueringer, Corridor Digital. Released with the video on 8th March 2026
Language Python, PyTorch (CUDA, ROCm, MPS, CPU) and a native MLX backend for Apple Silicon
Model Hiera transformer backbone + CNN refiner, native 2048x2048, about 300 MB per checkpoint
Models CorridorKey v1.0 (green) and CorridorKeyBlue 1.0 (blue, added 1st May 2026)
Inputs The plate (sRGB or linear) and a rough black-and-white "alpha hint"
Outputs Linear alpha EXR, straight-colour foreground, premultiplied RGBA EXR, PNG preview
Hardware 6 to 8 GB of VRAM, or an M1 Mac or newer. It needed 24 GB at launch
Licence CC BY-NC-SA 4.0 plus Corridor's own terms. Not OSI open source (see Licence)
Traction About 14,800 stars, 900 forks and 34 contributors on 10th October 2026
Last commit 28th May 2026. The plugins around it are where the activity is now

How it was built

The training story explains both the quality and the limits.

  • Synthetic data, not footage. A real green screen shot has no ground truth: any matte you pull from it is itself a guess. So the training set is CG renders, where the "answer" is free: turn off the background and you get the clean foreground and a perfect alpha.
  • Procedural scenes. Jordan Allen built a Houdini setup with about 100 objects, 100 materials and 30 parameters that randomise on every render. 2 interns built a Blender version for characters and hair.
  • Augmentation. With only about 200 clips, Pueringer recombined the rendered layers with random hue, saturation and brightness on every training step, which turns a small set into a near-endless one.
  • The fringe fix. Early models left a faint green fringe in hair because the error was too small to register. The fix: recomposite each prediction over random colours and over neutral grey during training. Any leftover green then stands out, and the model is penalised for it.
  • 2 months, about 8 retrains, by someone who had never trained a neural network before.

The training code and the dataset are not public yet. The README says they will follow "if enough people" ask, and the follow-up video makes plugins for every major app the condition for that release.

For business people

CorridorKey cuts the slowest part of green screen work. On a feature film, a compositor can spend a week or 2 hand-painting edge colour on 1 motion-blurred shot. Corridor's team faced about 500 green screen shots across 2 seasons of their show. A tool that gets the hair, the blur and the glass right on the first pass turns days of cleanup into a review.

  • Cost: free to run on your own machine, for commercial projects too. You pay in GPU time and setup effort.
  • Hosted option: Beeble offers it in its cloud Background Remover since April 2026. It bills 1 credit per second of video: 90 free credits a month for non-commercial use, then $19 a month for 540 credits.
  • The licence is the catch. You may use the output anywhere. You may not resell the tool, sell it as an API, or build it into a commercial product without a written agreement with Corridor Digital. That matters to anyone thinking of a SaaS feature on top of it.
  • What it doesn't replace: a well-lit shoot and a compositor's judgement. An independent test (below) found it the best starting point on most hard shots, not a one-click final.
  • When to choose it: recorded green or blue screen footage with hair, motion or transparency, where a traditional key needs heavy cleanup. Not for live keying: it processes frame by frame, offline.

For technical people

Install

The repo uses uv for Python and dependencies. The model downloads from Hugging Face on the first run.

git clone https://github.com/nikopueringer/CorridorKey.git
cd CorridorKey
uv sync                  # CPU / MPS
uv sync --extra cuda     # NVIDIA (CUDA 12.8+ drivers on Windows)
uv sync --extra mlx      # Apple Silicon, native Metal
uv sync --extra rocm     # AMD RX 7000 / 9000 on Linux

There are also double-click installers for Windows, macOS and Linux, and a Docker image for Linux with NVIDIA.

How a run works

  1. Give it 2 inputs per frame: the plate (sRGB / Rec.709 gamut, sRGB or linear gamma) and a coarse alpha hint. The hint can come from a quick chroma key, AI roto, or the bundled generators: GVM (automatic, about 80 GB of VRAM), VideoMaMa (needs a rough mask, also heavy) or BiRefNet (light).
  2. Run the wizard: drop a clip or a folder on CorridorKey_DRAG_CLIPS_HERE_local.sh (or .bat). It builds the shot folders, offers to generate hints, then asks for gamma, despill (0 to 10), auto-despeckle and refiner strength.
  3. Collect 4 outputs per shot:
Folder Content
/Matte Linear alpha, EXR
/FG Straight foreground colour, every pixel opaque, in sRGB gamut
/Processed Linear foreground premultiplied by the alpha, RGBA EXR, ready for a quick comp
/Comp Preview over a checkerboard, PNG

There is also a Python API for scripting:

import os
os.environ["OPENCV_IO_ENABLE_OPENEXR"] = "1"
import cv2
from CorridorKeyModule import CorridorKeyEngine

engine = CorridorKeyEngine(checkpoint_path="CorridorKeyModule/checkpoints/CorridorKey_v1.0.safetensors",
                           device="cuda", img_size=2048)

frame = cv2.cvtColor(cv2.imread("plate.exr", cv2.IMREAD_UNCHANGED), cv2.COLOR_BGR2RGB)
hint = cv2.imread("hint.exr", cv2.IMREAD_UNCHANGED)[:, :, 0]

result = engine.process_frame(frame, hint, input_is_linear=True)
rgba = result["processed"]  # linear, premultiplied, float 0-1

Gotchas

  • Erode the hint. The model was trained on coarse, blurry, eroded masks. It is good at adding edge detail and bad at removing a hint that spills too far. Shrink and soften the hint.
  • The hint drives the stability. Flicker in the hint comes through as flicker in the key.
  • Convert /FG before you comp. It is computed in sRGB. Linearise it before you combine it with the linear matte, or use /Processed.
  • Every frame is processed at 2048x2048 and resized back with Lanczos. 4K plates work, but the detail is the model's, not the plate's.
  • VRAM: about 10 GB at full resolution on NVIDIA, about 18 GB on AMD. 16 GB AMD cards can run out of memory on Linux.
  • Apple Silicon: MLX is faster than PyTorch MPS, but the blue-screen model runs on the Torch backend only. With MPS, set PYTORCH_ENABLE_MPS_FALLBACK=1 or unsupported operations drop silently to the CPU.
  • Device order: CUDA, then MPS, then CPU. Override with --device or CORRIDORKEY_DEVICE.

How good is it

Alex from Compositing Academy, a feature-film Nuke compositor, tested it against Nuke's Keylight and IBK keyers on 4 hard plates, with default settings on all 3:

Plate Winner Why
Transparent object with motion blur CorridorKey Fewest dark edges, best motion blur
Dress shaken in front of a gradient CorridorKey Handled the uneven screen, kept the blur
Orange pumpkin thrown up and down IBK CorridorKey got the orange wrong and has no despill control
Defocused bag over a wrinkled screen None No keyer solved it. CorridorKey was the best starting point

His other findings: the key flickered where the alpha hint flickered, and a wide shot with non-green areas around the screen broke the prediction. His verdict: the best one-click starting point, and keying skills are still needed. Corridor's own comparison puts it ahead of a normal green screen key and behind sodium vapour, the dual-film process Disney used in the 1960s.

Ecosystem

The repo is the engine. Most people use it through something built on top:

  • EZ-CorridorKey: free desktop app for Windows, macOS and Linux, with a viewer, a job queue and EXR, ProRes or PNG export. About 4,200 stars.
  • CorridorKey-Runtime: native OFX plugin for DaVinci Resolve, built with Corridor Digital. The one the Corridor team demoed in their follow-up video.
  • Nuke, After Effects and ComfyUI plugins from the community, plus an OpenVINO port for Intel hardware.
  • Beeble: the first commercial, licensed integration, in the cloud.

Within 1 week of release, volunteers cut the VRAM need from 24 GB to 8 GB, the Discord went from about 1,000 to 5,000 members, and the repo passed 8,000 stars.

Licence

The licence is CC BY-NC-SA 4.0 with additional terms that take precedence:

  • Allowed: any lawful use, including keying footage for a paid commercial project.
  • Not allowed: repackaging or selling the tool, or offering inference as a paid API or behind a subscription.
  • Needs a written agreement: building it into commercial software or an inference service (contact@corridordigital.com).
  • Forks must stay under the same licence and keep the CorridorKey name.

Pros and cons

Pros

  • Recovers the true foreground colour in semi-transparent pixels, which classic keyers and AI roto tools don't do.
  • Free for commercial footage, and runs locally on consumer GPUs and Apple Silicon.
  • VFX-grade output: linear EXR, straight and premultiplied passes, ready for Nuke, Fusion, Resolve or After Effects.
  • Green and blue screen models, with automatic detection.
  • An active plugin ecosystem with a GUI, Resolve and Nuke.

Cons

  • Needs a decent alpha hint, and inherits its errors and flicker.
  • Struggles with colours and framings that the synthetic training set didn't cover, such as the orange pumpkin and wide shots.
  • No interactive controls after the fact: a bad result means a new hint or a traditional keyer.
  • The licence rules out products and paid services without a deal, and the training recipe isn't public yet.
  • The core repo has had no commits since the end of May 2026.

My take

CorridorKey doesn't change my live setup. My ATEM Mini keys in real time for calls, and CorridorKey works offline, frame by frame. Where it fits is recorded video: a talking head or a demo shot on the green wall, where hair edges and hand movement are what give the key away. On a Mac Studio with 128 GB of unified memory the MLX backend has plenty of room. The Resolve plugin or EZ-CorridorKey is the route I'd try first, before touching the raw CLI.

The bigger point is how it was made: a VFX artist who had never trained a model got there in 2 months with CG renders and a clever loss trick, where big studios had tried for years. Good lighting still wins, as the Chroma Keying Best Practices note says. CorridorKey widens the margin for when the lighting isn't perfect.

Further reading

NicAI
Written by NicAI, Nic's AI assistant, for his personal knowledge base. Researched and drafted by the model, not hand-written by Nic. Verify anything you plan to act on.