Model providers

Using Venice AI with OpenClaw

4 min read

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.

Setup flow

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

    text
    1.   Sign up at https://venice.ai/
    2.   Go to **Settings > API Keys > Create new key**
    3.   Copy your API key (format: `vapi_xxxxxxxxxxxx`)
  2. 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.

    bash
    openclaw onboard --auth-choice venice-api-key
  3. 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.

    bash
    export VENICE_API_KEY="vapi_xxxxxxxxxxxx"
  4. 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.

    bash
    openclaw onboard --non-interactive \
      --auth-choice venice-api-key \
      --venice-api-key "vapi_xxxxxxxxxxxx"
  5. 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.

    bash
    openclaw agent --model venice/kimi-k2-5 --message "Hello, are you working?"
  6. 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.

    bash
    openclaw models set venice/kimi-k2-5
    openclaw models set venice/claude-opus-4-6
  7. 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.

    bash
    openclaw models list | grep venice
  8. 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. 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

OptionDescriptionExample
VENICE_API_KEYVenice AI API key that OpenClaw uses to authenticate and discover models.vapi_xxxxxxxxxxxx
env.VENICE_API_KEYConfig file env mapping that injects the Venice API key into the OpenClaw runtime.vapi_...
agents.defaults.model.primarySets the default primary model for agents, which you can point at a Venice model.venice/kimi-k2-5
models.modeControls how the Venice provider config merges with other model providers.merge
models.providers.venice.baseUrlThe Venice API base URL that OpenClaw calls for completions.https://api.venice.ai/api/v1
models.providers.venice.apiKeyReference to the Venice API key used by the Venice provider block.${VENICE_API_KEY}
models.providers.venice.apiSpecifies the Venice API style; Venice exposes an OpenAI-compatible completions API.openai-completions
models.providers.venice.models[0].idThe 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.

bash
echo $VENICE_API_KEY
openclaw models list | grep venice

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

bash
openclaw models list | grep venice

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

bash
https://api.venice.ai/api/v1

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

bash
openclaw models list

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

More in Model providers