[{"data":1,"prerenderedAt":952},["ShallowReactive",2],{"navigation":3,"\u002Fapi-reference\u002Fclient-messages":220,"\u002Fapi-reference\u002Fclient-messages-surround":947},[4,28,64,92,124,152,192],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Start","\u002Fstart","1.start\u002F1.index",[9,11,15,19,23],{"title":10,"path":6,"stem":7},"Overview",{"title":12,"path":13,"stem":14},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F2.quickstart",{"title":16,"path":17,"stem":18},"Authentication","\u002Fstart\u002Fauthentication","1.start\u002F3.authentication",{"title":20,"path":21,"stem":22},"SDKs","\u002Fstart\u002Fsdks","1.start\u002F4.sdks",{"title":24,"path":25,"stem":26},"Choose an API","\u002Fstart\u002Fchoose-an-api","1.start\u002F5.choose-an-api","i-lucide-rocket",{"title":29,"path":30,"stem":31,"children":32,"icon":63},"Realtime","\u002Frealtime","2.realtime\u002F1.index",[33,35,39,43,47,51,55,59],{"title":34,"path":30,"stem":31},"Realtime Overview",{"title":36,"path":37,"stem":38},"Realtime Quickstart","\u002Frealtime\u002Fquickstart","2.realtime\u002F2.quickstart",{"title":40,"path":41,"stem":42},"Connection Lifecycle","\u002Frealtime\u002Fconnection-lifecycle","2.realtime\u002F3.connection-lifecycle",{"title":44,"path":45,"stem":46},"Audio Input","\u002Frealtime\u002Faudio-input","2.realtime\u002F4.audio-input",{"title":48,"path":49,"stem":50},"Transcript Lifecycle","\u002Frealtime\u002Ftranscript-lifecycle","2.realtime\u002F5.transcript-lifecycle",{"title":52,"path":53,"stem":54},"Realtime Translation","\u002Frealtime\u002Frealtime-translation","2.realtime\u002F6.realtime-translation",{"title":56,"path":57,"stem":58},"Session Configuration","\u002Frealtime\u002Fsession-configuration","2.realtime\u002F7.session-configuration",{"title":60,"path":61,"stem":62},"Handling Interruptions & Silence","\u002Frealtime\u002Finterruptions-silence","2.realtime\u002F8.interruptions-silence","i-lucide-radio",{"title":65,"path":66,"stem":67,"children":68,"icon":91},"Recorded","\u002Frecorded","3.recorded\u002F1.index",[69,71,75,79,83,87],{"title":70,"path":66,"stem":67},"Recorded Overview",{"title":72,"path":73,"stem":74},"Transcribe Audio","\u002Frecorded\u002Ftranscribe-audio","3.recorded\u002F2.transcribe-audio",{"title":76,"path":77,"stem":78},"Timestamps & Speakers","\u002Frecorded\u002Ftimestamps-speakers","3.recorded\u002F3.timestamps-speakers",{"title":80,"path":81,"stem":82},"Subtitles","\u002Frecorded\u002Fsubtitles","3.recorded\u002F4.subtitles",{"title":84,"path":85,"stem":86},"Recorded Translation","\u002Frecorded\u002Ftranslation","3.recorded\u002F5.translation",{"title":88,"path":89,"stem":90},"Structured Results","\u002Frecorded\u002Fstructured-results","3.recorded\u002F6.structured-results","i-lucide-file-audio",{"title":93,"path":94,"stem":95,"children":96,"icon":123},"Concepts","\u002Fconcepts","4.concepts\u002F1.index",[97,99,103,107,111,115,119],{"title":98,"path":94,"stem":95},"Voice Context Layer",{"title":100,"path":101,"stem":102},"Stable vs. Partial Text","\u002Fconcepts\u002Fstable-vs-partial-text","4.concepts\u002F2.stable-vs-partial-text",{"title":104,"path":105,"stem":106},"StableStream","\u002Fconcepts\u002Fstablestream","4.concepts\u002F3.stablestream",{"title":108,"path":109,"stem":110},"Context-Aware Processing","\u002Fconcepts\u002Fcontext-aware-processing","4.concepts\u002F4.context-aware-processing",{"title":112,"path":113,"stem":114},"Understanding Latency","\u002Fconcepts\u002Flatency","4.concepts\u002F5.latency",{"title":116,"path":117,"stem":118},"Live Translation","\u002Fconcepts\u002Flive-translation","4.concepts\u002F6.live-translation",{"title":120,"path":121,"stem":122},"Trinity Engine","\u002Fconcepts\u002Ftrinity-engine","4.concepts\u002F7.trinity-engine","i-lucide-brain",{"title":125,"path":126,"stem":127,"children":128,"icon":151},"Guides","\u002Fguides","5.guides\u002F1.index",[129,131,135,139,143,147],{"title":130,"path":126,"stem":127},"Browser Live Captions",{"title":132,"path":133,"stem":134},"Server-side Streaming","\u002Fguides\u002Fserver-side-streaming","5.guides\u002F2.server-side-streaming",{"title":136,"path":137,"stem":138},"Build a Stable Caption UI","\u002Fguides\u002Fstable-caption-ui","5.guides\u002F3.stable-caption-ui",{"title":140,"path":141,"stem":142},"Build Live Translation","\u002Fguides\u002Flive-translation","5.guides\u002F4.live-translation",{"title":144,"path":145,"stem":146},"Save a Transcript","\u002Fguides\u002Fsave-transcript","5.guides\u002F5.save-transcript",{"title":148,"path":149,"stem":150},"Reconnect a Live Session","\u002Fguides\u002Freconnection","5.guides\u002F6.reconnection","i-lucide-book-open",{"title":153,"path":154,"stem":155,"children":156,"icon":191},"Reference","\u002Fapi-reference","6.api-reference\u002F1.index",[157,159,163,167,171,175,179,183,187],{"title":158,"path":154,"stem":155},"API Reference Overview",{"title":160,"path":161,"stem":162},"Realtime API","\u002Fapi-reference\u002Frealtime-api","6.api-reference\u002F2.realtime-api",{"title":164,"path":165,"stem":166},"Client Messages","\u002Fapi-reference\u002Fclient-messages","6.api-reference\u002F3.client-messages",{"title":168,"path":169,"stem":170},"Server Events","\u002Fapi-reference\u002Fserver-events","6.api-reference\u002F4.server-events",{"title":172,"path":173,"stem":174},"Transcription API","\u002Fapi-reference\u002Ftranscription","6.api-reference\u002F5.transcription",{"title":176,"path":177,"stem":178},"Languages & Models","\u002Fapi-reference\u002Flanguages","6.api-reference\u002F6.languages",{"title":180,"path":181,"stem":182},"Errors","\u002Fapi-reference\u002Ferrors","6.api-reference\u002F7.errors",{"title":184,"path":185,"stem":186},"Rate Limits","\u002Fapi-reference\u002Frate-limits","6.api-reference\u002F8.rate-limits",{"title":188,"path":189,"stem":190},"Admin API","\u002Fapi-reference\u002Fadmin","6.api-reference\u002F9.admin","i-lucide-code",{"title":193,"path":194,"stem":195,"children":196,"icon":219},"Production","\u002Fproduction","7.production\u002F1.index",[197,199,203,207,211,215],{"title":198,"path":194,"stem":195},"Production Checklist",{"title":200,"path":201,"stem":202},"Reconnection & Retries","\u002Fproduction\u002Freconnection-retries","7.production\u002F2.reconnection-retries",{"title":204,"path":205,"stem":206},"Latency Best Practices","\u002Fproduction\u002Flatency-best-practices","7.production\u002F3.latency-best-practices",{"title":208,"path":209,"stem":210},"Security & Privacy","\u002Fproduction\u002Fsecurity-privacy","7.production\u002F4.security-privacy",{"title":212,"path":213,"stem":214},"Data Retention","\u002Fproduction\u002Fdata-retention","7.production\u002F5.data-retention",{"title":216,"path":217,"stem":218},"Changelog","\u002Fproduction\u002Fchangelog","7.production\u002F6.changelog","i-lucide-server",{"id":221,"title":164,"body":222,"description":940,"extension":941,"links":942,"meta":943,"navigation":944,"path":165,"seo":945,"status":942,"stem":166,"__hash__":946},"docs\u002F6.api-reference\u002F3.client-messages.md",{"type":223,"value":224,"toc":929},"minimark",[225,229,233,322,325,328,398,449,454,467,471,481,486,505,508,511,538,544,547,550,620,625,861,879,882,903,907,925],[226,227,228],"p",{},"Messages the client sends over the WebSocket connection.",[230,231,10],"h2",{"id":232},"overview",[234,235,236,252],"table",{},[237,238,239],"thead",{},[240,241,242,246,249],"tr",{},[243,244,245],"th",{},"type",[243,247,248],{},"Transport",[243,250,251],{},"Purpose",[253,254,255,270,284,296,310],"tbody",{},[240,256,257,264,267],{},[258,259,260],"td",{},[261,262,263],"code",{},"input_audio_buffer.append",[258,265,266],{},"Text frame (JSON)",[258,268,269],{},"Send base64-encoded PCM audio",[240,271,272,278,281],{},[258,273,274],{},[275,276,277],"em",{},"(binary frame)",[258,279,280],{},"Binary frame",[258,282,283],{},"Send raw PCM audio data",[240,285,286,291,293],{},[258,287,288],{},[261,289,290],{},"input_audio_buffer.flush",[258,292,266],{},[258,294,295],{},"Trigger manual flush",[240,297,298,303,305],{},[258,299,300],{},[261,301,302],{},"flush",[258,304,266],{},[258,306,307,308],{},"Alias for ",[261,309,290],{},[240,311,312,317,319],{},[258,313,314],{},[261,315,316],{},"session.update",[258,318,266],{},[258,320,321],{},"Update session parameters",[230,323,263],{"id":324},"input_audio_bufferappend",[226,326,327],{},"Send base64-encoded PCM16LE audio data.",[329,330,335],"pre",{"className":331,"code":332,"language":333,"meta":334,"style":334},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"input_audio_buffer.append\",\n  \"audio\": \"\u003CPCM16LE base64>\"\n}\n","json","",[261,336,337,346,372,392],{"__ignoreMap":334},[338,339,342],"span",{"class":340,"line":341},"line",1,[338,343,345],{"class":344},"sMK4o","{\n",[338,347,349,352,355,358,361,364,367,369],{"class":340,"line":348},2,[338,350,351],{"class":344},"  \"",[338,353,245],{"class":354},"spNyl",[338,356,357],{"class":344},"\"",[338,359,360],{"class":344},":",[338,362,363],{"class":344}," \"",[338,365,263],{"class":366},"sfazB",[338,368,357],{"class":344},[338,370,371],{"class":344},",\n",[338,373,375,377,380,382,384,386,389],{"class":340,"line":374},3,[338,376,351],{"class":344},[338,378,379],{"class":354},"audio",[338,381,357],{"class":344},[338,383,360],{"class":344},[338,385,363],{"class":344},[338,387,388],{"class":366},"\u003CPCM16LE base64>",[338,390,391],{"class":344},"\"\n",[338,393,395],{"class":340,"line":394},4,[338,396,397],{"class":344},"}\n",[234,399,400,416],{},[237,401,402],{},[240,403,404,407,410,413],{},[243,405,406],{},"Field",[243,408,409],{},"Type",[243,411,412],{},"Required",[243,414,415],{},"Description",[253,417,418,436],{},[240,419,420,424,427,430],{},[258,421,422],{},[261,423,245],{},[258,425,426],{},"string",[258,428,429],{},"yes",[258,431,432,433],{},"Must be ",[261,434,435],{},"\"input_audio_buffer.append\"",[240,437,438,442,444,446],{},[258,439,440],{},[261,441,379],{},[258,443,426],{},[258,445,429],{},[258,447,448],{},"Base64-encoded PCM16LE audio data",[226,450,451,360],{},[452,453,180],"strong",{},[455,456,457],"ul",{},[458,459,460,463,464,466],"li",{},[261,461,462],{},"invalid_audio",": ",[261,465,379],{}," is empty or not valid base64",[230,468,470],{"id":469},"binary-audio-frames","Binary audio frames",[226,472,473,474,477,478,480],{},"Send raw PCM binary data directly as an ",[261,475,476],{},"ArrayBuffer",". Same effect as ",[261,479,263],{}," but without base64 encoding overhead.",[226,482,483,360],{},[452,484,485],{},"Limits",[455,487,488,495,502],{},[458,489,490,491,494],{},"Max frame size: 1 MiB (1,048,576 bytes). Exceeding this returns ",[261,492,493],{},"audio_frame_too_large"," and closes the connection (1009).",[458,496,497,498,501],{},"Frames are dropped when concurrent utterance limit is exceeded (",[261,499,500],{},"concurrent_utterance_limit",")",[458,503,504],{},"Frames are dropped or connection closed (1013) on upstream backpressure",[230,506,290],{"id":507},"input_audio_bufferflush",[226,509,510],{},"Trigger a manual flush of the upstream buffer, ending the current speech segment.",[329,512,514],{"className":331,"code":513,"language":333,"meta":334,"style":334},"{ \"type\": \"input_audio_buffer.flush\" }\n",[261,515,516],{"__ignoreMap":334},[338,517,518,521,523,525,527,529,531,533,535],{"class":340,"line":341},[338,519,520],{"class":344},"{",[338,522,363],{"class":344},[338,524,245],{"class":354},[338,526,357],{"class":344},[338,528,360],{"class":344},[338,530,363],{"class":344},[338,532,290],{"class":366},[338,534,357],{"class":344},[338,536,537],{"class":344}," }\n",[226,539,540,543],{},[261,541,542],{},"\"flush\""," is an alias with the same effect.",[230,545,316],{"id":546},"sessionupdate",[226,548,549],{},"Update session parameters. Can be sent at any time after connection.",[329,551,553],{"className":331,"code":552,"language":333,"meta":334,"style":334},"{\n  \"type\": \"session.update\",\n  \"language\": \"zh\",\n  \"prompt\": \"Optional context hint\"\n}\n",[261,554,555,559,577,597,615],{"__ignoreMap":334},[338,556,557],{"class":340,"line":341},[338,558,345],{"class":344},[338,560,561,563,565,567,569,571,573,575],{"class":340,"line":348},[338,562,351],{"class":344},[338,564,245],{"class":354},[338,566,357],{"class":344},[338,568,360],{"class":344},[338,570,363],{"class":344},[338,572,316],{"class":366},[338,574,357],{"class":344},[338,576,371],{"class":344},[338,578,579,581,584,586,588,590,593,595],{"class":340,"line":374},[338,580,351],{"class":344},[338,582,583],{"class":354},"language",[338,585,357],{"class":344},[338,587,360],{"class":344},[338,589,363],{"class":344},[338,591,592],{"class":366},"zh",[338,594,357],{"class":344},[338,596,371],{"class":344},[338,598,599,601,604,606,608,610,613],{"class":340,"line":394},[338,600,351],{"class":344},[338,602,603],{"class":354},"prompt",[338,605,357],{"class":344},[338,607,360],{"class":344},[338,609,363],{"class":344},[338,611,612],{"class":366},"Optional context hint",[338,614,391],{"class":344},[338,616,618],{"class":340,"line":617},5,[338,619,397],{"class":344},[621,622,624],"h3",{"id":623},"supported-fields","Supported fields",[234,626,627,640],{},[237,628,629],{},[240,630,631,633,636,638],{},[243,632,406],{},[243,634,635],{},"Snake-case alias",[243,637,409],{},[243,639,415],{},[253,641,642,665,678,692,709,726,741,759,776,793,810,827,844],{},[240,643,644,648,651,653],{},[258,645,646],{},[261,647,583],{},[258,649,650],{},"—",[258,652,426],{},[258,654,655,656,658,659,658,662,501],{},"Audio language (e.g. ",[261,657,592],{},", ",[261,660,661],{},"en",[261,663,664],{},"auto",[240,666,667,671,673,675],{},[258,668,669],{},[261,670,603],{},[258,672,650],{},[258,674,426],{},[258,676,677],{},"Context hint, max 2000 characters",[240,679,680,685,687,689],{},[258,681,682],{},[261,683,684],{},"backend",[258,686,650],{},[258,688,426],{},[258,690,691],{},"Upstream backend selection",[240,693,694,699,704,706],{},[258,695,696],{},[261,697,698],{},"sttModel",[258,700,701],{},[261,702,703],{},"stt_model",[258,705,426],{},[258,707,708],{},"STT model",[240,710,711,716,721,723],{},[258,712,713],{},[261,714,715],{},"normalizerModel",[258,717,718],{},[261,719,720],{},"normalizer_model",[258,722,426],{},[258,724,725],{},"Text normalizer model",[240,727,728,733,735,738],{},[258,729,730],{},[261,731,732],{},"vad",[258,734,650],{},[258,736,737],{},"boolean",[258,739,740],{},"Enable VAD",[240,742,743,748,753,756],{},[258,744,745],{},[261,746,747],{},"vadThreshold",[258,749,750],{},[261,751,752],{},"vad_threshold",[258,754,755],{},"number",[258,757,758],{},"VAD sensitivity threshold",[240,760,761,766,771,773],{},[258,762,763],{},[261,764,765],{},"vadSilenceMs",[258,767,768],{},[261,769,770],{},"vad_silence_ms",[258,772,755],{},[258,774,775],{},"Silence duration to trigger end-of-speech",[240,777,778,783,788,790],{},[258,779,780],{},[261,781,782],{},"vadPrefixMs",[258,784,785],{},[261,786,787],{},"vad_prefix_ms",[258,789,755],{},[258,791,792],{},"Prefix padding duration",[240,794,795,800,805,807],{},[258,796,797],{},[261,798,799],{},"vadMinSpeechMs",[258,801,802],{},[261,803,804],{},"vad_min_speech_ms",[258,806,755],{},[258,808,809],{},"Minimum speech segment duration",[240,811,812,817,822,824],{},[258,813,814],{},[261,815,816],{},"vadTargetSpeechMs",[258,818,819],{},[261,820,821],{},"vad_target_speech_ms",[258,823,755],{},[258,825,826],{},"Target speech segment duration",[240,828,829,834,839,841],{},[258,830,831],{},[261,832,833],{},"vadMaxSpeechMs",[258,835,836],{},[261,837,838],{},"vad_max_speech_ms",[258,840,755],{},[258,842,843],{},"Maximum speech segment duration",[240,845,846,851,856,858],{},[258,847,848],{},[261,849,850],{},"vadSmartSplitWindowMs",[258,852,853],{},[261,854,855],{},"vad_smart_split_window_ms",[258,857,755],{},[258,859,860],{},"Smart split window",[862,863,866],"callout",{"color":864,"icon":865},"amber","i-lucide-triangle-alert",[226,867,868,869,658,872,658,875,878],{},"Tenant isolation\nAll fields not listed above are stripped before forwarding to the upstream. Identity and credential fields (",[261,870,871],{},"request_id",[261,873,874],{},"session_id",[261,876,877],{},"user_id",") are injected by the gateway and cannot be overridden by the client.",[621,880,180],{"id":881},"errors",[455,883,884,890,898],{},[458,885,886,889],{},[261,887,888],{},"bad_json",": JSON parse failure",[458,891,892,895,896],{},[261,893,894],{},"bad_message",": Not a JSON object or unsupported ",[261,897,245],{},[458,899,900,902],{},[261,901,462],{},": Invalid audio data",[230,904,906],{"id":905},"related","Related",[455,908,909,915,920],{},[458,910,911,914],{},[912,913,168],"a",{"href":169}," — server-pushed events",[458,916,917,919],{},[912,918,56],{"href":57}," — session config details",[458,921,922,924],{},[912,923,44],{"href":45}," — audio format reference",[926,927,928],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":334,"searchDepth":341,"depth":348,"links":930},[931,932,933,934,935,939],{"id":232,"depth":348,"text":10},{"id":324,"depth":348,"text":263},{"id":469,"depth":348,"text":470},{"id":507,"depth":348,"text":290},{"id":546,"depth":348,"text":316,"children":936},[937,938],{"id":623,"depth":374,"text":624},{"id":881,"depth":374,"text":180},{"id":905,"depth":348,"text":906},"All client → Lanson messages sent over WebSocket.","md",null,{},true,{"title":164,"description":940},"8plzLrN_1UEhDpLSdrTk7iU0bm-SpOwAka71EW15_pQ",[948,950],{"title":160,"path":161,"stem":162,"description":949,"children":-1},"WebSocket endpoint for streaming transcription.",{"title":168,"path":169,"stem":170,"description":951,"children":-1},"All Lanson → client events pushed over WebSocket.",1787340798074]