Built for voice, video, live, and real-time AI Explore the global media fabric

Global real-time infrastructure

Build real-time
Voice, Video, Live
& AI

One platform for responsive voice, video, streaming, and AI experiences—without owning the media stack.

Direct media pathsClient to regional SFU Smart placementLatency, capacity, and residency aware Provider-neutralOne stable SDK surface
Glowing global network connected by flowing blue signal paths
Global media fabric Direct · Encrypted · Region aware

One control plane for

Voice Video Live Real-time AI Data

One platform. Every live moment.

The hard parts of real-time,
already handled.

Build the experience your users remember. Thunderstreamz runs the infrastructure they should never have to think about.

01

Media that takes the fastest path

Clients connect directly to the selected regional media node or TURN relay. Your audio and video never detour through the control API.

Inside the media network
02

Provider freedom, built in

Your application speaks in rooms, participants, tracks, and quality—not infrastructure internals.

03

Quality you can act on

Normalized WebRTC signals turn packet loss, jitter, RTT, and reconnects into an explainable quality model.

4.8session quality
04

Record with intent

Control recording lifecycle, consent, output, storage intervals, and retention from the same platform surface.

Designed for developers

From API key to
live room in minutes.

A clean, provider-neutral SDK keeps your product code focused. Thunderstreamz handles scoped tokens, room placement, media endpoints, and the operational trail.

  • One consistent contractUse platform-owned types across web, iOS, Android, Node.js, and Rust.
  • Safe server-to-client handoffKeep project keys server-side and issue narrow, short-lived participant grants.
  • Explicit behaviorUnsupported features fail clearly. Provider details stay behind the adapter.
Read the documentation
01 import { RTCClient } from
02   "@thunderstreamz/rtc-web";
03
04 const rtc = new RTCClient({
05   endpoint: tokenResponse.endpoint,
06   token: tokenResponse.token,
07 });
08
09 await rtc.connect();
10 await rtc.microphone.enable();
11 await rtc.camera.enable();
12
13 // You’re live. That’s it.
01 import { ThunderstreamzServer } from
02   "@thunderstreamz/server-sdk";
03
04 const client = new ThunderstreamzServer({
05   apiKey: process.env.THUNDERSTREAMZ_API_KEY,
06 });
07
08 const room = await client.rooms.create({
09   name: "team-catchup",
10   region_code: "auto",
11 }, { idempotencyKey: crypto.randomUUID() });
01 curl -X POST \
02   https://api.thunderstreamz.com/v1/rooms \
03   -H "Authorization: Bearer $TS_API_KEY" \
04   -H "Idempotency-Key: room-team-catchup" \
05   -H "Content-Type: application/json" \
06   -d '{"name":"team-catchup","region_code":"auto"}'

Built for the unpredictable

Global by architecture.
Calm under pressure.

Every room gets a durable home selected from healthy, capable regions. Capacity and residency policy are gates—not suggestions.

PLACEMENT POLICYLatency + reliability + capacityVersioned
MEDIA TRANSPORTWebRTC + TURN fallbackDirect
ROOM HOMEDurable per lifecycleStable
CAPACITY GATEFail closed at the limitProtected
01

Nearest acceptable region

Fresh client latency hints meet health, capacity, capability, and residency rules before placement.

02

Stable room authority

Every later token returns the same regional endpoint for that active room generation.

03

Recovery without fiction

If a region fails, recovery is explicit. We never pretend active media migrated without interruption.

Secure from the first packet

Your credentials stay
where they belong.

Long-lived project keys remain on your server. Clients receive only scoped, short-lived grants for the room and actions they need.

Explore security
01Tenant isolationOrganization, project, and environment boundaries
02Short-lived media grantsNarrow participant identity and permissions
03Auditable control planeIdempotent mutations and append-only events
04Encrypted transportHTTPS, WSS, WebRTC, and TURN/TLS paths

Make it feel instant

The next great live experience
starts with one connection.

Build on real-time infrastructure that stays out of your product’s way.