Sentioscope

Speech and voice controls, as each vendor documents them

How a character keeps the same voice

Five of the 16 models let a voice exist as something stored and reused: bound to an element, attached to a character, matched to a character from a library, or created as a named object with a preview. Five re-establish it on each call. The remainder publish nothing. From 10 source pages, read 2026-09-12 to 2026-10-25; no maker pays to be listed.

Controls documented, model by modelFilled where the model documents that control, hollow where nothing is published about it.Controls documented, model by modelWhat is documentedKling AI — What is documented: Bound to an elementKling AILTX Studio — What is documented: Attached to a character ElementLTX StudioHeyGen — What is documented: A cloned voice, reused by idHeyGenRunway — What is documented: A stored voice with its own idRunwaySceneMixer — What is documented: A library voice matched to the characterSceneMixerD-ID — What is documented: A voice id on each requestD-IDMiniMax — What is documented: Reference audio per callMiniMaxPixVerse — What is documented: A speaker id per generationPixVerseSora 2 — What is documented: A label inside the promptSora 2Wan 3.0 — What is documented: Reference audio per callWan 3.0Luma Ray — What is documented: Not documentedLuma Raysync-3 — What is documented: Not documentedsync-3Synthesia — What is documented: Not documentedSynthesiaVeo — What is documented: Not documentedVeoVidu — What is documented: Not documentedViduWan2.2-S2V — What is documented: Not documentedWan2.2-S2V
Fig. 1 Filled where the model documents that control, hollow where nothing is published about it.
How each entry documents a voice staying attached to a character. Recorded 2026-09-12.
ModelWhat is documentedDetail
Kling AIBound to an elementSurvives between generations
LTX StudioAttached to a character ElementSurvives between generations
HeyGenA cloned voice, reused by idEnrolled once, from one recording or twenty minutes
RunwayA stored voice with its own idReady with a preview before any shot exists
SceneMixerA library voice matched to the characterUsed as reference audio on each of its lines
D-IDA voice id on each requestChosen from a provider catalogue
MiniMaxReference audio per call15 seconds total across 3 clips
PixVerseA speaker id per generationBuilt-in, or custom from a supplied sample
Sora 2A label inside the promptRoutes a line to a face, not an identity
Wan 3.0Reference audio per call15 seconds in total, WAV or MP3
Luma RayNot documentedNo voice is described at all
sync-3Not documentedNothing published about a voice lasting
SynthesiaNot documentedA voice id exists; the pairing is unstated
VeoNot documentedNothing published about voices
ViduNot documentedNo statement about voice at all
Wan2.2-S2VNot documentedThe voice is whoever recorded the track

Inclusion rule. Every entry in the register. A model that documents no persistence mechanism is recorded as not documented rather than as lacking one. Order. Entries documenting a stored voice first, then per-call routes, then the rest alphabetically.

1Binding and re-supplying both produce consistency, and they fail differently

A bound voice is set once. It is wrong once if it is wrong at all, and it cannot drift because nothing is re-specified. A per-call reference is a step in every generation, and every repeated step is somewhere a long series can come apart: a clip forgotten, a different clip used, a slightly different take.

For forty episodes that difference compounds in one direction only. Neither vendor frames it as a consistency feature; the property falls out of how the API is shaped.

2Fifteen seconds, and no other figure in this column

Among the entries read first, one number: 15 seconds in total, across at most three clips. Every other cell in this column holds a mechanism with no limits attached, or holds nothing. A figure carries weight here because it shapes the work: a voice gets established from a very short sample, and no documented route exists for storing it.

A cap that small also constrains casting. Three clips of five seconds is not much material to characterise a voice from, and the documentation says nothing about what happens when the sample is unrepresentative.

3A library voice attached to the character answers both halves

One entry describes a preset library together with a matching step: a short pass picks a voice for each character, a sample can be played before choosing, and once attached the voice is used as reference audio on every shot that character speaks in. That settles where a voice comes from and how it stays, which this register otherwise keeps as two separate fields.

It is a hybrid of the two shapes above. The voice belongs to the character, so nothing has to be remembered between shots, and it reaches the model as reference audio on each call. The production chooses once and never handles the clip.

  • 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
  • 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 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
  • 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 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
  • Voice source
    A voice clone is instant from one recording or professional from twenty minutes or more, and is then passed as a voice idtwo enrolment routes with a thresholdHeyGen, API quick start / 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
  • Voice source
    Reference audio is WAV or MP3, one to fifteen seconds a clip, fifteen seconds in total and no more than 15 MBa published capAlibaba Cloud, Wan 3.0 API reference / recorded 2026-09-22

4Sources

Every line is read from the vendor documentation linked on the speech controls page, checked 2026-09-12. What counts as documented is on how read. Nearby: Lip-sync, Voice sources, Sound by default.