Hydra
Full-duplex speech to speech over one WebSocket: audio in, audio out, with barge-in and tool calls handled by the model. Start with the quickstart.
Who it’s for
- Voice assistants that want one socket in and out, with no speech-to-text, LLM and text-to-speech glue.
- Barge-in heavy conversations and phone agents, where the model handles interruptions itself.
- Not the pick when you need transcripts mid-call or your own LLM. Compose Pulse, Electron and Lightning instead.
Model Overview
Key Capabilities
Single WebSocket carries microphone PCM in and response PCM out. No STT → LLM → TTS pipeline, no transcript on the wire.
Server handles interruption natively. In-flight responses cancel automatically when the user speaks over the bot.
Standard JSON-schema tools with streamed arguments, executed on your side.
Ten on hydra-v1.1, fourteen on hydra-v1.0. Frozen at handshake.
generate_initial_response: true lets the bot open with a greeting before the user speaks.
Live-patch tools and session config without reconnecting via session.update.
How to use it
See the Hydra quickstart for a working end-to-end browser client - clone the reference repo, paste your API key, and talk to Hydra. Hydra is selected via the model query parameter on the unified Speech-to-Speech endpoint: wss://api.smallest.ai/waves/v1/s2s?model=hydra-v1.1&api_key=$SMALLEST_API_KEY. See Model versions for the other tags. For browser clients, mint a short-lived token server-side rather than embedding the long-lived key in the page.
The Overview covers the full event catalog (session config, tool calling, interruption, errors).
Performance & Benchmarks
Hydra is benchmarked against eight other production-grade voice / realtime models. Full methodology and metric definitions live on the dedicated Performance and Metrics Overview pages.
AIEWF S2S - 10 runs × 30 turns, aiwf_medium_context
Reading the table:
- Tool V2V mean latency: Hydra is the fastest of 9 (1624 ms - beats nova-2-sonic at 1689 ms, gpt-realtime-2 low at 2005 ms, ultravox at 2406 ms).
- Non-tool V2V median latency: tied-fastest (864 ms with ultravox).
- Pass rate: #3 of 8 (within ~2 pp of the leader; nova-2-sonic did not report pass rate).
Latency numbers are computed from transcript.jsonl across all 10 runs (n = 224 non-tool turns, n = 64 tool turns). Pass rate is the fraction of turns that completed the expected interaction.
Hydra is evaluated on voice-agent axes - voice-to-voice latency, turn-taking accuracy, barge-in handling, and tool-call reliability under realistic conditions. Generic LLM benchmarks (MMLU, IFEval) target a different objective and aren’t the right yardstick for a realtime voice model.
Operational metrics
Supported Languages
Hydra currently supports English only. Additional languages are on the roadmap.
Model versions
Two Hydra tags are served on the same endpoint; pick one with ?model=. The session protocol (event catalog, session.configure shape, tool calling, interruption handling) is identical across both. Voice rosters are per version.
?model=hydra (bare, no version) currently routes to hydra-v1.0. This parameter will be deprecated in the future.
Voices
Set on session.configure.session.voice and frozen at handshake. Rosters are per version and do not overlap - when you switch versions, also pick a voice from the new roster. An unrecognised voice is rejected with an error frame (code: "invalid_request_error").
hydra-v1.0
Fourteen voice IDs.
hydra-v1.1
Ten voice IDs.
API Reference
See Hydra (Realtime / WebSocket) for the full event schema. The documentation hub covers the event catalog, session config, tool calling, interruption handling, and errors end-to-end.
Throughput, Latency & Pricing
- One voice session per WebSocket connection. Concurrency follows your plan’s WebSocket pool. Excess connections receive
errorwithcode: "server_full"followed by close code1013- back off with jitter and retry. - Idle timeout: ~30 s with no traffic from either side. Keep streaming audio (silence frames are fine) to hold the connection.
Pricing: Contact your Smallest AI account manager. Hydra is billed by session minute; usage per turn is reported on response.done when available.
Best Practices
- Keep the socket warm. Stream silence frames during pauses rather than letting the 30 s idle timer fire.
- Handle
code: "server_full"with jittered backoff. Capacity is per-plan WebSocket pool; surface a “please retry” UX rather than a hard error to the user. - Mint short-lived tokens for browser clients. Don’t embed the long-lived
SMALLEST_API_KEYin client-side code - mint a session token server-side. - Live-patch
toolsviasession.updaterather than reconnecting. Reconnects pay handshake cost;session.updatedoes not. - For compliance transcripts, mirror the PCM through Pulse STT after the session - Hydra itself does not emit transcripts on the wire.
Technical Specifications
Use Cases
Direct Use
- Realtime voice assistants - companion apps, concierge bots, in-app tutors.
- Phone agents - restaurant reservations, banking concierges, customer support.
- Voice copilots embedded in web and mobile apps.
- Accessibility - voice-first interfaces for visually-impaired users.
- Voice-controlled IoT and games - kiosks, in-car assistants, gaming companions.
Downstream Use
- Conversational analytics over recorded phone-call audio (transcribe the captured audio with Pulse STT afterwards).
- Multi-agent voice systems where Hydra is one specialised speaker.
- Hybrid voice + text agents where a text fallback is needed for compliance.
Safety & Compliance
Hydra is intended for voice-agent and conversational workloads. Customers building user-facing applications should layer their own content moderation, prompt-injection defenses, and PII handling appropriate to their domain. Hydra does not currently apply content moderation server-side - outputs reflect the model’s training and the prompts you provide.
For voice-agent applications handling regulated content (financial, healthcare), the standard pattern applies: keep PII out of prompts where practical, apply post-processing redaction on outputs, and - if you need a transcript for compliance - transcribe the PCM you sent/received via the Pulse STT API and store that transcript with your moderation log.
For compliance documentation (GDPR, SOC2, HIPAA), contact support@smallest.ai.