WAVE SDK for Python
Media infrastructure for the agentic internet. Official Python SDK for WAVE, by WAVE Online, LLC.
Installation
pip install wave-sdk
Quick start
from wave_sdk import Wave
client = Wave(api_key="your-api-key", organization_id="org_123")
# Search your organization's indexed media
results = client.search.search(query="product launch")
# List your org's published pricing tiers (requires the pricing:read scope)
manifests = client.pricing.list_manifests()
# Transcribe a recording and auto-generate captions for it
transcription = client.transcribe.create(source_url="https://example.com/clip.mp4")
captions = client.captions.generate(media_id=transcription.id, media_type="video")
All 42 APIs
P1 - Core
| API | Description |
|---|---|
wave.pipeline |
Live streaming engine |
wave.studio |
Multi-camera production |
P2 - Enterprise
| API | Description |
|---|---|
wave.fleet |
Device fleet management |
wave.ghost |
AI auto-directing |
wave.mesh |
Multi-region failover |
wave.edge |
CDN and edge workers |
wave.pulse |
Analytics and BI |
wave.prism |
Virtual Device Bridge |
wave.zoom |
Zoom integration |
P3 - Content & Commerce
| API | Description |
|---|---|
wave.clips |
Video clips |
wave.editor |
Video editor |
wave.voice |
Voice synthesis |
wave.phone |
Phone calls |
wave.collab |
Collaboration |
wave.captions |
Auto-captions |
wave.chapters |
Video chapters |
wave.studio_ai |
AI assistant |
wave.transcribe |
Transcription |
wave.sentiment |
Sentiment analysis |
wave.search |
Content search |
wave.scene |
Scene detection |
wave.vault |
Recording storage |
wave.marketplace |
Marketplace |
wave.connect |
Integrations |
wave.distribution |
Social simulcast |
wave.desktop |
Desktop Node |
wave.signage |
Digital signage |
wave.qr |
QR codes |
wave.audience |
Polls/Q&A |
wave.creator |
Monetization |
P4 - Specialized
| API | Description |
|---|---|
wave.podcast |
Podcast production |
wave.slides |
Slides-to-video |
wave.usb |
USB relay |
Cross-cutting
| API | Description |
|---|---|
wave.notifications |
User notifications, preferences, delivery |
wave.drm |
Digital rights management |
wave.realtime |
Live control and event plane (WebSocket) |
Agent-native and comms productization (2.1.0)
| API | Description |
|---|---|
wave.transcripts |
The voice-agent transcript (list + read) |
wave.mail |
Send, reply, search, transcript email, and SMS |
wave.meter |
Read-only usage ledger and rollup (meter:read) |
wave.pricing |
The seller tier-manifest registry (pricing:read/:write) |
wave.perception |
Agentic live-media subscribe() control plane |
wave.inference |
One completion endpoint through the measured funnel |
Error handling
from wave_sdk import WaveError, RateLimitError
try:
client.clips.get("invalid-id")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
except WaveError as e:
print(f"{e.code}: {e.message} ({e.status_code})")
Requirements
- Python 3.9+
- httpx
- pydantic
Migrating from 2.0.0
If you installed wave-av-sdk or wave-sdk at 2.0.0, two names changed:
- Install
wave-sdk(notwave-av-sdk). - Import
wave_sdk(notwave).
-from wave import Wave
+from wave_sdk import Wave
Nothing below the top-level name changed, so replacing the import line is the
whole migration. The old wave package collided with the Python standard
library's own wave module and was never importable from an installed
2.0.0 — full detail, the uninstall step, and a bulk find-and-replace are in
MIGRATING.md.
Note that the wave.<api> names in the tables above are attributes of a client
instance, not module paths: name your client whatever you like
(client = Wave(...) in the quick start above), and client.clips is the row
the table writes as wave.clips.
License
Apache-2.0 - WAVE Online, LLC. See LICENSE and NOTICE; the WAVE marks are not licensed under the Apache grant.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wave_sdk-2.1.0.tar.gz.
File metadata
- Download URL: wave_sdk-2.1.0.tar.gz
- Upload date:
- Size: 57.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
944f97e8a37830ecd1ed388ed465f64e4f89b7c81f9bb2abc7a39fc8709ddb36
|
|
| MD5 |
6a3be01ac06339e527ad702210d05ab0
|
|
| BLAKE2b-256 |
16d6ce8c166aaecacfad8a4cbbee79542efc68ddac228e6cb80def8bd502e1bc
|
Provenance
The following attestation bundles were made for wave_sdk-2.1.0.tar.gz:
Publisher:
release.yml on wave-av/sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wave_sdk-2.1.0.tar.gz -
Subject digest:
944f97e8a37830ecd1ed388ed465f64e4f89b7c81f9bb2abc7a39fc8709ddb36 - Sigstore transparency entry: 2733933994
- Sigstore integration time:
-
Permalink:
wave-av/sdk-python@9508dd41262ef64bfe593d089962383a1dfba1a8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/wave-av
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9508dd41262ef64bfe593d089962383a1dfba1a8 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file wave_sdk-2.1.0-py3-none-any.whl.
File metadata
- Download URL: wave_sdk-2.1.0-py3-none-any.whl
- Upload date:
- Size: 63.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45cd76eef474e1cee197d0b5d9085b94ebc5bd6b9bb2e0e1c7cefe142b4e785f
|
|
| MD5 |
f4467c2f395308b5ab1493bfa1663d92
|
|
| BLAKE2b-256 |
b3ddfb006de5481d54854985a311afa21a2fae9950bb32222429c26f6c6322a0
|
Provenance
The following attestation bundles were made for wave_sdk-2.1.0-py3-none-any.whl:
Publisher:
release.yml on wave-av/sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wave_sdk-2.1.0-py3-none-any.whl -
Subject digest:
45cd76eef474e1cee197d0b5d9085b94ebc5bd6b9bb2e0e1c7cefe142b4e785f - Sigstore transparency entry: 2733933997
- Sigstore integration time:
-
Permalink:
wave-av/sdk-python@9508dd41262ef64bfe593d089962383a1dfba1a8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/wave-av
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9508dd41262ef64bfe593d089962383a1dfba1a8 -
Trigger Event:
workflow_dispatch
-
Statement type: