gifted-oil-56906
12/16/2025, 10:46 AMtall-airline-16756
12/16/2025, 10:46 AMtall-airline-16756
12/16/2025, 10:47 AMgifted-oil-56906
12/16/2025, 10:48 AMtall-airline-16756
12/16/2025, 10:48 AMvoice_id from your Supabase agents table and use them with Inworld TTS in LiveKit.
How to do it (high-level):
1. Query Supabase for the agent row(s) and read the voice_id.
2. When creating the agent/session, pass the voice into the Inworld TTS config, e.g. tts=inworld.TTS(model="inworld-tts-1-max", voice="Ashley") (replace "Ashley" with the voice_id you fetched).
3. To change voice at runtime, call the session/plugin update method, e.g. session.tts.update_options(voice="Diego") after fetching a different voice_id from Supabase.
You can also override each Agent’s tts field when constructing agents so each agent uses its own voice_id from the database.
If you’d like, tell me:
• which SDK/language you’re using (Python, Node, etc.),
• an example row from your agents table (fields you store), and
• whether you need voice changes at session start or mid-session —
and I’ll give a concrete code example.
Sources: Inworld TTS plugin guide | LiveKit Docs | Hume TTS plugin guide | LiveKit Docs | Agents and handoffs | LiveKit docsgifted-oil-56906
12/16/2025, 12:52 PMtall-airline-16756
12/16/2025, 12:52 PMgifted-oil-56906
12/16/2025, 12:57 PMtall-airline-16756
12/16/2025, 12:57 PMvoice_id
• creating an AgentSession with Inworld TTS using that voice_id
• updating the TTS voice at runtime with session.tts.update_options(...)
Before I generate the code, quick clarification so the example matches your setup:
1. Do you use the Supabase Python client or REST?
2. Are you running agents server-side only (no browser SDK) and which LiveKit/Agents Python package name/version should I target?
3. Do you want the repo to include: a) just backend code, or b) a small demo script that simulates voice changes over time?
Answer those and I’ll produce a GitHub-ready Python repo layout and the code files.gifted-oil-56906
12/16/2025, 12:58 PMtall-airline-16756
12/16/2025, 12:59 PMapplication table by ID, reads agent context/parameters (including voice_id), and uses those values to initialize and update Inworld TTS in a LiveKit AgentSession.
Two quick clarifying questions so the example matches your setup:
1. Do you use the Supabase Python client library (supabase-py) or prefer calling Supabase via REST?
2. Should the example demonstrate:
◦ A) initializing the agent/session with the voice_id at start only, or
◦ B) initializing and then updating the voice at runtime (e.g., polling or on-demand update)?
Answer those and I’ll produce a GitHub-ready Python repo layout with code, dependencies, and a README.gifted-oil-56906
12/19/2025, 10:19 AMtall-airline-16756
12/19/2025, 10:19 AMapplication table by ID and uses those fields (including voice_id) to configure Inworld TTS.
Two final clarifications so I generate the correct code:
1. Do you want the example to use the Supabase Python client (supabase-py) or plain REST requests?
2. Should the example:
◦ A) only set the voice_id at session start, or
◦ B) set at start and also demonstrate updating the voice at runtime (e.g., on-demand or via polling)?
Answer those and I’ll produce a GitHub-ready repo layout, code files, requirements, and a README.