Skip to main content
--project <path> is global and defaults to splice.json. Every command prints one JSON object on stdout; view and find print plain text unless given --json.

Setup

splice init --size WxH --fps NWrites splice.json and prints {"ok":true,"canvas":{...},"project":"splice.json"}.
splice doctorReports ffmpeg (version, path, which rule chose it), encoders, filters, the resolved font, credentials, config path and cache usage. Exits 4 when ffmpeg is missing or lacks libx264/libass.
splice config set <provider>.<field> [VALUE] [--stdin] [--from-env VAR] splice config listProviders: gemini, deepgram, whisper. Secrets only via --stdin or --from-env. list shows set/missing, the source, and a key fingerprint.
splice ffmpeg installDownloads a pinned static ffmpeg+ffprobe, verifies sha256, installs into the user cache. A second run is a no-op. Codes: ffmpeg_install_network, ffmpeg_install_hash, ffmpeg_install_io, ffmpeg_install_unsupported.
splice update [--check]Asks the npm registry for latest and installs it with npm. Only moves forward. Codes: update_network, update_no_npm, update_failed.

Timeline

Picture and layers

Sound and speech

Output, safety, cache

Shapes