Deterministic HTML to video

Render browser-native video.
No build step required.

Cenvero Cetus turns plain HTML compositions into MP4 and WebM. It bundles Chrome headless shell and ffmpeg, seeks every frame deterministically, and works with CSS, GSAP, video, WebGL, Three.js, and AI-generated scenes.

Homebrew recommended
brew tap cenvero/cetus && brew install cenvero-cetus
or one-liner: curl -fsSL https://cetus.cenvero.org/install | sh

# Homebrew installs update with: brew update && brew upgrade cenvero-cetus

One-liner
curl -fsSL https://cetus.cenvero.org/install | sh
beta channel: curl -fsSL https://cetus.cenvero.org/install-beta | sh

# No system Chrome, Node.js, npm, or ffmpeg required.

PowerShell
irm https://cetus.cenvero.org/install.ps1 | iex
beta channel: $env:CETUS_CHANNEL="beta"; irm https://cetus.cenvero.org/install.ps1 | iex

# Run from PowerShell. Installs cetus.exe and adds it to PATH.


What it does

Everything needed to turn HTML into video

Cetus gives designers, developers, and AI agents a stable render target: write one HTML file, preview it locally, then render exact frames into video.

Single binary

Chrome headless shell and ffmpeg are embedded per platform and extracted once into ~/.cenvero-cetus.

Deterministic frames

Cetus seeks clips, CSS/Web Animations, GSAP timelines, media, custom hooks, fonts, images, and paint before capture.

Browser-native scenes

Use HTML, CSS, video, canvas, WebGL, Three.js, and GSAP without React, Vite, Node.js, or a render farm.

AI-ready workflow

The Build with AI tool generates prompts for ChatGPT, Codex, Claude Code, and terminal agents that produce valid Cetus HTML.

MP4 and WebM

Pipe captured PNG frames into bundled ffmpeg and write H.264 MP4 or VP9 WebM from the same composition file.

Live preview

Serve a composition locally with live reload, then render the exact same file from the command line.

Self-updating

Direct installs can run cetus update check and cetus update apply. Homebrew installs stay with Homebrew.

Verified releases

Installers use the release manifest, platform-specific archives, and SHA-256 checks before replacing the binary.

Render overrides

Keep width, height, duration, and FPS in the HTML root, or override FPS and dimensions from the CLI when needed.


Quick start

A video render in minutes

# 1. Install Cetus
curl -fsSL https://cetus.cenvero.org/install | sh

# macOS Homebrew
brew tap cenvero/cetus
brew install cenvero-cetus
# 2. Preview while editing
cetus preview cetus.html

# Optional: generate a prompt
open https://cetus.cenvero.org/build-with-ai/
# 3. Render MP4 or WebM
cetus validate cetus.html
cetus render cetus.html -o out.mp4
cetus render cetus.html -o out.webm

# Override only when needed
cetus render cetus.html -o out.mp4 --fps 60
cetus render cetus.html -o out.mp4 --audio music.mp3 --audio-volume 0.7 --audio-loop
cetus render cetus.html -o out.mp4 --resume --frames-dir .cetus-frames --concurrency 4
# 4. Keep it current
cetus update check
cetus update apply

# Verify the installed binary
cetus version