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.