You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(voice): auto-created ElevenLabs agents get the 10-minute default; the fix is manual and silently reverts #229
hub/src/web/routes/voice.ts finds-or-creates a "Hapi Voice Assistant" ConvAI agent per voice (getOrCreateAgent → createAgent). The creation payload sets conversation_config.tts.voice_id and never sets conversation_config.conversation.max_duration_seconds.
ElevenLabs therefore applies its own default: 600 seconds, ten minutes.
Why it matters
The operator hit the ten-minute cut-off, and it was fixed by raising max_duration_seconds to 1800 on each existing agent through the API. That fix is per-agent and manual, so:
Every new voice used from HAPI silently creates an agent back at ten minutes.
Anyone deleting and letting an agent be recreated silently reverts the fix.
There is no sign of it anywhere until a conversation is cut off mid-sentence.
The account currently holds five agents, four of them auto-created and distinguishable only by a voice id in the name. Four are now at 30 minutes; one sits at 60.
Ask
Set a sane max_duration_seconds in the creation payload so a new voice does not regress to ten minutes, and make it configurable rather than hardcoded — the right value is an operator preference, and the cap is also the runaway-cost guard, since ConvAI bills by the minute.
Worth considering at the same time: the auto-created agents are all named "Hapi Voice Assistant [voice:]", which is unreadable in the ElevenLabs UI and makes it easy to change the wrong one by hand.
Operator direction: this should be a HAPI config item, not a hardcoded constant.
Shape: an ElevenLabs session max-duration setting in HAPI's own config, applied in the createAgent payload so every auto-created agent gets it, with a sane default rather than inheriting ElevenLabs' 600s. Changing it in HAPI should be the way you change it, rather than editing agents by hand in the ElevenLabs UI and watching the change revert the next time a new voice is used.
Two things worth getting right:
The cap is also the runaway-cost guard — ConvAI bills per minute — so the default should be deliberate rather than maximal, and the setting should be visible enough that raising it is a conscious act.
Existing agents should be reconciled to the configured value, not just newly created ones. Four agents on the account are currently at 1800s and one at 3600s, all set by hand; without reconciliation the config and reality drift immediately.
Operator has flagged this as lane B eligible for the upstream merge.
Activity
heavygee commentedon Oct 8, 2026
Operator direction: this should be a HAPI config item, not a hardcoded constant.
Shape: an ElevenLabs session max-duration setting in HAPI's own config, applied in the
createAgentpayload so every auto-created agent gets it, with a sane default rather than inheriting ElevenLabs' 600s. Changing it in HAPI should be the way you change it, rather than editing agents by hand in the ElevenLabs UI and watching the change revert the next time a new voice is used.Two things worth getting right:
Operator has flagged this as lane B eligible for the upstream merge.