Feature request: deterministic verbatim utterance mode for fixed announcements

Author: JPMulderCreated Aug 22, 2026Updated Aug 22, 2026

PersonaPlex is excellent at open conversation, but there's no way to make it say one exact sentence. For telephony deployments this turns out to be a hard blocker, because some lines are legally required to be word-for-word: call-recording notices, consent disclaimers, emergency redirections. A paraphrase is not acceptable for those.

I tried to work around it by prompting and wanted to share the results, since they may be useful.

Approach: set text_prompt to an instruction naming an exact target sentence, then capture the opening line of a fresh session, feeding continuous silent PCM frames to drive generation.

Target: Thank you for calling . All our lines are currently busy.

Strategies tried, two runs each, on an A100 80GB:

  1. Direct instruction: "the ONLY thing you say must be exactly this sentence, word for word"
  2. Situational framing: "You are the recorded overflow announcement. You are not a conversation."
  3. Situational framing at text_temperature=0.1, audio_temperature=0.3
  4. Full persona prompt plus the situation appended
  5. Dialogue framing: a transcript showing the model previously answering with that exact line
  6. Identity framing: "the only sentence you have ever spoken is..." Result: 0 of 12 runs produced the target. Every run returned a generic greeting, for example Hello, thank you for calling . How can I assist you today?. The closest was Hello, thank you for calling . Thank you for waiting., which picked up on waiting but never stated why.

Two observations that might help narrow this down:

Substitution works, instruction does not. A business name placed in the prompt is reproduced reliably (11 of 12 runs). Without a name the model invents one ("XYZ Company", "the account hold line"). So prompt content does reach the output, but only as a slot filled inside the model's own greeting template. Temperature is not the cause. text_temperature 0.1 behaved the same as 0.5, so this looks like a strong prior rather than sampling variance. What would solve it, roughly in order of preference:

  1. A parameter such as say_verbatim="" that forces the first utterance and then either stops or hands over to normal conversation.
  2. A one-shot TTS endpoint that renders arbitrary text using the same voice prompt, so a fixed announcement and the live agent are audibly the same speaker.
  3. Documented guidance on whether verbatim output is achievable at all, so implementers stop trying. Even a clear "not supported, use a separate TTS" would save people time. Point 2 matters most in practice: mixing a separate TTS engine for announcements means the caller hears one voice for the recorded lines and a different one for the conversation.

Happy to share exact prompts and audio if useful.