Hi! This web UI was made by Arthur Adriansens. I stepped out of my comfort zone (JavaScript, Node.js and Astro) to use Python. The backend uses standard library, together with the already installed packages from CorridorKey, plus fastapi. The project also uses Tailwind CSS for faster development and maintainability.
Special thanks to EZ-CorridorKey for inspiring this project. A big part of the UI explenations are also from EZ-CorridorKey.
Clone this project:
git clone https://github.com/arthur-adriansens/CorridorKey.git`
cd CorridorKeyRun the install scripts:
-
Double-click
1. Install_CorridorKey_Windows.batfor WindowsInfo: This will automatically install uv (if needed), set up your Python environment, install all dependencies, and download the CorridorKey model.
Note: If this is the first time installing uv, any terminal windows you already had open won't see it. The installer script handles the current window automatically, but if you open a new terminal and get "'uv' is not recognized", just close and reopen that terminal.
Run
1. Install_CorridorKey_Linux_Mac.shfor Linux & Mac -
(Optional) Double-click
2. Install_GVM_Windows.batand2. Install_VideoMaMa_Windows.batto download the heavy optional Alpha Hint generator weights. -
FFmpeg also needs to be installed:
https://ffmpeg.org/download.html # ---OR--- # Windows winget install "FFmpeg (Essentials Build)" # macOS brew install ffmpeg # Ubuntu / Debian sudo apt update && sudo apt install -y ffmpeg # Verify the installation ffmpeg -version
- Start the server and open the UI by double-clicking on
4. RUN_CorridorKeyUI.batfor Windows
- Make inference work.
- Make it work (lol).
- Connect progress and queue to UI
- Bug where no clips are found (fixed with auto frame pattern detection)
- Color space (sRGB / linear)
-
Add cuda check - Implement custom backend
- Move original clip in UI to a underlying layer to implement "hold" compare mode
- A/B compare mode
- Add a working queue with progress bar as background
- Add explenation to views and compare modes
- Clean the 2 README's up.
- "Starting server" and "Project not found" page
- Load queue when reloading UI page
- Display average frames per second processing speed and time estimate for inference
- Add Linear <-> sRGB converter (see color_utils.linear_to_srgb and srgb_to_linear functions)
- Add an installer page
with secondary serverwhich does not need any installation. - gpu_check popups
-
ffmpeg_check(ffmpeg enkel nodig bij frame stitiching => handled die error al) - [] webUI update (available) button (git fetch)
- Node.js and npm for Tailwind development: Node.js
- Lucide Icons (for UI icons)
Install the Python dependencies:
uv sync --group dev # updates/installs all dependencies + dev tools (pytest, ruff)This project uses uv to manage Python and all dependencies. uv is a fast, modern replacement for pip that automatically handles Python versions, virtual environments, and package installation in a single step. You do not need to install Python yourself — uv does it for you.
To install tailwindCSS globally:
npm install -g tailwindcss@3 # v4 doesn't really work without a package.json, which I don't want to addStart the local server automaticly:
start_dev_servers.batfor Windows (will start servers in a minified terminal)
Or start the local server manually:
uv run --extra cuda uvicorn webUI.server.server:app --reload # start the python server (also for development)To enable tailwind "watching" in a second terminal during development (generates the ouput.css file when you make changes)=
cd webUI && tailwindcss -i static/input.css -o static/styles.css --watchDM Art on Discord, or open an issue on my Git page.
