Official TypeScript SDK for the WAVE API — 42 API module subpaths covering streaming, production, device management, analytics, content, and monetization behind a single Wave client. Most modules are SDK-side TypeScript surface only; see capability statuses for what has a live fleet backend today.
This README is machine-generated from WAVE's grounded Single Source of Truth — every factual claim below traces to a resolver that
npm run verifychecks against the live repo and live endpoints. Nothing here is asserted without a receipt.
npm install @wave-av/sdkimport { Wave } from "@wave-av/sdk";
const wave = new Wave({
apiKey: process.env.WAVE_API_KEY!,
organizationId: "org_123",
});
// Create and start a live stream
const stream = await wave.pipeline.create({
title: "My Live Stream",
protocol: "webrtc",
recording_enabled: true,
});
await wave.pipeline.start(stream.id);
// Text-to-speech
const synthesis = await wave.voice.synthesize({
text: "Hello from WAVE",
voice_id: "voice_abc",
});Every claim below is checked by npm run verify against the live repo or endpoint — a non-pass verdict fails the gate.
| Claim | How it's verified |
|---|---|
| The base WaveClient exposes a generic protected request() method that any endpoint — including gateway/dispatch routes without a dedicated wrapper module — can be reached through | resolved by grepping src/client.ts |
| Documentation surface is docs.wave.online | resolved by grepping package.json |
| Licensed Apache-2.0 | resolved by grepping package.json |
| 42 independently-importable API module subpaths are declared under package.json exports, plus the package root | resolved by grepping package.json |
| Requires Node.js >=18.0.0 | resolved by grepping package.json |
| The npm package is published as @wave-av/sdk | resolved by grepping package.json |
| Current package.json version is 2.1.0-next.0 | resolved by grepping package.json |
| Each API module is independently importable via a package.json subpath export (e.g. @wave-av/sdk/pipeline) | resolved by grepping package.json |
| wave.voice.synthesize() implements text-to-speech; the SDK also declares cloneVoice() client methods that are not backed by the wave-voice product | resolved by grepping src/voice.ts |
A single Wave client class in src/index.ts composes every API module as a readonly property |
resolved by grepping src/index.ts |
| Takes zod ^3.22.0 as a peer dependency for runtime validation | resolved by grepping package.json |
sdk · typescript · streaming · video · audio · production · webrtc · ndi · srt · clips · voice · transcription · captions · analytics
Built by WAVE Online, LLC · wave.online · Docs · LinkedIn