[{"data":1,"prerenderedAt":529},["ShallowReactive",2],{"navigation":3,"\u002Frealtime":224,"\u002Frealtime-surround":524},[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":30,"body":226,"description":515,"draft":516,"extension":517,"links":518,"meta":519,"navigation":520,"path":26,"seo":521,"status":522,"stem":27,"__hash__":523},"docs\u002F2.realtime\u002F1.index.md",{"type":227,"value":228,"toc":505},"minimark",[229,233,248,251,256,288,292,306,310,313,322,325,349,353,363,367,484,488],[230,231,30],"h1",{"id":232},"realtime-overview",[234,235,236,237,240,241,244,245,247],"p",{},"Realtime is a ",[238,239,94],"strong",{}," mode for live speech. ",[242,243,61],"a",{"href":62}," is the other mode, for full-file processing. See ",[242,246,94],{"href":90}," for the umbrella model.",[234,249,250],{},"The Realtime API provides streaming speech transcription over WebSocket. You send PCM16LE audio frames, the server returns transcription events.",[252,253,255],"h2",{"id":254},"what-it-does","What it does",[257,258,259,266,276,282],"ul",{},[260,261,262,265],"li",{},[238,263,264],{},"Live captions",": text appears while the person is still speaking",[260,267,268,271,272],{},[238,269,270],{},"Real-time translation",": source and translated text together ",[273,274,275],"em",{},"(coming soon for external sessions)",[260,277,278,281],{},[238,279,280],{},"Multi-language",": Whisper-compatible language support",[260,283,284,287],{},[238,285,286],{},"Server-side VAD",": automatic speech segment detection, no client-side splitting needed",[252,289,291],{"id":290},"input","Input",[257,293,294,300,303],{},[260,295,296,297],{},"Audio format: ",[238,298,299],{},"PCM16LE \u002F 16kHz \u002F mono",[260,301,302],{},"Transport: JSON text frames (base64) or binary frames (raw PCM)",[260,304,305],{},"Frame size: recommended 100ms frames (~3200 bytes), max 1 MiB",[252,307,309],{"id":308},"output","Output",[234,311,312],{},"Server pushes JSON events. The primary output is:",[257,314,315],{},[260,316,317,321],{},[318,319,320],"code",{},"conversation.item.input_audio_transcription.completed"," — a speech segment has been transcribed",[234,323,324],{},"Supporting events:",[257,326,327,337,343],{},[260,328,329,332,333,336],{},[318,330,331],{},"input_audio_buffer.speech_started"," \u002F ",[318,334,335],{},"speech_stopped"," — speech segment boundaries",[260,338,339,342],{},[318,340,341],{},"session.created"," — connection established",[260,344,345,348],{},[318,346,347],{},"error"," — error events",[252,350,352],{"id":351},"architecture","Architecture",[354,355,360],"pre",{"className":356,"code":358,"language":359},[357],"language-text","Your app                   LansonAI Gateway                   Upstream STT\n  │                            │                                  │\n  ├── WS connect (Bearer) ───→ session.created                   │\n  │                            │                                  │\n  ├── Send PCM16 frames ──────→ gateway relay (binary PCM) ─────→ VAD + STT\n  │                            │                                  │\n   │←── input_audio_buffer.speech_started ──────│←── input_audio_buffer.speech_started\n   │                            │                                  │\n   │←── conversation.item.input_audio_transcription.completed ─│←── conversation.item.input_audio_transcription.completed\n  │                            │                                  │\n  ├── Close ─────────────────→ meter flush → R2 ledger            │\n","text",[318,361,358],{"__ignoreMap":362},"",[252,364,366],{"id":365},"vs-segment-and-batch","vs. Segment and Batch",[368,369,370,389],"table",{},[371,372,373],"thead",{},[374,375,376,380,383,386],"tr",{},[377,378,379],"th",{},"Dimension",[377,381,382],{},"Realtime WS",[377,384,385],{},"Segment HTTP",[377,387,388],{},"Batch jobs",[390,391,392,407,421,437,450,470],"tbody",{},[374,393,394,398,401,404],{},[395,396,397],"td",{},"Transport",[395,399,400],{},"WebSocket",[395,402,403],{},"HTTP sync",[395,405,406],{},"HTTP async",[374,408,409,412,415,418],{},[395,410,411],{},"Latency",[395,413,414],{},"Milliseconds",[395,416,417],{},"~≤1.6s",[395,419,420],{},"Minutes",[374,422,423,425,428,434],{},[395,424,291],{},[395,426,427],{},"PCM16LE stream",[395,429,430,431],{},"Multipart ",[318,432,433],{},"file",[395,435,436],{},"Audio URL",[374,438,439,441,444,447],{},[395,440,309],{},[395,442,443],{},"Event stream",[395,445,446],{},"Transcript JSON",[395,448,449],{},"Complete job JSON",[374,451,452,455,460,465],{},[395,453,454],{},"VAD",[395,456,457],{},[238,458,459],{},"Server",[395,461,462],{},[238,463,464],{},"Client",[395,466,467,469],{},[238,468,459],{}," (slice)",[374,471,472,475,478,481],{},[395,473,474],{},"Best for",[395,476,477],{},"Live stream",[395,479,480],{},"Pre-cut utterances",[395,482,483],{},"Long files",[252,485,487],{"id":486},"next-steps","Next steps",[257,489,490,495,500],{},[260,491,492,494],{},[242,493,32],{"href":33}," — runnable example",[260,496,497,499],{},[242,498,36],{"href":37}," — connect, timeout, close",[260,501,502,504],{},[242,503,40],{"href":41}," — audio format reference",{"title":362,"searchDepth":506,"depth":507,"links":508},1,2,[509,510,511,512,513,514],{"id":254,"depth":507,"text":255},{"id":290,"depth":507,"text":291},{"id":308,"depth":507,"text":309},{"id":351,"depth":507,"text":352},{"id":365,"depth":507,"text":366},{"id":486,"depth":507,"text":487},"What the Realtime API does, input, output, and architecture.",false,"md",null,{},true,{"title":30,"description":515},"stable","nkd-L1UW8u_0nvtrgUC_uXqKMIoVQR4OUhdV4OVTO4k",[525,527],{"title":20,"path":21,"stem":22,"description":526,"children":-1},"Realtime, Segment, and Batch — when to use which.",{"title":32,"path":33,"stem":34,"description":528,"children":-1},"Minimal runnable WebSocket examples.",1789433608271]