Model providers
Using Venice AI with OpenClaw
Browse more in Model providers.
All model providers guides →This guide walks you through configuring Venice AI as a model provider in OpenClaw. You will connect your Venice account, pick private vs anonymized models, and set a default Venice model for your agents.
By the end, you can run OpenClaw agents against Venice models like `venice/kimi-k2-5` and `venice/claude-opus-4-6` from the CLI or config.
Prerequisites
- ✓An active Venice AI account with access to the API (sign up at https://venice.ai/).
- ✓A Venice API key in the `vapi_xxxxxxxxxxxx` format created under Settings > API Keys.
- ✓OpenClaw installed and available on your PATH so you can run the `openclaw` CLI.
- ✓Network access from your environment to `https://api.venice.ai/api/v1` over HTTPS.
Steps
- 1
Create a Venice AI API key
Start by creating a Venice API key so OpenClaw can authenticate against the Venice API. Keep this key handy; you will either export it as an environment variable or pass it to the onboarding command.
text1. Sign up at https://venice.ai/ 2. Go to **Settings > API Keys > Create new key** 3. Copy your API key (format: `vapi_xxxxxxxxxxxx`) - 2
Run interactive onboarding for Venice AI
Use the OpenClaw onboarding flow to wire Venice into your setup with minimal manual config. This command prompts for your Venice API key (or uses `VENICE_API_KEY` if already set), discovers available models, and lets you choose a default Venice model.
bashopenclaw onboard --auth-choice venice-api-key - 3
Set the VENICE_API_KEY environment variable
Export your Venice API key so OpenClaw and other tools can read it without hardcoding secrets in commands. This also lets the onboarding flow auto-detect your key and enables automatic model discovery from the Venice API.
bashexport VENICE_API_KEY="vapi_xxxxxxxxxxxx" - 4
Onboard Venice AI non-interactively
If you script deployments or CI, use the non-interactive onboarding mode. This passes the Venice API key directly on the command line and configures the provider without prompts, which is useful for automated environments.
bashopenclaw onboard --non-interactive \ --auth-choice venice-api-key \ --venice-api-key "vapi_xxxxxxxxxxxx" - 5
Verify Venice AI is working with an agent call
Once configured, run a quick agent call against a Venice model to confirm everything is wired correctly. This checks both authentication and model routing through OpenClaw.
bashopenclaw agent --model venice/kimi-k2-5 --message "Hello, are you working?" - 6
Choose and switch your default Venice model
Pick a default Venice model that matches your use case, such as private reasoning or high-capability anonymized models. You can change this default at any time using the models CLI so your agents use the right Venice backend by default.
bashopenclaw models set venice/kimi-k2-5 openclaw models set venice/claude-opus-4-6 - 7
List available Venice models discovered by OpenClaw
OpenClaw can list all Venice models it knows about, either from live discovery or the static catalog fallback. Use this to confirm that your key works and to see which private and anonymized models are currently available.
bashopenclaw models list | grep venice - 8
Configure Venice AI explicitly in your OpenClaw config
For more control, define Venice as a provider in your OpenClaw config file. This lets you set the base URL, wire `VENICE_API_KEY`, and pin specific models and capabilities in a structured way.
json{ env: { VENICE_API_KEY: "vapi_..." }, agents: { defaults: { model: { primary: "venice/kimi-k2-5" } } }, models: { mode: "merge", providers: { venice: { baseUrl: "https://api.venice.ai/api/v1", apiKey: "${VENICE_API_KEY}", api: "openai-completions", models: [ { id: "kimi-k2-5", name: "Kimi K2.5", reasoning: true, input: ["text", "image"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 256000, maxTokens: 65536, }, ], }, }, }, } - 9
Exercise different Venice models from the CLI
Once Venice is wired up, call a variety of models to validate privacy modes, uncensored behavior, vision, and coding capabilities. These commands are also a quick way to sanity-check that streaming, vision, and other features behave as expected for each model.
bash# Use the default private model openclaw agent --model venice/kimi-k2-5 --message "Quick health check" # Use Claude Opus via Venice (anonymized) openclaw agent --model venice/claude-opus-4-6 --message "Summarize this task" # Use uncensored model openclaw agent --model venice/venice-uncensored --message "Draft options" # Use vision model with image openclaw agent --model venice/qwen3-vl-235b-a22b --message "Review attached image" # Use coding model openclaw agent --model venice/qwen3-coder-480b-a35b-instruct --message "Refactor this function"
Configuration
| Option | Description | Example |
|---|---|---|
| VENICE_API_KEY | Venice AI API key that OpenClaw uses to authenticate and discover models. | vapi_xxxxxxxxxxxx |
| env.VENICE_API_KEY | Config file env mapping that injects the Venice API key into the OpenClaw runtime. | vapi_... |
| agents.defaults.model.primary | Sets the default primary model for agents, which you can point at a Venice model. | venice/kimi-k2-5 |
| models.mode | Controls how the Venice provider config merges with other model providers. | merge |
| models.providers.venice.baseUrl | The Venice API base URL that OpenClaw calls for completions. | https://api.venice.ai/api/v1 |
| models.providers.venice.apiKey | Reference to the Venice API key used by the Venice provider block. | ${VENICE_API_KEY} |
| models.providers.venice.api | Specifies the Venice API style; Venice exposes an OpenAI-compatible completions API. | openai-completions |
| models.providers.venice.models[0].id | The Venice model ID you register in the config for explicit model metadata. | kimi-k2-5 |
Troubleshooting
API key not recognized
When Venice rejects your key, first confirm that `VENICE_API_KEY` is set in your shell and that OpenClaw can see Venice models. The key must start with `vapi_`, so if it does not, regenerate it in the Venice dashboard.
echo $VENICE_API_KEY
openclaw models list | grep veniceVenice models do not appear in `openclaw models list`
OpenClaw discovers Venice models automatically when `VENICE_API_KEY` is set, but if the Venice API is unreachable it falls back to a static catalog. Check your network access to the Venice endpoint and retry the list command.
openclaw models list | grep veniceConnection issues reaching the Venice API
If calls hang or fail, verify that your environment can reach the Venice API over HTTPS. ai/api/v1` is allowed by your firewall or proxy.
https://api.venice.ai/api/v1A specific Venice model ID is not available
The Venice model catalog updates dynamically and some models may be temporarily offline. Run the models list command to see what is currently available and switch to another Venice model if needed.
openclaw models listFrequently asked questions
Powered by Mem0
Add persistent memory to OpenClaw
Official Mem0 plugin for OpenClaw keeps context across chats and tools. Smaller prompts, lower cost, better continuity for your agents.