Venice AI Privacy Models in OpenClaw

Set up Venice AI in OpenClaw to run privacy-focused open models with no logging, plus anonymized proxy access to Claude, GPT, Gemini, and Grok. Covers privacy modes and plugin install.

Read this when

  • You want privacy-focused inference in OpenClaw
  • You want Venice AI setup guidance

Venice AI offers inference built around privacy: open models execute without any logging, and you also get anonymized proxy access to Claude, GPT, Gemini, and Grok. Every endpoint speaks the OpenAI-compatible protocol (/v1).

Privacy modes

ModeBehaviorModels
PrivateNo prompt or response is ever stored or logged. Ephemeral.GLM, Gemma, Grok, Qwen, DeepSeek, Kimi, Venice Uncensored, etc.
AnonymizedProxied via Venice, with metadata removed prior to forwarding.Claude, GPT, and selected Qwen models

Warning

Full privacy does not apply to anonymized models. Metadata is stripped by Venice before the request is forwarded, yet the provider behind it (OpenAI, Anthropic, Google, xAI) still handles that request. Choose Private models whenever complete privacy is needed.

Getting started

Install the plugin

openclaw plugins install @openclaw/venice-provider

Get your API key

  1. Create an account at venice.ai
  2. Navigate to Settings > API Keys > Create new key
  3. Save a copy of your API key (format: vapi_xxxxxxxxxxxx)

Configure OpenClaw

Interactive (recommended)

openclaw onboard --auth-choice venice-api-key

Asks for the API key (or reuses a VENICE_API_KEY that already exists), shows the Venice models on offer, and configures your default model.

Environment variable

export VENICE_API_KEY="vapi_xxxxxxxxxxxx"

Non-interactive

openclaw onboard --non-interactive --accept-risk --skip-health \
  --auth-choice venice-api-key \
  --venice-api-key "vapi_xxxxxxxxxxxx"

Verify setup

openclaw agent --model venice/zai-org-glm-4.7 --message "Hello, are you working?"

Model selection

  • Default: venice/zai-org-glm-4.7 (private reasoning).
  • Strongest anonymized option: venice/claude-opus-5.
openclaw models set venice/zai-org-glm-4.7
openclaw models list --all --provider venice

Another route: run openclaw configure and choose Model/auth provider > Venice AI.

Tip

Use caseModelWhy
General chat (default)zai-org-glm-4.7Venice live default trait
Best overall qualityclaude-opus-5Current promoted anonymized Opus model
Privacy + codingqwen3-coder-480b-a35b-instruct-turboPrivate coding model with large context
Fast + cheapgoogle-gemma-4-31b-itLow-cost promoted private vision model
Complex private tasksdeepseek-v3.2Promoted private reasoning model
Uncensoredvenice-uncensored-1-2Current uncensored Venice model

Built-in catalog (16 visible models)

Private models (10) — fully private, no logging

Model IDNameContextNotes
zai-org-glm-5-2GLM 5.21MRecommended, coding
zai-org-glm-4.7GLM 4.7198kPrivate reasoning
venice-uncensored-1-2Venice Uncensored 1.2128kMost uncensored, vision
google-gemma-4-31b-itGoogle Gemma 4 31B Instruct256kRecommended, vision
kimi-k2-6Kimi K2.6256kRecommended, coding, vision
deepseek-v3.2DeepSeek V3.2160kRecommended, reasoning
qwen3-235b-a22b-thinking-2507Qwen3 235B Thinking128kDefault reasoning
qwen3-coder-480b-a35b-instruct-turboQwen3 Coder 480B Turbo256kDefault coding
qwen3-vl-235b-a22bQwen3 VL 235B128kDefault vision
grok-4-5Grok 4.5500kRecommended, coding, vision

Anonymized models (6) — via Venice proxy

Model IDNameContextNotes
qwen-3-7-maxQwen 3.7 Max (via Venice)1MRecommended, coding, vision
qwen-3-7-plusQwen 3.7 Plus (via Venice)1MRecommended, coding, vision
claude-fable-5Claude Fable 5 (via Venice)1MRecommended, coding, vision
claude-opus-5Claude Opus 5 (via Venice)1MRecommended, coding, vision
claude-sonnet-4-6Claude Sonnet 4.6 (via Venice)1MRecommended, coding, vision
openai-gpt-56-solGPT-5.6 Sol (via Venice)1MRecommended, vision

Deprecated compatibility rows (3) — hidden from pickers

Model IDReplacement
zai-org-glm-4.6zai-org-glm-4.7
google-gemma-3-27b-itgoogle-gemma-4-31b-it
kimi-k2-5kimi-k2-6

Because Grok-backed Venice models (grok-4-5 and similar) share the same upstream tool-call format as the native xAI provider, they receive the identical tool-schema compat patch.

Model discovery

The catalog shown above is the manifest-backed seed. During runtime, OpenClaw pulls a fresh copy from the Venice /models API, and if that API cannot be reached it reverts to the seed catalog. Listing on the /models endpoint is public and needs no auth, while inference demands a valid API key.

Retired model IDs might still be accepted by Venice as provider-owned aliases. Only the model IDs that /models returns are advertised in the OpenClaw catalog.

DeepSeek V4 replay behavior

