1
Install
Everything DeckTalk needs arrives through Python packages. Playwright’s package carries
its own browser driver, and
static-ffmpeg carries ffmpeg and ffprobe for your
platform. You need Python 3.12 or later. You do not need Node.What is uv?
What is uv?
uv is a Python package manager from Astral. The command uv tool install puts a
command-line tool in its own environment and on your PATH. If you do not have it,
pipx install decktalk does the same job, and so does pip install decktalk inside
a virtual environment.2
Scaffold and build
--silent flag runs every stage with a silent placeholder track and estimated word
times. It needs no API key and costs nothing. Use it to prove that a project builds
before you spend credits.The scaffold has four sections. Section 0 is a clip section. It expects your own video,
with its own audio, at media/open.mp4. That file does not exist yet, so a titled slate
plays in its place. Sections 1 to 3 are page sections. They are three scenes in
deck/index.html, and DeckTalk records them and cuts them to the narration. Run the
scaffold as it is first. Then either drop a video at media/open.mp4 or delete section
0 from both decktalk.toml and script.md.3
Add your voice
Copy Both values can also come from the environment. A value left as
.env.example to .env and replace the two placeholders..env
<placeholder> counts
as unset. DeckTalk never prints the key and never writes it under build/. Then build
the project again.You need an ElevenLabs plan with API access. The free tier has the API, but its
audio carries a watermark and a non-commercial license, so the Starter plan is the
practical floor. The FAQ has the arithmetic.
4
Change a sentence
Edit any sentence in
script.md and run decktalk build again. DeckTalk hashes each
section by its text, so only the section you touched is re-synthesized and re-recorded.
The rest comes from the cache.5
Review
Open
deck/index.html in any browser with no query string. The page shows an index of
every scene and step. Add ?scene=2 to play a scene, ?step=2.1 to freeze one step
with everything revealed, or &hud=1 to overlay the clock.