explaingit

nikopueringer/corridorkey

13,233PythonAudience · designerComplexity · 3/5Setup · moderate

TLDR

A neural-network VFX tool that cleanly removes green or blue screen backgrounds from footage, preserving soft details like hair and motion blur that traditional keying tools miss.

Mindmap

mindmap
  root((repo))
    What It Does
      Green screen removal
      Edge unmixing
      Transparency keying
    Key Features
      Neural network model
      EXR file support
      Green and blue screen
    Workflow
      Input raw frame
      Add keep hint
      Export keyed EXR
    Compatible Software
      Nuke
      DaVinci Resolve
      Fusion
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Remove a green screen background from a portrait clip while keeping fine hair strands and soft edges intact.

USE CASE 2

Export a keyed EXR file with a clean transparency channel for compositing in Nuke, Fusion, or DaVinci Resolve.

USE CASE 3

Process both green and blue screen footage with a single tool without switching pipelines.

USE CASE 4

Use the EZ-CorridorKey installer for a beginner-friendly setup without touching Python or the command line.

Tech stack

PythonPyTorchOpenEXRuv

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a GPU, built on high-end hardware but recent versions support lower-spec GPUs and Apple Silicon Macs.

No license is specified in the README.

In plain English

CorridorKey is a tool for visual effects work that removes a green screen background from footage. The README starts with the problem: when you film someone in front of a green screen, the edges of the person blend with the green, creating pixels that are a mix of both colors. Traditional tools struggle with these edges and force artists to spend hours cleaning them up by hand, while many newer automatic tools produce a harsh cutout that ruins soft, see-through details like loose hair or motion blur. CorridorKey uses a neural network, a kind of trained AI model, to do what the author calls unmixing. For every pixel, including the partly transparent ones, it works out the true color of the foreground subject as if the green screen had never been there, along with a clean transparency channel. The aim is a realistic result you can drop onto a new background without obvious fringing. You give it a raw frame plus a hint of what you want to keep, and it separates the subject for you. It handles both green and blue screens and can read and write the high-quality EXR image files used in professional software such as Nuke, Fusion, and Resolve. The README is candid that this is a brand new release that will have rough edges, and it invites people to report problems, contribute fixes, and join a Discord community. A separate, more beginner-friendly version with an easy installer, called EZ-CorridorKey, is linked for artists who do not want to deal with setup. Installation is handled by a tool called uv, which sets up Python and all the needed parts in one step, with double-click scripts provided for Windows, Mac, and Linux. The hardware notes are honest: it was built on a very high-end machine, but recent versions are said to run on computers with far less graphics memory and on Apple Silicon Macs. The main model downloads automatically on first use, and some heavier optional components are available for those with powerful hardware.

Copy-paste prompts

Prompt 1
I installed nikopueringer/corridorkey. How do I run it on a batch of EXR frames from a green screen shoot?
Prompt 2
Using corridorkey, what hint file format does it expect and how do I create one to tell it which area to keep?
Prompt 3
Help me set up corridorkey on a Mac with Apple Silicon, which install steps differ from the standard GPU setup?
Prompt 4
I'm getting fringing on hair edges with corridorkey. What settings or optional components should I try to improve the result?
Open on GitHub → Explain another repo

← nikopueringer on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.