Skip to content

v2.0.0 — async-first rewrite, video/music/TEE/x402, and bundled agent skills

Choose a tag to compare

@sethbang sethbang released this 12 Aug 21:36
· 91 commits to main since this release
e5c2ef8

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` CLI

v2 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.

Links

Documentation ·
Migration Guide ·
API Reference ·
Examples