https://livekit.io logo
Join Slack
Powered by
# docs-feedback
  • c

    colossal-airport-32984

    11/04/2025, 3:12 PM
    > https://docs.livekit.io/agents/ops/deployment/#regions > Currently, LiveKit Cloud deploys all agents to
    us-east
    (N. Virginia). More regions are coming soon. > https://docs.livekit.io/home/cloud/region-pinning/ > Region pinning restricts network traffic to a specific geographical region. Use this feature to comply with local telephony regulations or data residency requirements. > Protocol-based region pinning the docs say > . When pinning is enabled, if the initial connection is routed to a server outside the allowed regions, the request is rejected. > If the server is deployed in
    us-east
    , and it is pinned to
    asia
    - I am unclear from the docs what is happening to the network traffic? It presumably would mean all traffic is rejected if I read this literally. Please could you help me understand how data would be resident in
    asia
    when the server is in
    us-east
    ? Does it mean that any data persisted at rest is held in asia and data in use and in transit is in
    us-east
    ?
    👀 1
    d
    g
    • 3
    • 5
  • f

    flaky-scooter-85113

    11/06/2025, 11:56 AM
    https://docs.livekit.io/agents/start/telephony/#voicemail-detection ^ TypeScript 'Voicemail Detector' sample - this actually errors in
    ctx.waitForPlayout()
    .
    👀 1
    d
    • 2
    • 1
  • t

    tall-lamp-50063

    11/09/2025, 2:19 PM
    The docs for
    LocalParticipant.streamText
    in client-sdk-js are ambiguous.
    sendText
    docs say to consider using
    streamText
    (link), but
    streamText
    has no public docs and says it might go away (link). So, what am I supposed to be using for long texts?
    👀 1
    d
    • 2
    • 3
  • b

    better-house-57730

    11/10/2025, 10:23 AM
    Hi folks, Been deep-diving into plugins for python and found that several Python plugin docs are published twice under different paths: •
    <https://docs.livekit.io/reference/python/livekit/plugins/>...
    •
    <https://docs.livekit.io/reference/python/v1/livekit/plugins/>...
    A concrete example is the ElevenLabs plugin: • Old: https://docs.livekit.io/reference/python/livekit/plugins/elevenlabs/ • v1: https://docs.livekit.io/reference/python/v1/livekit/plugins/elevenlabs/ The two pages don’t match exactly (constructor signatures / types / deprecation notes), and it’s not clear which one is canonical. The v1 docs seem to match the current Agents integration docs and package on PyPI. They typically are much more complete Opened a GH issue here: https://github.com/livekit/python-sdks/issues/528 Thanks a lot guys!
    👍 1
    👀 1
    d
    • 2
    • 1
  • c

    cuddly-leather-1503

    11/18/2025, 5:26 PM
    Hey folks, great work with LiveKit! I noticed a small documentation inconsistency on the Inbound calls with Twilio Voice page. In the step 4.1, it mentions replacing the phone number, but the JSON example below doesn’t include the number. This might cause confusion for someone setting up the trunk. I was planning to open a PR for this (since most of the project is open-source), but I couldn’t find the documentation repository - so I’m sharing it here instead!
    d
    • 2
    • 1
  • f

    flaky-scooter-85113

    11/20/2025, 9:44 AM
    Hi LiveKit guys! • Dunno if you're aware, but #C088ZNU7QQ5 has been dead since the Cloudflare incident on Tuesday morning! • Any chance you can get the DeepWikis updated? [ e.g. the Agents JS one is pretty old! ]
    r
    • 2
    • 2
  • s

    square-spoon-72769

    11/21/2025, 1:56 PM
    https://livekit-users.slack.com/archives/C07FY8WHGPM/p1763721077967519 as per @lively-winter-88668 suggestion
    👀 1
    d
    • 2
    • 1
  • a

    acoustic-lunch-30313

    11/21/2025, 8:03 PM
    Hi LiveKit Team, How to be HIPAA compliant is a bit ambiguous in the documentation. What is the difference between LiveKit inference and explicitly calling a third party service? Is one covered in the BAA with LiveKit while the other is not? I wrote a post here and was looking for some clarity.
    👀 1
    l
    • 2
    • 4
  • m

    most-hydrogen-37981

    11/24/2025, 2:19 PM
    Hi team! I would like to know if there is a public repo to create a PR for the doc? I would love to add OVHcloud AI Endpoints as a new supported inference provider, since the PRs for the JS and Python SDK have been merged. Thank you very much!
    👀 1
    d
    • 2
    • 3
  • s

    square-spoon-72769

    11/24/2025, 8:45 PM
    Hi team, I'm confused with https://github.com/livekit/agents/tree/main/examples and https://github.com/livekit-examples/python-agents-examples. What's the intended use for each of these two?
    👀 1
    r
    d
    • 3
    • 8
  • s

    square-spoon-72769

    11/25/2025, 6:53 PM
    https://livekit-users.slack.com/archives/C09GBJY83C7/p1764059672528569?thread_ts=1764017113.650979&amp;cid=C09GBJY83C7
  • b

    brave-island-45242

    11/26/2025, 4:16 PM
    Reposting here, as suggested in the original message thread. Hope I can get some eyes on this!
    👀 1
  • c

    careful-rose-16038

    11/27/2025, 11:55 AM
    👋 Hello, team! Hi LiveKit Team, I am working on an iOS app using the LiveKit Swift SDK (v2.10.1), and I want to implement a custom audio track that combines both: Microphone input (user voice) App audio (music, sound effects, etc.) I want to send this mixed audio as a single track to the LiveKit room so that remote participants receive both mic and app audio. I’ve looked at the AudioCustomProcessingDelegate and RoomOptions(audioProcessing:), but I am unclear on the best practice to: Capture the microphone using AVAudioEngine or LiveKit’s default audio Capture app audio (e.g., AVAudioPlayerNode output) Mix them correctly into one buffer Pass this mixed buffer to LiveKit for publishing Could you provide guidance, example code, or recommended approach for implementing mic + player audio mix in a custom audio track on iOS? Thank you for your support. Best regards, Sudhir
    👀 1
    d
    • 2
    • 1
  • c

    colossal-airport-32984

    12/10/2025, 10:24 PM
    https://docs.livekit.io/agents/observability/#retention-window I assume for this feature, the recording and log data residency in the USA right (I ask as it is not mentioned in this part of the docs page)? (Are there any plans to allow customers to e.g. provide an S3 bucket for storage so that they can avoid data residency in USA - we aim for data residence in Japan for example)
    👀 2
    d
    • 2
    • 2
  • l

    limited-xylophone-46794

    12/13/2025, 2:46 PM
    https://livekit-users.slack.com/archives/C07FRP66XGE/p1765637156712429?thread_ts=1765602885.523139&amp;cid=C07FRP66XGE
    d
    • 2
    • 1
  • a

    adamant-sandwich-74490

    12/23/2025, 2:41 PM
    🙂
  • p

    powerful-magician-63563

    12/26/2025, 12:28 PM
    This part of the realtime docs for gemini is a bit confusing. The model gemini-2.5-flash appears to not support bidigeneratcontent so the realtime model fails. but when i chage it to "gemini-2.5-flash-native-audio-preview-09-2025" - it works. Is that expected?
    d
    • 2
    • 1
  • v

    victorious-zebra-42910

    12/27/2025, 8:24 AM
    https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32016R0679
  • p

    powerful-magician-63563

    12/28/2025, 12:03 PM
    Hi - I've been back and forth with the docs (and lk assistant!) for gemini realtime plug-in. I really want a clean push-to-talk pipeline for gemini live api but it wasn't as straightforward as i expected. Here's my approach (in the thread) which is working ok. I was wondering if anyone could verify it's the right approach? [Gemini doesn't seem to have the same server-side buffer that openai has. openai push to talk was very simple].
    d
    • 2
    • 2
  • p

    powerful-magician-63563

    01/01/2026, 7:37 PM
    Hi LiveKit team, I found a working solution for push to talk on the openai realtime and wanted to share our findings in case it's helpful for documentation or API improvements. The Problem(s) 1. Using server_vad with create_response=False produced multiple interim transcripts during recording, even though we only wanted a single final transcript when the user released the PTT button. 2. turn_detection=None on RealtimeModel - Audio was streamed but never processed. OpenAI didn't know what the user said, responses were generic. 3. turn_detection="manual" on AgentSession alone - Without configuring the RealtimeModel, OpenAI's built-in VAD would auto-respond mid-speech. 4. Just commit_user_turn() without generate_reply() - With turn_detection=None, no response was generated at all. The agent stayed in "listening" state. The Solution: We had to bypass the AgentSession's commit_user_turn() and instead directly access the underlying OpenAI Realtime session to send native events: # Configuration session = AgentSession( llm=openai.realtime.RealtimeModel( turn_detection=None, # Disable OpenAI's VAD entirely ), turn_detection="manual", ) # On button release rt_session = session._activity.realtime_llm_session rt_session.commit_audio() # input_audio_buffer.commit rt_session.send_event({"type": "response.create"}) This mirrors how we handle PTT in our direct iOS/WebRTC OpenAI implementation and produces a single clean transcript. Feedback: 2. PTT helper method - Something like session.commit_and_respond() that wraps commit_audio() + response.create would simplify this common pattern. 3. Documentation - The PTT examples focus on STT/LLM/TTS pipelines. A Realtime API-specific example showing this direct commit approach would be valuable. 4. Clarify turn_detection=None behavior - It wasn't obvious that this disables transcription processing entirely, not just auto-response. I'd love to talk if you think there's a better solution or if you want to understand my use case better Thanks for the help!
    d
    • 2
    • 1
  • b

    bumpy-kilobyte-64971

    02/16/2026, 9:38 AM
    I still can't see it on my livekit docs page
    r
    c
    • 3
    • 7
  • p

    plain-airline-85440

    02/17/2026, 4:26 PM
    I've been really impressed with the LiveKit MCP server. I had a stubborn LiveKit connection bug that my agents and I were spinning on for a while. After chewing through a lot of tokens, I started a fresh Codex session with the LiveKit MCP server enabled and, within minutes, the agent zeroed in on the root cause and the fix. (I use Claude too, but this particular run was with Codex.) That success immediately raised a practical question: Should I leave the LiveKit MCP server enabled all the time? The naive answer is "sure, why not?" But there's a hidden cost: tool definitions take up context, and in many agentic setups those tool definitions are effectively included on every model inference call. If that's true for your environment, the overhead is paid even when the agent never calls a LiveKit tool. This isn't unique to LiveKit — it applies to any MCP server with a sizable tool catalog. LiveKit just happens to be the one I measured. My rough token overhead estimate To get a back-of-the-napkin number, I wrote a script to pull the MCP tool metadata (schemas + descriptions) from the LiveKit docs MCP endpoint (
    <https://docs.livekit.io/mcp>
    ) and used that as a proxy for what gets injected into the model context when the MCP server is "loaded." Based on the size/structure of that tool catalog, I estimate the LiveKit docs MCP server adds on the order of ~3k input tokens per model inference call (ballpark range: ~2.8k–3.5k), even if none of the tools are ever used. A caveat on the estimate: the actual token count depends on how your agent framework serializes tool definitions (JSON schema, markdown, etc.), so your mileage may vary depending on the framework. Now, that doesn't sound awful… until you multiply it by how many inference calls a typical coding session makes. What does that mean over a whole session? As a concrete example: if an agentic coding session triggers ~180 model inference calls (very plausible if it iterates, runs commands, reads outputs, revises, etc.), then the unused overhead would be: • ~3,100 tokens/call × 180 calls ≈ 558,000 extra input tokens • …just to carry tool definitions that never get invoked. To be clear: that 558k number is not universal. It's an example that depends entirely on (a) whether your agent resends tools each inference call, and (b) how many inference calls your session typically makes. Cost Estimates Metric Per Inference Call Full Session (180 calls) LiveKit MCP Overhead ~3,100 tokens ~558,000 tokens Estimated Cost (GPT-4o) ~$0.007 ~$1.39 Estimated Cost (Claude Sonnet 4) ~$0.009 ~$1.67 (Costs are rough estimates based on published input token pricing. Verify against current rates for whatever model you're using.) My rule of thumb now I start sessions with zero MCP servers enabled and add them only when I know I'm going to use them. In practice that means: edit the MCP config, reload, and continue the session once the tools are actually relevant. Notes / caveats These are rough estimates and will vary by model, tool encoding, and agent implementation. • If your environment supports prompt caching (like Claude's ephemeral caching), this "tax" is mostly a latency/first-call hit. But for standard API usage, it's a pure recurring cost. • If anyone has hard numbers from logs or a token counter for their setup, I'd love to compare notes. Bottom line: the LiveKit MCP server is genuinely useful, but I'd treat it like a power tool — keep it nearby, not running continuously.
    d
    • 2
    • 1
  • d

    dry-musician-70452

    02/19/2026, 9:32 PM
    hi! interesting--would love to hear more about your use case. for tips/similar implementations, you'll likely have more luck posting in a wider channel 🫡
  • l

    lively-winter-88668

    02/23/2026, 2:00 PM
    👇 New way to provide docs feedback 👇 As you may have seen, we are currently in the process of moving our community technical support out of Slack and onto our new forum at community.livekit.io. The Slack community is not going away - full details in the announcement. What does this mean for the #C09GBJY83C7 channel? We have decided to consolidate our docs feedback on the new forum, using the "docs-feedback" tag and this Slack channel will be sunset on 27th February 2026. Please follow the instructions here to provide docs feedback moving forward.
  • m

    melodic-smartphone-21257

    02/24/2026, 9:30 PM
    Hi there, I have a question that I posted here: https://community.livekit.io/t/can-i-access-6-months-of-session-data-via-the-analytics-api/207/3?u=angel_alvarado_robledo How do I got about getting attention to it?
    👀 1
  • a

    astonishing-action-92265

    02/26/2026, 12:37 PM
    will elevanlabs v3 will support?
  • l

    lively-winter-88668

    02/26/2026, 4:46 PM
    alert New way to provide docs feedback alert As you may have seen, we are currently in the process of moving our community technical support out of Slack and onto our new forum at community.livekit.io. The Slack community is not going away - full details in the announcement. What does this mean for the #C09GBJY83C7 channel? We have decided to consolidate our docs feedback on the new forum, using the "docs-feedback" tag and this Slack channel will be sunset on 27th February 2026. Please follow the instructions here to provide docs feedback moving forward. (edited)
  • h

    handsome-army-91456

    04/23/2026, 3:12 PM
    hello. I need to deploy the agent in EU - where can I select region?
    r
    • 2
    • 1
  • p

    plain-airline-85440

    05/05/2026, 2:34 PM
    Hello LiveKit Docs folks, I wonder if someone could weigh in on this docs related question I asked over in the #C088ZNU7QQ5 channel? https://livekit-users.slack.com/archives/C088ZNU7QQ5/p1777991051209469 My question is whether the ask-ai channel has any advantages over using the LiveKit Docs MCP server in an agentic coding session.
    r
    • 2
    • 1
  • l

    lively-winter-88668

    05/27/2026, 8:50 AM
    archived the channel