Repository navigation
Conversation
Add a task-first guide for real-time call translation across SWML, Relay, and REST, and fix the action shape on the Server SDK live_translate reference pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
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.
Closes #769
Summary
/docs/platform/voice/translate-calls). A task-first capability guide covering SWML, Relay, and REST, modeled on the recent voice guides (call streaming, record calls) and structured to match the Transcribe calls guide in Add Transcribe Calls guide #829.remote-callervslocal-caller, and a table of which party speaks and hears which language.live_translatewith a webhook andlive_events, connects the caller, and prints each translated utterance.channel_data.content_disposition), options (voices, tone filters, speech detection), AI summaries (at session end and on demand), and stopping translation.live_translatereference pages.{"action": "start", "source_language": …}, which the platform rejects. They now document{"start": {from_lang, to_lang, direction, …}},{"summarize": {…}},{"inject": {…}}, and stop.statusUrlin the options object.{ action: { start: … } }, matching the pinned@signalwire/sdk@2.0.5.live_translatereference, and thellms.txtbullet now points to the guide instead of the SDK reference.Notes for reviewers
/docs/platform/voice/transcribe-calls. Merge Add Transcribe Calls guide #829 first. Both PRs add a card to the voice overview, so expect a small conflict there.directiondecides it: the first-listed side is recognized into_langand spoken to the other party infrom_lang. This is not intuitive, and the language table, the troubleshooting bullet, and the SDK reference wording depend on it. The guide's config (from_lang: es-ES,to_lang: en-US,direction: [local-caller, remote-caller]) should give a Spanish-speaking caller and an English-speaking callee.connectcarries over to the connected party. The SWML and Relay first runs rely on this.primary_*fields carry thefrom_langconversation.5xx) follows the same webhook mechanism Add Transcribe Calls guide #829 verified for transcription.injectis left out of the guide. The SDK reference pages listinject.messageandinject.directionas required but make no claim about whatdirectionmeans, because its meaning is unclear.from_voice/to_voicedefault: the reference sayselevenlabs.josh; the platform default is an Azure multilingual voice.vad_silence_msDeepgram default: documented as 300; it is 700.live_eventssends final translated utterances, not partial results.inject.directionis shown with a default oflocal-caller; it is required with no default.Polly.Joanna. Voice prefixes are case-sensitive, so this falls back to the default voice; lowercasepolly.works.debug_levelis documented but has no customer-visible effect.ai_summary.status_urlon the REST and Relay command has no observed effect for translation. Events go tostart.webhook.liveTranslatenamessource_lang/target_lang, which don't exist.live_translatetakes a positionalconfig, but the runtime method is keyword-only (live_translate(action=…)).liveTranslate("stop")fails strict typing. The guide uses{ stop: {} }, which the platform also accepts.{}on an error response instead of throwing.Verification
bash -nis clean. Python passespy_compileandpyflakes. TypeScript passestsc --strictagainst@signalwire/sdk@2.0.5.slug:, and every#anchorby hand.yarn fern-md-check: all 2831 MDX files valid. No yml changed, sofern-checkwas not needed.Preview
/docs/platform/voice/translate-calls/docs/platform/voice/docs/swml/reference/calling/live-translate/docs/server-sdks/reference/python/relay/call/live-translate/docs/server-sdks/reference/typescript/relay/call/live-translate/docs/server-sdks/reference/python/rest/calling/live-translate/docs/server-sdks/reference/typescript/rest/calling/live-translate🤖 Generated with Claude Code