Skip to main content
This page answers common questions about DeckTalk. For a message that DeckTalk prints, see Troubleshooting.

What does it cost?

A silent build costs nothing. A voiced build spends ElevenLabs credits for each section whose text changed.
  • Every ElevenLabs plan can call the API, including the free plan. The free plan has limits for a video you publish.
  • decktalk soundscape also spends credits, because it generates an underscore, an ambience bed, and sound effects.
  • A silent build stops when the project has voiced takes, because it would empty the narration cache. Rebuild one section explains the cache.
What spends credits lists the plan limits and every command that spends credits.

Is there lock-in to ElevenLabs?

No. ElevenLabs is the built-in speech provider, because it returns word times.
  • The speech provider is one module behind a two-method protocol. Any service that returns audio and word times can replace it.
  • A local text-to-speech engine with a forced aligner is one such replacement.
  • A silent build needs no speech provider, so the project files do not depend on any service.
Python API documents the protocol.

How does the voice sound?

It sounds like the ElevenLabs voice you pick. Any voice id works, including a clone of your own voice.
  • [voice] in decktalk.toml sets stability, similarity, style, and speed.
  • DeckTalk sends the text before and after each section with the request. The rhythm and tone of the voice then stay even across cuts.

Why not record the screen?

A screen recording needs a new take after every edit. You would also time every reveal again by hand. DeckTalk times each reveal from the spoken words, so a reveal moves with its word. Rebuild one section shows what a change runs again.

How is this different from the other tools?

DeckTalk takes its timing from the spoken words, and the slides are your own HTML. Choose DeckTalk when the timing must come from the words and the slides are yours. Other tools fit other jobs:
  • For frame-by-frame animation, use Remotion, Motion Canvas, or Manim.
  • To edit a recording you already made, use Descript.
  • For an avatar on screen, use Synthesia or HeyGen.

Is generated music required?

No. Each part of the soundscape is off until [mix] in decktalk.toml names its file.
  • You can bring your own audio files.
  • decktalk soundscape generates the parts from a prompt, and it spends credits.
  • If a named file is missing, the build prints a warning and continues without that part.
Sound explains both ways.

What comes out besides the video?

Every build writes captions and chapters beside the video.
  • The .srt and .vtt captions come from the word times, with the script’s punctuation.
  • An ffmetadata chapters file has one chapter per section. Consecutive sections with the same title share one chapter.
  • The mp4 holds the same chapters, so video players show the section titles.
decktalk status lists all three files. Build artifacts gives their formats.

Does another HTML framework work?

Yes. A page can be any HTML that follows the page contract.
  • Write a page by hand shows the minimum page.
  • The runtime is one file with no dependencies. It adds only the stage element to your markup.
  • KaTeX is optional. If decktalk setup cached KaTeX, decktalk init copies it into the project.

Does it run on Windows?

Yes. DeckTalk runs on Linux, macOS, and Windows.
  • Paths in decktalk.toml use forward slashes on every platform.
  • decktalk setup puts Chromium in %LOCALAPPDATA%\ms-playwright. If a corporate proxy blocks the download, set PLAYWRIGHT_DOWNLOAD_HOST as Playwright documents.
  • CI runs the full build on Windows for a v* tag that a person pushes, and on request. What CI runs lists every platform and trigger.

What does the lesson mean by error?

The lesson’s “error” is what machine learning calls the loss. The lesson uses “error” because the everyday word already says that lower is better.
  • One guess. A loss function scores one guess. For a category guess, such as seal or otter, the usual loss is cross-entropy. It is large when the model gives the right answer a low probability.
  • The height of the bowl. Training lowers the average loss over many examples. Gradient descent moves the knobs down the slope of that average.
  • Not the error rate. The error rate is the share of wrong guesses. It changes in jumps, so it has no useful slope to follow.
What the example video shows lists the lesson’s sections.

Where does the name come from?

A deck is the slides, and the talk is the narration. DeckTalk times the deck to the talk.