transcribe writes a file, caption attaches one.
Transcribe
transcribe writes captions.srt beside the project, not into the cache, so
the file is yours to edit and can outlive a cache wipe. It attaches the captions
only with --attach; otherwise you get the SRT and its word count and can review
it first.
Silence is not a failure: a recording with no speech returns
{"words":0,"speech":false} with an asr_no_speech warning.
Providers and keys
Keys never go insplice.json and never in argv.
geminianddeepgramare hosted;whisperruns a local binary.- An environment variable beats the config file for the same provider.
config listreports whether a key is set, from which source, and a fingerprint — never the key itself.
Burn them in
splice text and splice caption share one engine (libass). That is why a title
and a subtitle look consistent, and why a build without libass cannot do either.
Fixing the words
captions.srt is a normal SRT. Edit it, then re-run splice caption. The render
cache is keyed on the file’s content, so changing it invalidates only the burn-in
step.
Timing lives in the SRT, not the document. If the transcription is right but
the timing is not, edit the SRT rather than asking the provider again.