Sentioscope

Speech and voice controls, as each vendor documents them

Per-character binding: does a voice persist

Per-character binding records whether a voice is a property of a character that survives between generations, or something re-established each time. Five entries let a voice exist as a stored object. Five put it on the request. The remaining six publish nothing here. From 9 source pages, read 2026-09-12 to 2026-10-25; no maker pays to be listed.

A voice that belongs to the character, against one supplied per callBoth arrangements give a consistent voice when everything goes right, and product copy describes them in the same words. What separates them is how a long series fails when one step is missed.Bound to the characterSupplied on the callConfiguredOnce, when the character is definedOnce per shot, every shotIf a step is missedNothing to missA different person, unannouncedChances to go wrongFlat across a seasonGrows with the episode countChoosing the voiceNot documented either wayWhatever the supplied clip producedSame promise, different failure at series length
Fig. 1 The field records where the voice lives, because that is what decides whether consistency survives a missed step at episode thirty.
Controls documented, model by modelFilled where the model documents that control, hollow where nothing is published about it.Controls documented, model by modelWhere the voice livesD-ID — Where the voice lives: On the requestD-IDHeyGen — Where the voice lives: On a stored cloneHeyGenKling AI — Where the voice lives: On the elementKling AILTX Studio — Where the voice lives: On the character ElementLTX StudioLuma Ray — Where the voice lives: Not documented by the vendorLuma RayMiniMax — Where the voice lives: On the callMiniMaxPixVerse — Where the voice lives: On the requestPixVerseRunway — Where the voice lives: On a stored voiceRunwaySceneMixer — Where the voice lives: On the characterSceneMixerSora 2 — Where the voice lives: On the promptSora 2sync-3 — Where the voice lives: Not documented by the vendorsync-3Synthesia — Where the voice lives: Not documented by the vendorSynthesiaVeo — Where the voice lives: Not documented by the vendorVeoVidu — Where the voice lives: Not documented by the vendorViduWan 3.0 — Where the voice lives: On the callWan 3.0Wan2.2-S2V — Where the voice lives: Not documented by the vendorWan2.2-S2V
Fig. 2 Filled where the model documents that control, hollow where nothing is published about it.
Models documenting each controlHow many models document each control. A hollow column is a statement about documentation, not capability.Models documenting each controlWhere the voice lives10 of 16
Fig. 3 How many models document each control. A hollow column is a statement about documentation, not capability.
Whether a voice belongs to the character or to the call. Recorded 2026-09-12.
ModelWhere the voice livesThe published wording behind the cell
D-IDOn the requestA voice id selected from the list of available voices
HeyGenOn a stored clonePass the clone's voice id in the request
Kling AIOn the elementA character carries its voice between generations
LTX StudioOn the character ElementVoices are attached to Elements
Luma RayNot documented by the vendorNo voice is described, so none can be attached
MiniMaxOn the callA reference clip, capped across three clips, supplied each time
PixVerseOn the requestThe speaker id from the voice list is passed on the lip-sync request
RunwayOn a stored voiceA voice becomes ready with a preview, then is used by id
SceneMixerOn the characterA matched preset is used as reference audio on every shot the character speaks in
Sora 2On the promptSpeakers labelled consistently, with turns alternated
sync-3Not documented by the vendorNothing published about a voice persisting between calls
SynthesiaNot documented by the vendorA voice id exists; its pairing with an avatar is unstated
VeoNot documented by the vendorNothing published about a voice surviving a generation
ViduNot documented by the vendorAudio is documented as an output of each call
Wan 3.0On the callReference audio is supplied per generation
Wan2.2-S2VNot documented by the vendorThe voice is whoever made the recording

Inclusion rule. Models whose documentation says whether a voice attaches to a reusable character. Keeping a voice by re-supplying the same clip counts, and is recorded as living on the call. Order. Alphabetical by model name.

1Set once, or remembered by whoever presses the button

Both arrangements produce a consistent voice on a good day, which is why product copy describes them in the same words. They fail differently. A voice bound to an element is wrong once if it is wrong at all, and correcting it corrects every shot after it. A voice re-supplied per call is one more step in a repeated process, and every repeated step is a place where a season drifts.

The field therefore records where the voice lives rather than whether consistency is possible. Both routes reach the same destination; only one of them survives a tired operator at two in the morning forgetting to attach anything.

2Forty episodes is where the difference becomes visible

On a single scene the distinction is academic, and that is how it is usually demonstrated. At series length the arithmetic changes: a bound voice is configured once for a run, while a per-call reference is configured once per shot, so the number of chances to get it wrong grows with the length of the show rather than staying flat.

That is also why the clip belongs beside the character in whatever the production uses as an asset store. A shot regenerated months later from a different sample gives a different person, and nothing in the returned file announces the substitution.

3A bound voice is still not a voice anyone chose

Most vendors that document binding document persistence and not selection. The element system that keeps a voice stable does not come with a way to audition what that voice will be, and the language counts published beside it are counts rather than lists of identifiers. The exception in this table is a library where each preset has a sample to play before it is attached.

So a production can rely on a character sounding the same in episode forty as in episode one without being able to say in advance what it sounds like. Where nothing at all is published, the cell stays blank instead of borrowing an answer from how the product appears to behave.

4One entry at a time on this column

A cell gets a page of its own where the vendor says something specific in it, or where its silence is unusual among the entries answering the same way. The remaining cells are left in the table above, because a page repeating one short phrase would be worse than a row carrying it.

Entries that let a voice exist as an object before any shot does:

Entries that re-establish the voice on every generation:

Entries that publish nothing about a voice outlasting one call:

  • Per-character binding
    Voices are bound to elements, so a character carries its voice between generationstied to the element systemKling AI, model guide / recorded 2026-09-12
  • Per-character binding
    Voices are attached to character Elementstied to the element systemLTX Studio / recorded 2026-09-12
  • Per-character binding
    Not documented by the vendor (as of 2026-09-22)no public descriptionVidu, API reference / recorded 2026-09-12
  • Per-character binding
    A voice matched to a character from the built-in preset library is used as reference audio on every shot that character speaks ina matched preset kept on the characterSceneMixer, character voices guide / recorded 2026-10-13
  • Voice source
    Reference audio is capped at 15 seconds in total across at most 3 clipsa hard published limitMiniMax, video generation guide / recorded 2026-09-12
  • Per-character binding
    A voice is created asynchronously, reaches a ready state with a preview, and is then referred to by its own ida stored voice objectRunway, custom voices reference / recorded 2026-09-22
  • Per-character binding
    The voice is a voice id selected from the list of available voices, with an optional language field beside ita voice id on every requestD-ID, create a talk reference / recorded 2026-09-22
  • Per-character binding
    A speaker id taken from the TTS list is passed as the lip-sync speaker id on the request, beside the text to be reada speaker id per callPixVerse, Lipsync reference / recorded 2026-10-25
  • Two characters in frame
    For multi-character scenes the guide asks for speakers labelled consistently and turns alternated, so each line lands on the right characteraddressed rather than skippedOpenAI, Sora 2 prompting guide / recorded 2026-09-22

5Sources

Each cell is read from the vendor page it links to, checked 2026-09-12. The fields sit side by side on the speech table, and what counts as documented is set out on how read. The other fields: Languages, Lip-sync. All of them: the field notes.