BBramaDocs
Browse documentation

Venice venice

Venice's hosted models behind an OpenAI-compatible endpoint. Routes are venice/<model> over openai-chat, paid by the deployment's own API key.

How we authenticate

There is no login flow here. Venice issues a long-lived API key in its own console; an operator stores it once in the Skarbiec vault, and at final use the gateway redeems the deployment's capability for this provider through the local entitlements router, reduces the stored document to the bare key, and sends it as Authorization: Bearer <key>. The key has no refresh path and no invented expiry — it works until Venice revokes it or an operator replaces it in the vault.

The two failure shapes point at two different repairs: a 503 credential_unauthorized means no capability, read grant or trust material produced a key at final use — repair the authorization chain (runbook); a 502 provider_failure with a provider_authentication: prefix means the key was produced and Venice rejected it — repair the provider account.

Models

No pinned rows: the catalog is discovered live from https://api.venice.ai/api/v1/models. Discovery follows the shared provider transport contract; public metadata comes from models.dev and is advisory only.

Plan usage

Venice publishes no free plan-usage report for API keys. The ledger records that absence as the provider's own answer, never as a zero (subscription).

Endpoints

Chathttps://api.venice.ai/api/v1/chat/completions
Imagehttps://api.venice.ai/api/v1/images/generations
Voicehttps://api.venice.ai/api/v1/audio/speech
Model discoveryhttps://api.venice.ai/api/v1/models
Auth headerAuthorization: Bearer <key>
Trusted hostapi.venice.ai
Base URL overrideBRAMA_PROVIDER_VENICE_BASE_URL, validated with the refusals in provider

Besides chat this provider generates media, reached through the media alias for that shape or a canonical route the catalogue lists as that kind, and paid by this deployment’s own key (media).