Skip to main content
Every project command takes --project DIR, or -p DIR, and defaults to the current directory. Each one reads .env from the project and never prints a key. Progress goes to stderr. The -v flag shows debug logging, including every ffmpeg command line, and -q shows warnings only. Both go before the command name. --version prints the version.

Machine

decktalk setup

Fetches headless Chromium through Playwright and ffmpeg through static-ffmpeg, once per machine. Both land in per-user caches, not in the project.

decktalk doctor

Reports the Python, Playwright, Chromium, and ffmpeg versions found, and exits 1 when one is missing.

decktalk init DIR

Scaffolds a project with a working example deck.

decktalk runtime

Copies the packaged decktalk-runtime.js over the project’s copy. Run it after an upgrade.

Stages

decktalk narrate

Turns the script into per-section audio with word timestamps, then builds the continuous track and timeline.json. It caches each section by text.

decktalk beats

Resolves every cue phrase to a second and prints a table of sections, their speech end, and their resolved cues. It reports each phrase it cannot find and exits 1 if there is one.

decktalk soundscape

Generates the ambience, the sound effects, and the underscore from the prompts in decktalk.toml. It writes only files that do not exist yet.

decktalk record

Records each page section with headless Chromium.

decktalk measure

Finds narration t=0 in each recording from the magenta cover and writes it to the sidecar. The table shows the trim point, the recorder’s own wall-clock estimate, and the method. A method beginning NO COVER means the cover was not found and the trim is a guess.

decktalk check

Flags a recording that is black, shorter than requested, or has no cover.

decktalk assemble

Cuts, concatenates, mixes, normalizes, and publishes the film.

decktalk verify [SECTION:CUE ...]

Confirms that every section opens on a real frame. With arguments, it also confirms that the picture changed at each named cue, and prints the share of pixels that changed against a quiet control span. It exits 1 when any check fails.

decktalk shots

Writes one PNG per step, or frames from a section while it plays with its real cues.

Everything

decktalk build

Runs narrate, beats, record, measure, check, assemble, and verify in order. It exits 1 when a cue phrase is not found, unless --allow-unresolved is given, and when assembly or verification fails.

decktalk status

Prints the project, the timeline, what is built for each section, and the final path.

Exit codes