#Custom image model

1 messages · Page 1 of 1 (latest)

late carbon
#

I'm using claude as main llm, how can I set up to use gemini flash as image model (to describe
image)

stuck flickerBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

heavy pebbleBOT
#

Yep — keep Claude as your main model, and set the separate image/vision model config.

  1. Make sure the Gateway can see a Gemini API key:
export GEMINI_API_KEY="..."

If you run OpenClaw as a service, put that env var wherever the gateway service loads env from, then restart the gateway.

  1. Set the image model:
openclaw config set agents.defaults.imageModel.primary "google/gemini-3-flash-preview"
openclaw config validate
openclaw gateway restart

Equivalent openclaw.json shape:

#
{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-sonnet-4-6"
      },
      imageModel: {
        primary: "google/gemini-3-flash-preview"
      }
    }
  }
}

Small caveat: agents.defaults.imageModel is the image-understanding / fallback vision model. If your active Claude model already accepts images, some direct chat image turns may still go straight to Claude; the configured image model is definitely used by the image/media-understanding path and when the active model can’t handle image input.