Commands
Typed methods on the model for everything you send: prompts, tool results, interruptions, audio config.
- sendCommand()
- interrupt()
- configureAudio()
Stream voice, vision, and text through one typed protocol. Sub-200 ms round trips, first-class SDKs for JavaScript, React, and Python, and events checked at compile time — so a typo never reaches the wire.
audio frame · 20ms · pcm16
Booking a table for four at eight
import { AxonModel } from "@axon/client" const model = await AxonModel.connect({ model: "aurora-realtime", audio: true, }) // client → model, fully typed model.sendCommand({ text: "Book a table for four" }) // model → client, streamed model.on("transcript", (msg) => { console.log(msg.text, msg.final) })
import { useAxon } from "@axon/react" function Assistant() { const model = useAxon("aurora-realtime", { audio: true }) useTranscript(model, (msg) => { // typed partials, no polling setText(msg.text) }) return <Waveform stream={model.audioOut} /> }
from axon import AxonModel model = await AxonModel.connect( model="aurora-realtime", audio=True, ) # client -> model await model.send_command(text="Book a table for four") # model -> client, streamed async for msg in model.transcripts(): print(msg.text, msg.final)
Axon models talk through a small, typed vocabulary. Send commands, receive messages, open media tracks — every name is checked at compile time in all three SDKs.
Typed methods on the model for everything you send: prompts, tool results, interruptions, audio config.
Typed listeners for everything the model emits. Subscribe only to what you care about; partials stream in.
Named, typed media channels between app and model. Track names are checked at compile time — no wire typos.
Every model on Axon speaks the same protocol. Swap the model id and your typed SDK keeps working — no rewrites, no adapters.
Full-duplex voice with interruption handling and word-level timing.
Stream frames in, reason over them, and get grounded answers back in realtime.
Low-latency token streaming with typed tool calls and structured output.
Embed text and audio on the same connection your session already uses.
Typed tool calls with parallel execution and automatic result routing.
Streamed speech synthesis with prosody control and sub-frame alignment.
Open a live session in the browser, speak or type, and watch typed frames stream both ways. Copy the exact SDK snippet for what you just ran.
Sessions terminate at the nearest region. p50 round trips under 200ms, worldwide.
Events, messages, and tracks share generated types across every SDK you ship.
Per-session traces, frame timing, and replayable recordings out of the box.
Each session runs sandboxed with its own keys, budget, and lifecycle.
Join the beta, open a session, and stream your first typed frame in under five minutes.