griptruck

A 220 Labs tool

  • Glue, not a product: published as it is used.
  • It generates no footage: it cuts, mixes and labels what you already have.

Media tools for generative-AI films: a cut from an edit list, the mix, a score's timing, subtitles, take labels, posters and a press kit. Named for the truck that brings every stand, rig and dolly a shoot needs to the set.

Alpha: glue that works for one studio. Published on 10 October 2026; FFPP Pictures makes its films with these tools and contributes back.

GitHub What each tool does

  • cut/A cut from an edit list, with a review copy that names each clip; trailers and teasers by timecode; stray frames found.edl_cut · derive · masters · promo · qr · strays · wip
  • mix/Separated stems conformed to a cut, the score ducked under dialogue, the loudness set; a spotting sheet; room tone.mix · spotting · beds · toys · film_clicks · ab_reel
  • music/Generated chunks joined into one cue; does a take keep the sketch's grid, and how far does it lag.assemble · gridcheck · lagscan · notelist
  • subs/One SRT per language from the spotting sheet, and a check for the set.make_srt · check-srt
  • label/A take ID burned into review copies; the masters stay clean.label
  • blur/Faces of people who did not agree to be filmed: scan, pick, blur, check.blur
  • release/Posters in every size, a festival press kit, uploads to your own YouTube channel.poster · presskit · youtube

What it reads, and what leaves your machine

  • Each tool reads a production's text folder and its media folder and writes beside them. Your footage stays on your disk.
  • youtube is the one tool that sends a film anywhere: to your own channel, with your own OAuth client and token, when you run it. Uploads default to private.
  • What it downloads, and only when asked: the fonts (scripts/fonts/fetch-fonts.sh) and the face model (scripts/blur/fetch-model.sh), both checked against a SHA-256; the soundfonts the in-browser renderer loads from GitHub Pages; Chromium for presskit, through Playwright; and, for mix/devoice.py and mix/sep_chunks.py, a source-separation model checkout you make yourself.
  • presskit drives a local Chromium through Playwright; nothing is posted.

Run it

  1. Clone. git clone https://github.com/220labs/griptruck.git && cd griptruck
  2. Install. ffmpeg and ffprobe on the PATH, then pip3 install --user -r scripts/requirements.txt
  3. Fonts. sh scripts/fonts/fetch-fonts.sh
  4. Ask a tool. /path/to/griptruck/scripts/bin/edl_cut --help, from a production's folder

Python 3.9 or later. The heavy packages are needed only by some tools; which ones, and how a tool finds a production's text and media, is in the README.

Code

github.com/220labs/griptruck · MIT · hello@220labs.dev