v2.0.0 — async-first rewrite, video/music/TEE/x402, and bundled agent skills
Unofficial, community-maintained SDK for Venice.ai. Not affiliated with or endorsed by Venice AI.
For official resources see venice.ai.
Requires Python 3.13+. On earlier versions pip install venice-ai resolves to
v1.3.0 with no error or warning — check python --version before installing.
pip install 'venice-ai>=2' # core SDK
pip install 'venice-ai[cli]>=2' # + the `venice` CLIv2 is a full rewrite of v1.3.x. Coverage is now 48 of the 49 endpoints in Venice's
swagger — the one exception is GET /billing/usage, which Venice deprecated upstream
and this SDK deliberately does not implement.
Breaking changes
| v1.3.x | v2.0.0 |
|---|---|
| Python 3.11 / 3.12 | Python 3.13+ |
VeniceClient (sync) |
SyncVeniceClient |
AsyncVeniceClient |
VeniceClient — now async by default |
client.image.generate(...) |
client.image.create(...) |
client.image.get_available_styles() |
client.image.list_styles() |
client.billing.get_usage(...) |
client.billing.get_usage_history(...) (cursor paginated) |
client.get_model_pricing(id) |
(await client.models.get(id)).model_spec.pricing |
resp["data"] (TypedDict) |
resp.data (Pydantic model) |
venice_ai.types.images |
venice_ai.types.api.images |
max_tokens= |
max_completion_tokens= |
There are no deprecation aliases — the old names raise AttributeError or ImportError.
venice lint <path> flags v1, OpenAI-style, and non-idiomatic patterns in your code,
which is the fastest way to find what needs changing.
Full details: Migration Guide.
What's new
Video and music generation. client.video and client.music wrap Venice's async
job endpoints. client.video.run(...) returns a VideoJob that manages the whole
submit → poll → wait → download → cleanup lifecycle, with async with semantics that
guarantee server-side cleanup. Includes quotes, Seedance reference-audio and
reference-video (R2V) inputs, face-media consents, and client.video.transcribe().
Confidential compute. Full client-side Intel TDX attestation verification
(DcapTdxVerifier, fail-closed), per-request integrity proofs via
client.tee.get_signature(...), and client-side end-to-end encryption.
x402 wallet billing on EVM and Solana. client.x402.top_up_with(...) for
EVM/Base and top_up_with_solana(...) for USDC-on-Solana, plus SIWE and SIWS header
signing for the read endpoints. Both paths live-verified end-to-end against Venice's
facilitator.
Typed responses throughout. Endpoints that returned TypedDicts now return
Pydantic models. You can pass a Pydantic model directly as response_format= and read
it back off response.parsed.
No more hardcoded model IDs. client.models.resolve_chat(), resolve_image(),
resolve_video(), resolve_tts(), resolve_asr(), resolve_embedding(),
resolve_cheapest_video() — one capability-filtered call each.
Ergonomics. ChatStream.text_deltas() and .collect(), run_with_tools() for
tool loops, tool_from_function() to build a Tool from type hints, .save() /
.save_all() on image and audio responses, client.gather(max_concurrency=N).
Operations. Intelligent rate-limit scheduling with an optional Redis backend, cost
estimation via estimate_cost() and CostTracker, and venice health for
connectivity and balance diagnostics.
Bundled Claude Code skills. Four agent skills ship inside the package.
venice skills install (requires the [cli] extra) copies them into .claude/skills/
so Claude Code writes idiomatic v2 code against this SDK instead of guessing at
OpenAI-shaped calls.
74 additions and 45 fixes in total — see the
CHANGELOG for the
complete list.