@wave-av/sdk
v2.1.3
Published
Official WAVE SDK - 34 API modules covering streaming, production, device management, analytics, content, monetization, and more
Maintainers
Readme
sdk
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.
docs · npm · repo · Docs · Status
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.
Quick start
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",
});Capabilities
- Pricing Pages — create/list/read tier manifests (pricing.wave.online/ hosted pages; scopes pricing:write/pricing:read)
| Capability | Status |
| --- | --- |
| Auto-captions, translation, burn-in via wave.captions | |
| Video clips, exports, AI highlights via
wave.clips | |
| Monetization, subscriptions, tips, payouts via
wave.creator (SDK TypeScript surface; no fleet backend yet) | |
| Video editing, tracks, transitions, effects via
wave.editor | |
| Desktop Node fleet management, health, commands via
wave.fleet (SDK TypeScript surface; no fleet backend yet) | |
| x402 and MPP card-rail agent payments with scope-gate and settlement-guard, shipped at the WAVE gateway; reachable from the SDK today via the base
WaveClient request methods (no dedicated wrapper module yet) | |
| AI auto-directing (Autopilot), suggestions, overrides via
wave.ghost (SDK TypeScript surface; no fleet backend yet) | |
| Multi-region failover, replication, topology via
wave.mesh (SDK TypeScript surface; no fleet backend yet) | |
| Telephony bridging via
wave.phone — core features are planned in the fleet SSOT, not yet shipped | |
| Live stream lifecycle, protocols, recordings, viewer metrics via
wave.pipeline | |
| Podcast publishing/distribution via
wave.podcast — core features are planned in the fleet SSOT, not yet shipped | |
| Virtual Device Bridge (NDI/ONVIF/VISCA/Dante to USB UVC/UAC) via
wave.prism (SDK TypeScript surface; no fleet backend yet) | |
| Analytics, BI dashboards, revenue metrics via
wave.pulse (SDK TypeScript surface; no fleet backend yet) | |
| Multi-camera production, scenes, transitions, graphics, audio mixing via
wave.studio (SDK TypeScript surface; no fleet backend yet) | |
| Transcription with speaker diarization via
wave.transcribe | |
| Agent email send, reply, search, transcript email, and SMS via
wave.mail (E5 comms productization; x402-USDC-settled sub-cent sends) | |
| Usage metering ledger and rollup by channel (mail/voice/sms/realtime/storage) via
wave.meter (requires meter:read scope) | |
| Recording storage, VOD, archive policies via
wave.vault (SDK TypeScript surface; no fleet backend yet) | |
| Text-to-speech via
wave.voice.synthesize(); voice-clone methods exist as SDK client surface but are not backed by the wave-voice product yet | |
| Agent routing (route/pool) and an OpenAI-compatible proxy for LLM/agent traffic, shipped at the WAVE gateway; reachable from the SDK today via the base
WaveClient request methods (no dedicated wrapper module yet) | |
The receipts
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 |
Topics
sdk · typescript · streaming · video · audio · production · webrtc · ndi · srt · clips · voice · transcription · captions · analytics
Built by WAVE Online, LLC · wave.online · Docs · LinkedIn
The wave CLI
The SDK ships a CLI. Install globally and script WAVE from your terminal or agent:
npm install -g @wave-av/sdk@next
wave --helpThe CLI is a thin arg parser over the same RuntimeClient the SDK exports, so every
command maps 1:1 to the API surface. Agents can call it without building integrations.
