Synthetic exposes Anthropic-compatible endpoints. Apus provides it through the official @openclaw/synthetic-provider plugin and uses the Anthropic Messages API.

Property Value
Provider synthetic
Auth SYNTHETIC_API_KEY
API Anthropic Messages
Base URL https://api.synthetic.new/anthropic

Getting started

Install the plugin

```bash
apus plugins install @openclaw/synthetic-provider
```

Installation applies to a running Gateway automatically; otherwise it takes effect
on the next startup. See [Apply changes and inspect](/plugins/manage-plugins#apply-changes-and-inspect).

Get an API key

Get a `SYNTHETIC_API_KEY` from your Synthetic account, or let onboarding
prompt you for one.

Run onboarding

```bash
apus onboard --auth-choice synthetic-api-key
```

Verify the default model

Onboarding sets the default model to `synthetic/hf:MiniMaxAI/MiniMax-M3`.
Confirm it is registered:

```bash
apus models list --provider synthetic
```

Apus's Anthropic client appends /v1 to the base URL automatically, so use https://api.synthetic.new/anthropic (not /anthropic/v1). If Synthetic changes its base URL, override models.providers.synthetic.baseUrl.

Config example

{
  env: { vars: { SYNTHETIC_API_KEY: "sk-..." } },
  agents: {
    defaults: {
      model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M3" },
      models: { "synthetic/hf:MiniMaxAI/MiniMax-M3": { alias: "MiniMax M3" } },
    },
  },
  models: {
    mode: "merge",
    providers: {
      synthetic: {
        baseUrl: "https://api.synthetic.new/anthropic",
        apiKey: "${SYNTHETIC_API_KEY}",
        api: "anthropic-messages",
        models: [
          {
            id: "hf:MiniMaxAI/MiniMax-M3",
            name: "MiniMax M3",
            reasoning: true,
            input: ["text", "image"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 65536,
          },
        ],
      },
    },
  },
}

Model discovery

With a Synthetic credential, Apus discovers current text models from Synthetic's /openai/v1/models API. Inference still uses the Anthropic Messages API. Newly advertised models, including small models and syn: aliases, do not need an Apus catalog update.

The live catalog supplies context and output limits, image input, reasoning, tool support, and usage-based token prices. Those prices are estimates, not a subscription bill. See Synthetic's current model list for availability and its recommended aliases.

Offline catalog generation and unavailable or unusable discovery responses use the bundled seed models. Your selected model is not changed automatically. When you override the inference base URL, Apus skips Synthetic's fixed discovery URL so a proxy credential is not sent to Synthetic.

Model refs use the form synthetic/<modelId>. Use apus models list --provider synthetic to inspect your configured models.

Model allowlist
If you enable a model allowlist (`agents.defaults.modelPolicy.allow`), add every
Synthetic model you plan to use. Models not in the allowlist are hidden
from the agent.
Base URL override
If Synthetic changes its API endpoint, override the base URL:

```json5
{
  models: {
    providers: {
      synthetic: {
        baseUrl: "https://new-api.synthetic.new/anthropic",
      },
    },
  },
}
```

Apus still appends `/v1` automatically.

Related

Model providers

Provider rules, model refs, and failover behavior.

Configuration reference

Full config schema including provider settings.

Synthetic

Synthetic dashboard and API docs.