When Venice serves DeepSeek V4 models, including deepseek-v4-pro or deepseek-v4-flash, and leaves out the reasoning_content replay field on assistant messages, OpenClaw supplies it. OpenClaw also removes thinking/reasoning/reasoning_effort from the request payload, since Venice refuses DeepSeek's native thinking control on those models. Note that this replay handling is independent of the thinking controls that belong to the native DeepSeek provider.

Streaming and tool support

FeatureSupport
StreamingAll models
Function callingAll visible seed models; live rows follow API metadata
Vision/ImagesModels marked "Vision" above
JSON modeVia response_format

Prompt caching

Against the native https://api.venice.ai/api/v1 endpoint, OpenClaw attaches a stable prompt_cache_key to related requests so that cache affinity improves. A cache key given explicitly in the request outranks the session ID. If cacheRetention: "none" is set, that routing hint is suppressed, though Venice's automatic caching stays on. Endpoints you define yourself keep whatever behavior you configured. Caching specific to the provider, Claude cache markers included, is handled by Venice. See Venice prompt caching.

Pricing

Credits are the billing unit for Venice. Prices for anonymized models come to about the same as calling the API directly, with a modest Venice surcharge added. Current rates appear at venice.ai/pricing.

During model discovery, OpenClaw pulls live prices from the public GET /api/v1/models response that Venice exposes. That same plugin parser feeds the hosted catalog publisher. For both known and newly discovered models, the API's full schedule applies, quoted in USD per million tokens; the seed catalog prices serve as the offline fallback. Should live prices be absent or invalid, known models fall back to the complete seed catalog schedule. Models that are unknown and lack valid pricing keep zero estimates, which is not the same as being free. Zero rates explicitly returned by the API are honored.

Where the API provides extended pricing, those rates cover the whole request only if total prompt input exceeds context_token_threshold. Uncached input, cache reads, and cache writes all count as prompt input; output tokens play no part in picking the tier. A request sitting exactly at the threshold is still billed at base rates. Base and extended rates are always drawn from a single schedule. If an extended schedule is invalid, it is never mixed with seed catalog prices or prices from any other source.

Any models.providers.venice.models[].cost entry you state explicitly overrides catalog estimates, zero included. When cost or {} is omitted, the catalog schedule is inherited. Partial flat overrides take the missing base rates from the catalog and drop inherited tiers; an explicit tieredPricing takes precedence, while tieredPricing: [] chooses flat pricing. Prices set on the agent-local root models.json carry the highest priority.

When onboarding runs fresh in models.mode: "merge", generated catalog rows are kept out of the configuration, so they can never turn into price pins. Running onboarding again keeps existing model entries, aliases, and model selection intact. In models.mode: "replace", onboarding keeps explicit seed catalog rows, because discovery is disabled in that mode. Costs already serialized in your configuration are never deleted or migrated automatically, even when they happen to match an older seed catalog entry. If merge mode is on, back up the configuration first, then delete only the cost fields you no longer want so catalog pricing resumes; leave deliberate overrides in place.

Discovery makes use of the rows and cache it already fetched. Showing usage triggers no price requests, and a Gateway that is already running will not pick up every upstream price change right away. Hosted catalog rows and prices go live together once the Gateway prepares a replacement generation, with no restart needed; see Hosted model catalog. Make sizing-only edits in your source configuration and avoid copying generated model rows back into it: if you replace a whole model array from a runtime snapshot, inherited costs can end up stored as explicit overrides. Costs already recorded in history stay as they are; current pricing only fills in missing costs or unknown-price zero placeholders. See Token use and costs.

Usage examples

# Default private model
openclaw agent --model venice/zai-org-glm-4.7 --message "Quick health check"

# Claude Opus via Venice (anonymized)
openclaw agent --model venice/claude-opus-5 --message "Summarize this task"

# Uncensored model
openclaw agent --model venice/venice-uncensored-1-2 --message "Draft options"

# Vision model with image
openclaw agent --model venice/qwen3-vl-235b-a22b --message "Review attached image"

# Coding model
openclaw agent --model venice/qwen3-coder-480b-a35b-instruct-turbo --message "Refactor this function"

Troubleshooting

API key not recognized

openclaw models list --provider venice

Check that the API key is configured and begins with vapi_; never print or share the key's value.

Model not available

Execute openclaw models list --all --provider venice to list the models available right now; the catalog shifts as Venice introduces or retires models.

Connection issues

The Venice API lives at https://api.venice.ai/api/v1. Make sure your network permits HTTPS traffic to that host.

Note

Further assistance: Troubleshooting and FAQ.

Advanced configuration

Config file example

{
  env: { vars: { VENICE_API_KEY: "vapi_..." } },
  agents: { defaults: { model: { primary: "venice/zai-org-glm-4.7" } } },
  models: {
    mode: "merge",
    providers: {
      venice: {
        baseUrl: "https://api.venice.ai/api/v1",
        apiKey: "${VENICE_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "zai-org-glm-4.7",
            name: "GLM 4.7",
            reasoning: true,
            input: ["text"],
            contextWindow: 198000,
            maxTokens: 16384,
          },
        ],
      },
    },
  },
}
  • Model selection, Picking providers, model refs, and how failover works.

  • Venice AI, Venice AI's homepage, where you can sign up for an account.

  • API documentation, Reference and developer documentation for the Venice API.

  • Pricing, Venice's present credit rates and plans.

1,744 words · updated Oct 26, 2026