Skip to content

keryx voice add

Description

Bring an audio file in as a VO take.

A voice-over take does not have to come from ElevenLabs. TTS occasionally cannot land a line — a name it mangles, an emphasis it will not hit — and the answer is to read it yourself. voice add files that recording into the line's take list, where it is auditioned and picked exactly like a generated one.

Nothing is re-encoded. The take is stored in the format you handed over, and the render engine reads it. A recorded take drives card timing identically to a generated one, because duration is duration.

Usage

keryx voice add --workspace <slug> --line <n> --file <audio> [--select]

Flags

Flag Description Default Required
-w, --workspace reel workspace slug yes
--line storyboard line (1-based) yes
--file audio file to import yes
--select promote the imported take to the selected slot false

Run keryx voice add --help for the authoritative, always-current flag set.

What it does

$ keryx voice add --workspace my-post --line 3 --file take-three.wav
imported 03-1.wav as VO take 1 for line 3

$ keryx voice takes --workspace my-post
line 3: 1 take

It lands in the next free slot for that line, counting takes in any format — so an imported read and a generated one never collide.

With --select it is promoted in the same step, which is the usual shape for a read you have already listened to:

$ keryx voice add --workspace my-post --line 3 --file take-three.wav --select
imported 03-1.wav as VO take 1 for line 3, and selected it

Promoting respects a locked take (keryx reel lock) and refuses rather than overwriting one.

Why it is add and not import

import is a Go reserved word, so it cannot be a command name here. add is also what the rest of keryx uses for filing something into a place it owns — font add, theme add, voice lexicon add.

See also