Installation
pip install wavespeed
API Client
Run WaveSpeed AI models with a simple API:
import wavespeed
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "Cat"},
)
print(output["outputs"][0]) # Output URL
Authentication
Set your API key via environment variable (You can get your API key from https://wavespeed.ai/accesskey):
export WAVESPEED_API_KEY="your-api-key"
Or pass it directly:
from wavespeed import Client
client = Client(api_key="your-api-key")
output = client.run("wavespeed-ai/z-image/turbo", {"prompt": "Cat"})
Options
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "Cat"},
timeout=36000.0, # Max wait time in seconds (default: 36000.0)
poll_interval=1.0, # Status check interval (default: 1.0)
enable_sync_mode=False, # Best-effort sync result attempt (default: False)
)
Sync Mode
Use enable_sync_mode=True to ask the API to wait for the result in the initial
request. If the server-side sync wait times out, the SDK raises an error with
the task ID/result URL; the task continues processing and can be queried later.
Note: Not all models support sync mode. Check the model documentation for availability.
output = wavespeed.run(
"wavespeed-ai/z-image/turbo",
{"prompt": "Cat"},
enable_sync_mode=True,
)
Retry Configuration
Configure retries at the client level:
from wavespeed import Client
client = Client(
api_key="your-api-key",
max_retries=0, # Replacement task attempts (default: 0)
max_connection_retries=5, # Result-query GET retries; POST is never retried
retry_interval=1.0, # Base delay between retries in seconds (default: 1.0)
)
Upload Files
Upload images, videos, or audio files:
import wavespeed
url = wavespeed.upload("/path/to/image.png")
print(url)
Local Development
Running Tests
# Run all tests
python -m pytest
# Run a single test file
python -m pytest tests/test_api.py
# Run a specific test
python -m pytest tests/test_api.py::TestClient::test_run_success -v
Environment Variables
| Variable | Description |
|---|---|
WAVESPEED_API_KEY |
WaveSpeed API key |
WAVESPEED_CLIENT_NAME |
Channel-attribution name sent as the X-Client-Name header (overrides the client_name parameter; defaults to wavespeed-python) |
License
MIT
WaveSpeed AI — AI image & video generation platform. Try it in the browser: Image generator · Video generator
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 wavespeed-2.0.1.tar.gz.
File metadata
- Download URL: wavespeed-2.0.1.tar.gz
- Upload date:
- Size: 33.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
229ae0bae6bad54befaf3aca508dae220b4503ee545ddc15f558d0f29e5897aa
|
|
| MD5 |
f6202b90cf1d6b37143128b37705d784
|
|
| BLAKE2b-256 |
7da56417b03b72881bca8ca22c7ddc19374f0a0be9695bd8a02b1096db9e9d49
|
Provenance
The following attestation bundles were made for wavespeed-2.0.1.tar.gz:
Publisher:
python-publish.yml on WaveSpeedAI/wavespeed-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wavespeed-2.0.1.tar.gz -
Subject digest:
229ae0bae6bad54befaf3aca508dae220b4503ee545ddc15f558d0f29e5897aa - Sigstore transparency entry: 2544384070
- Sigstore integration time:
-
Permalink:
WaveSpeedAI/wavespeed-python@e359ef21229b4fe38981c8ce71661dddc874425a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/WaveSpeedAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e359ef21229b4fe38981c8ce71661dddc874425a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file wavespeed-2.0.1-py3-none-any.whl.
File metadata
- Download URL: wavespeed-2.0.1-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4814ede2af05424f1dc44fbf375246c0a021b7702f850285d78a7009a2ac64b
|
|
| MD5 |
2ad9a55bb140accf6f64878ac05a85d1
|
|
| BLAKE2b-256 |
c79f0ab68c75ed5c4acb11b9be790d320e26c8d37b13c9d3ee4d9b8800c26c59
|
Provenance
The following attestation bundles were made for wavespeed-2.0.1-py3-none-any.whl:
Publisher:
python-publish.yml on WaveSpeedAI/wavespeed-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wavespeed-2.0.1-py3-none-any.whl -
Subject digest:
e4814ede2af05424f1dc44fbf375246c0a021b7702f850285d78a7009a2ac64b - Sigstore transparency entry: 2544384155
- Sigstore integration time:
-
Permalink:
WaveSpeedAI/wavespeed-python@e359ef21229b4fe38981c8ce71661dddc874425a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/WaveSpeedAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e359ef21229b4fe38981c8ce71661dddc874425a -
Trigger Event:
workflow_dispatch
-
Statement type: