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