Skip to content

Repository files navigation

coldframe logo: a play button cut into three slices

coldframe

Render Remotion videos in the cloud. Your laptop stays cold.
Free GitHub machines render your video in parallel, every frame is checked, and the MP4 comes back to you.

Website · Setup · Video rules · FAQ

coldframe launch film: Your laptop stays cold
▶ Watch the launch film (56 s), rendered by coldframe on 12 GitHub machines


What it does

Rendering a Remotion video ties up your computer: fans on, everything slow, nothing else gets done. coldframe hands the render to free GitHub machines instead:

  1. Split: your video is cut into equal pieces.
  2. Render: up to 20 GitHub machines each render one piece, all at the same time.
  3. Stitch: the pieces are joined without re-encoding, every frame is counted, and the MP4 comes back to your computer.

The launch film above and the 20 s demo are Remotion projects in example/, rendered by coldframe on GitHub machines (12 and 8).

A real coldframe run: Plan, 8 chunks in parallel, then Stitch + deliver Terminal output of coldframe render: start, wait for all jobs, save the MP4

Setup

You need a Remotion project on your computer and Node.js 18 or newer.

1. Install the GitHub CLI, then open a new terminal:

Windows macOS Linux
winget install GitHub.cli brew install gh cli.github.com

2. Run setup in your project folder. It walks you through everything and asks before it creates anything:

npx github:Razee4315/coldframe setup
  • signs you in to GitHub (you paste a code in your browser)
  • puts your project on GitHub if it isn't there yet
  • adds the render workflow and the Claude Code skills

3. Render. Use the id of your Remotion <Composition>. The MP4 lands in out/cloud/.

npx github:Razee4315/coldframe render MyVideo

That's it. The cloud renders what's pushed to GitHub; if you have local commits, coldframe offers to push them first.

Closed the terminal, or used --no-wait? The render keeps going in the cloud. Fetch it when it's done:

npx github:Razee4315/coldframe download

Video rules

Setup adds these skills to your project (next to the coldframe skill that tells Claude Code how to render), so Claude Code follows them whenever it makes a video:

  • video-rules: story structure, the "AI look" to avoid, text, UI, data, CTA, length and formats.
  • motion-direction: how to direct and build real motion design in Remotion: a virtual camera, depth planes, match cuts and palette impacts, and a workflow of three directions → beat sheet → approved styleframes before anything is animated.
  • sound-design: a soft music bed, a real sound for every click, keystroke and transition, mixing levels, and an audio sample you approve before the full render. Setup also adds a library of 37 CC0 sound effects to public/sfx/ and <Sfx> / <MusicBed> helpers to src/coldframe-sound.tsx.

The short version:

Don't Do
Open with a logo Spend the first 3 seconds on the problem or the result
Default dark + glow + purple, particles Your real brand colours and fonts
The same fade between every scene Mix transitions, each with a reason
Make everything bounce One emphasis technique, on the word that matters
Tiny text, lots of it 7 words or fewer per screen, readable on a phone
Numbers you haven't measured Real, sourced numbers
Flat slides fading in A camera, depth, one real product action with a held result
Silence, or beeps made in code Soft music and a real sound for every action

Honest numbers

Measured on a laptop with 4 cores / 8 threads.

Laptop coldframe on GitHub
The 20 s demo (600 frames, 1080p30) 46 s 1 min 53 s on 8 machines (run)
Your computer while it renders Busy, fans on Free, can even be off
3D scenes (WebGL / three.js) Uses your GPU No GPU, drawn in software: much slower

Each machine spends about 40 s getting ready, so short videos are still quicker at home. coldframe is for when you need your computer while a video renders, and for long videos made of text, UI, images and footage. For 3D-heavy videos, render the 3D shots once on your own GPU and use them as clips.

CLI

coldframe setup [--public|--private] one-time setup in your Remotion project (start here)
coldframe render <Comp> [options]   render in the cloud, wait, download the MP4
coldframe download [run-id]         download the MP4 of a finished render (default: the latest)
coldframe runs                      list recent cloud renders
coldframe init                      only add the GitHub workflow file

  --chunks <n>      parallel machines (default 8, max 20)
  --props <json>    input props
  --ref <branch>    git branch to render (default: current branch)
  --out <dir>       where to save the MP4 (default out/cloud)
  --name <file>     output file name
  --no-wait         start the render and exit
  --repo <o/r>      GitHub repo (default: the repo in this folder)

Press Ctrl+C while it waits and the render keeps going; coldframe download fetches it later. You can also start a render from your repo's Actions tab → coldframe → Run workflow.

Workflow inputs

setup adds .github/workflows/coldframe.yml, which calls the shared render workflow. Edit it to change these:

Input Default What it does
composition (required) Composition id to render
chunks 8 Parallel machines, 1–20
project-dir . Folder with the Remotion package.json
props {} Input props as JSON
output-name <comp>-<run>.mp4 Name of the final file
gl swangle Chrome's OpenGL backend. swangle runs WebGL on machines without a GPU
frame-timeout 120000 Milliseconds one frame may take (heavy 3D needs more than Remotion's default)
concurrency 100% Remotion --concurrency on each machine
extra-args Extra flags for every remotion render, e.g. --crf=16
chunk-timeout 60 Minutes one machine may render before it's stopped, so a stuck render can't use up your minutes

Your project needs a committed package-lock.json. coldframe adds the Linux binaries that npm often leaves out of lockfiles made on Windows or macOS (npm/cli#4828).

FAQ

Is it free? Yes. On public repos, GitHub machines are free with no limit. Private repos get 2,000 free machine-minutes a month, and each machine counts separately (8 machines × 3 min = 24 min). If you run out, GitHub stops the job. You're never charged unless you add a payment method.

Will the joins show? No. Each frame is rendered on its own, the video pieces are joined without re-encoding, and each piece carries its audio as lossless PCM, so the soundtrack joins sample-exactly (tested: 768,000 of 768,000 samples identical to a single-pass render). If the final frame count is wrong, the run fails instead of giving you a broken file.

Does WebGL / three.js work? Yes, and it looks the same as a GPU render, but it's slow on GitHub's machines. See the honest numbers above.

Why not Remotion Lambda? Lambda is faster and built for production, but needs AWS and costs money per render. coldframe is for free renders from a plain GitHub repo.

What about Remotion's license? coldframe is MIT. Remotion itself is free for individuals and companies of up to 3 people; larger companies need a company license.

Repository layout

bin/coldframe.mjs              the CLI (no dependencies, uses gh)
.github/workflows/render.yml   the shared parallel render workflow
templates/coldframe.yml        what setup adds to your project
.claude/skills/coldframe/      Claude Code skill: how to render in the cloud
.claude/skills/video-rules/    Claude Code skill: how to make videos that don't look AI-made
.claude/skills/motion-direction/ Claude Code skill: camera, depth, transitions, styleframes-first workflow
.claude/skills/sound-design/   Claude Code skill: music bed, a sound for every action, loudness
sfx/                           CC0 sound-effect library (setup copies it to public/sfx/)
templates/sound.tsx            <Sfx> and <MusicBed> helpers (setup copies it to src/coldframe-sound.tsx)
example/                       the Remotion demo project
docs/                          the website (GitHub Pages)

License

MIT. Not affiliated with Remotion or GitHub.

About

Render Remotion videos on free cloud machines: 8 parallel GitHub Actions runners, Google Colab via MCP, delivery to Google Drive. Your laptop stays cold.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages