STOP WIRING.
START SHIPPING.
HZRelay is the routing layer between your app and every real-time provider. Voice, tokens, webhooks — normalized to one session model, one SDK.
We own codecs, reconnects, and routing. You own what you're actually building.
2–3wk
INTEGRATION SAVED
8+
PROVIDER ADAPTERS
1 SDK
VOICE + TOKENS + EVENTS
[ SOURCES ]
HZRELAY
ROUTER
[ SINKS ]
Three pains.
One fix.
Every real-time integration has the same problems underneath — codec hell, fragile reconnects, N×M provider wiring. We solve them once, for all three.
Voice Streams
Twilio sends mulaw 8kHz. Deepgram wants PCM 16kHz. ElevenLabs returns PCM. You don't. We transcode, reconnect, and normalize. One session whether it's a phone call or a browser mic.
Token Streams
LLM streams are SSE. Your UI wants WebSocket. Your mobile app wants something else. We fan-out one source to multiple subscribers simultaneously — no re-architecture.
Webhook Events
Every provider has a different payload shape. You write N parsers, maintain N schemas, debug N signature verifications. We normalize inbound events and fan-out to any number of targets.
See every
hop.
Standard APM is blind to real-time streams. HZRelay traces every stage across every session — where latency is added, which provider caused it, per session not just aggregate.
Per-session, not aggregate
Know exactly which call had the 1.4s STT spike. Debug the incident, not the average.
Provider comparison data
Route across sessions — see if ElevenLabs degraded vs Cartesia today. Switch in config.
Auto-failover on SLA breach
Set thresholds. When primary provider exceeds them, route to backup automatically.
298ms
STT
370ms
LLM
75ms
TTS
Plug in deep
or shallow.
Just routing and normalization. Stream events into your own LangGraph, CrewAI, custom loop — we stay out of your logic.
Add an agent: block and we run transcript→LLM→TTS automatically. Useful when you want working output in an hour.
Start fast at Depth 2, drop to Depth 1 when you need control. Same session, same billing, no re-wiring.
import { createSession } from '@hzrelay/sdk'
const session = await createSession({
apiKey: 'hz_live_...',
// ─── wire sources ────────────
inbound: { type: 'twilio' }, // or 'plivo' | 'webrtc'
outbound: { type: 'twilio' },
// ─── route to providers ──────
stt: { provider: 'deepgram', apiKey: env.DG },
tts: { provider: 'elevenlabs', apiKey: env.EL },
});
// codecs, reconnects, VAD — handled.
// bring your own agent loop:
session.on('transcript', async ( { text, isFinal }) => {
// your LangGraph, CrewAI, custom — anything
if (isFinal) { session.speak(await myLLM(text)) }
});
_
[ ADAPTER_REGISTRY ]
v0.1 — more shipping[TELEPHONY]
[TTS]
[STT]
[LLM / EVENTS]
Stop Wiring.
Ship.
Free tier. No credit card. Connect Twilio → Deepgram → your logic in 30 minutes — not 3 weeks.