[{"data":1,"prerenderedAt":516},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Fclient-vad-segments":224,"\u002Fguides\u002Fclient-vad-segments-surround":511},[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":148,"body":226,"description":503,"draft":504,"extension":505,"links":506,"meta":507,"navigation":508,"path":149,"seo":509,"status":506,"stem":150,"__hash__":510},"docs\u002F5.guides\u002F7.client-vad-segments.md",{"type":227,"value":228,"toc":495},"minimark",[229,233,247,252,307,311,343,347,357,360,364,440,444,472,476,491],[230,231,148],"h1",{"id":232},"client-vad-speech-segments",[234,235,236,237,241,242,246],"p",{},"Use ",[238,239,240],"a",{"href":177},"Segment Transcription"," when ",[243,244,245],"strong",{},"your application"," already knows where speech starts and ends.",[248,249,251],"h2",{"id":250},"when-to-use-segment","When to use Segment",[253,254,255,268],"table",{},[256,257,258],"thead",{},[259,260,261,265],"tr",{},[262,263,264],"th",{},"Use Segment",[262,266,267],{},"Use something else",[269,270,271,283,294],"tbody",{},[259,272,273,277],{},[274,275,276],"td",{},"You run VAD locally and upload one clip per utterance",[274,278,279,280],{},"Continuous mic stream → ",[238,281,282],{"href":26},"Realtime WS",[259,284,285,288],{},[274,286,287],{},"You need a synchronous transcript in ~1s",[274,289,290,291],{},"Long file at a URL → ",[238,292,293],{"href":69},"Batch jobs",[259,295,296,304],{},[274,297,298,299,303],{},"OpenAI Whisper ",[300,301,302],"code",{},"file"," upload pattern",[274,305,306],{},"Server should detect silence → Realtime WS",[248,308,310],{"id":309},"contract","Contract",[312,313,314,321,327,333],"ol",{},[315,316,317,320],"li",{},[243,318,319],{},"You segment"," — only POST clips that contain speech you want transcribed.",[315,322,323,326],{},[243,324,325],{},"We do not filter"," — silence, near-empty WAVs, and noise are transcribed as-is.",[315,328,329,332],{},[243,330,331],{},"You pay for what you send"," — wasting quota on silence is the caller's responsibility.",[315,334,335,338,339,342],{},[243,336,337],{},"No server HTTP retry"," — up to 2 worker attempts (800ms each) per request; on ",[243,340,341],{},"502"," the client may resend the same clip.",[248,344,346],{"id":345},"typical-flow","Typical flow",[348,349,354],"pre",{"className":350,"code":352,"language":353},[351],"language-text","Client VAD detects utterance end\n  → encode clip (e.g. WAV)\n  → POST \u002Fv1\u002Faudio\u002Ftranscriptions (multipart)\n  → 200 + text (or 502 → client decides to retry)\n","text",[300,355,352],{"__ignoreMap":356},"",[234,358,359],{},"Integrators like Flow follow this pattern: WebSocket voice session → local VAD → HTTP segment per utterance.",[248,361,363],{"id":362},"example","Example",[348,365,369],{"className":366,"code":367,"language":368,"meta":356,"style":356},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Faudio.lansonai.com\u002Fv1\u002Faudio\u002Ftranscriptions \\\n  -H \"Authorization: Bearer sk-...\" \\\n  -F \"file=@utterance.wav\" \\\n  -F \"language=zh\"\n","bash",[300,370,371,394,412,427],{"__ignoreMap":356},[372,373,376,380,384,387,390],"span",{"class":374,"line":375},"line",1,[372,377,379],{"class":378},"sBMFI","curl",[372,381,383],{"class":382},"sfazB"," -X",[372,385,386],{"class":382}," POST",[372,388,389],{"class":382}," https:\u002F\u002Faudio.lansonai.com\u002Fv1\u002Faudio\u002Ftranscriptions",[372,391,393],{"class":392},"sTEyZ"," \\\n",[372,395,397,400,404,407,410],{"class":374,"line":396},2,[372,398,399],{"class":382},"  -H",[372,401,403],{"class":402},"sMK4o"," \"",[372,405,406],{"class":382},"Authorization: Bearer sk-...",[372,408,409],{"class":402},"\"",[372,411,393],{"class":392},[372,413,415,418,420,423,425],{"class":374,"line":414},3,[372,416,417],{"class":382},"  -F",[372,419,403],{"class":402},[372,421,422],{"class":382},"file=@utterance.wav",[372,424,409],{"class":402},[372,426,393],{"class":392},[372,428,430,432,434,437],{"class":374,"line":429},4,[372,431,417],{"class":382},[372,433,403],{"class":402},[372,435,436],{"class":382},"language=zh",[372,438,439],{"class":402},"\"\n",[248,441,443],{"id":442},"anti-patterns","Anti-patterns",[445,446,447,458,465],"ul",{},[315,448,449,450,453,454,457],{},"Uploading a ",[243,451,452],{},"full meeting recording"," to Segment — use batch ",[300,455,456],{},"audio_url"," instead.",[315,459,460,461,464],{},"Streaming ",[243,462,463],{},"continuous PCM"," to Segment — use Realtime WS.",[315,466,467,468,471],{},"Expecting the API to ",[243,469,470],{},"skip silence"," — it will not.",[248,473,475],{"id":474},"related","Related",[445,477,478,483,487],{},[315,479,480],{},[238,481,482],{"href":177},"Segment API reference",[315,484,485],{},[238,486,20],{"href":21},[315,488,489],{},[238,490,188],{"href":189},[492,493,494],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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":356,"searchDepth":375,"depth":396,"links":496},[497,498,499,500,501,502],{"id":250,"depth":396,"text":251},{"id":309,"depth":396,"text":310},{"id":345,"depth":396,"text":346},{"id":362,"depth":396,"text":363},{"id":442,"depth":396,"text":443},{"id":474,"depth":396,"text":475},"When and how to use synchronous segment transcription.",false,"md",null,{},true,{"title":148,"description":503},"4RBiVs_2IE_LhjN722MbUXyOKqEzDvTS-B-c_nPCBzs",[512,514],{"title":144,"path":145,"stem":146,"description":513,"children":-1},"Network disconnect, retry, and resume design.",{"title":158,"path":154,"stem":155,"description":515,"children":-1},"Base URL, REST\u002FWebSocket endpoints, versioning.",1789433608271]