1. Group models by protocol

  • openai-responses for models advertising /responses.
  • openai-completions for Chat Completions models.
  • anthropic-messages for models advertising /v1/messages.

2. Provider example

JSON fragment
{
  "models": {
    "mode": "merge",
    "providers": {
      "ghc-responses": {
        "baseUrl": "http://127.0.0.1:8313/v1",
        "apiKey": "1",
        "api": "openai-responses",
        "models": [{
          "id": "YOUR_RESPONSES_MODEL_ID",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 128000,
          "maxTokens": 16384,
          "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
        }]
      }
    }
  }
}

Inside containers, 127.0.0.1 points to the OpenClaw container. Use the ghc-api service name or another reachable host address.

3. Use accurate capabilities

Populate context, output, image input, and reasoning fields from live metadata. Cost fields are client-side estimates; use zero rather than inventing precision.

Base URL depends on the adapter.

OpenAI-compatible providers generally use /v1; Anthropic Messages generally uses the service root.

4. Troubleshoot

  1. Test network reachability from the OpenClaw process or container.
  2. Match API type, endpoint, and model.
  3. Use an approved token when authentication is enabled.
  4. Inspect the actual request path in ghc-api.

OpenClaw model providers ↗

Next step

Inspect the models and endpoints available to your account before copying a model ID into client configuration.

Inspect models and parameters →