docs(meta): add Muse Voice realtime setup - #1138
Merged
ryan-crabbe-berri merged 5 commits intoSep 13, 2026
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Author
|
Companion code PR: BerriAI/litellm#39395 |
6 tasks
Contributor
Author
|
@mateo-berri Could you review this companion docs PR? Its MODEL_API_KEY documentation unblocks code-quality and documentation checks on BerriAI/litellm#39395. |
Drop the MODEL_API_KEY story; the code reads only META_API_KEY or the api_key in litellm_params. Replace the short Muse Voice blurb with the proxy config, the intent=transcription connection URL, the GA session.update shape and its accepted rates, channels and languages, the push to talk versus server VAD mode table, the append limits and dropped client events, the emitted event table with item_id and usage.seconds, per second pricing, the api_base override rule, the guardrail behaviour and push to talk caveat, and a runnable Python websockets client verified against a live proxy. List Meta Muse Voice under Supported Providers on the realtime page.
Contributor
|
Pushed a refactor matching the code at 0e435e4148: dropped MODEL_API_KEY and documented session shapes, modes, events, pricing and guardrails. |
Say api_key falls back to META_API_KEY, that model is required in the URL, and that session.created follows the upstream connect. Describe the intent=transcription model rewrite, the untyped turn_detection object, the 1006 close on an invalid session.update or protocol violation, the normalized session.updated shape, the optional usage on completed events and what usage.seconds measures, the upstream close error message, the relayed 1000 close reason, what the logs and spend log hold, the guardrail ordering, the per-connection guardrails query parameter, and the pre-setup audio buffering. Make the example client tolerate a completed event without usage.
Turn the session.update rules paragraph into a field table, split the remaining long paragraphs into two or three sentence blocks and drop repeated phrasing. No behavioural claim changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documents Meta Muse Voice realtime transcription as shipped in BerriAI/litellm#39395.
docs/providers/meta.mdnow drops theMODEL_API_KEYstory (the code reads onlyMETA_API_KEY, orapi_keyinlitellm_params) and replaces the short Muse Voice blurb with a full section: proxy config, the/v1/realtime?intent=transcriptionconnection URL, the GAsession.updateshape with the acceptedaudio/pcmrates and channel count,languagehandling and the supported language list, the push to talk versus server VAD mode table (turn_detection: nullplusinput_audio_buffer.commit, orserver_vadplusinput_audio_buffer.end), theinput_audio_buffer.appendlimits and which client events are dropped, the emitted event table withitem_idandusage.seconds, per second pricing and trailing duration billing on close, theapi_baseoverride rule, guardrail behaviour with the push to talk caveat, and a runnable Pythonwebsocketsclient.docs/realtime.mdlists Meta Muse Voice under Supported Providers.The
session.updaterules are a field table and the longer paragraphs are split into short blocks, so the section reads as reference material rather than prose.Validation
node scripts/check-writing-style.js docs blog release_notespasses.python3 scripts/check-docs.py docs(from main, the branch predates the script) reports no findings fordocs/providers/meta.mdordocs/realtime.md.npm run buildsucceeds and the built page renders the#muse-voice-realtime-transcriptionanchor thatdocs/realtime.mdlinks to.The Python example was run unchanged (apart from port and WAV path) against a local proxy on the PR branch with a real Meta API key; it printed the exact output shown in the page and the proxy logged
response_cost: 6.8e-05for the 1.36 s clip.Every behavioural claim on the page was then checked line by line against the implementation (close codes, when
usageis present oncompleted, theintent=transcriptionmodel rewrite, what the logs and spend log contain) and corrected where the first draft overstated it.LiteLLM
tests/documentation_tests/test_env_keys.pystill findsMETA_API_KEYin the docs.