--- summary: "Use Synthetic's Anthropic-compatible API in OpenClaw" read_when: - You want to use Synthetic as a model provider - You need a Synthetic API key or base URL setup title: "Synthetic" --- [Synthetic](https://synthetic.new) exposes Anthropic-compatible endpoints. OpenClaw bundles it as the `synthetic` provider 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 Get a `SYNTHETIC_API_KEY` from your Synthetic account, or let onboarding prompt you for one. ```bash openclaw onboard --auth-choice synthetic-api-key ``` Onboarding sets the default model to: ```text synthetic/hf:MiniMaxAI/MiniMax-M2.5 ``` OpenClaw'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 ```json5 { env: { SYNTHETIC_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" }, models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.5": { alias: "MiniMax M2.5" } }, }, }, models: { mode: "merge", providers: { synthetic: { baseUrl: "https://api.synthetic.new/anthropic", apiKey: "${SYNTHETIC_API_KEY}", api: "anthropic-messages", models: [ { id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 192000, maxTokens: 65536, }, ], }, }, }, } ``` ## Built-in catalog All Synthetic models use cost `0` (input/output/cache). | Model ID | Context window | Max tokens | Reasoning | Input | | ------------------------------------------------------ | -------------- | ---------- | --------- | ------------ | | `hf:MiniMaxAI/MiniMax-M2.5` | 192,000 | 65,536 | no | text | | `hf:moonshotai/Kimi-K2-Thinking` | 256,000 | 8,192 | yes | text | | `hf:zai-org/GLM-4.7` | 198,000 | 128,000 | no | text | | `hf:deepseek-ai/DeepSeek-R1-0528` | 128,000 | 8,192 | no | text | | `hf:deepseek-ai/DeepSeek-V3-0324` | 128,000 | 8,192 | no | text | | `hf:deepseek-ai/DeepSeek-V3.1` | 128,000 | 8,192 | no | text | | `hf:deepseek-ai/DeepSeek-V3.1-Terminus` | 128,000 | 8,192 | no | text | | `hf:deepseek-ai/DeepSeek-V3.2` | 159,000 | 8,192 | no | text | | `hf:meta-llama/Llama-3.3-70B-Instruct` | 128,000 | 8,192 | no | text | | `hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 524,000 | 8,192 | no | text | | `hf:moonshotai/Kimi-K2-Instruct-0905` | 256,000 | 8,192 | no | text | | `hf:moonshotai/Kimi-K2.5` | 256,000 | 8,192 | yes | text + image | | `hf:openai/gpt-oss-120b` | 128,000 | 8,192 | no | text | | `hf:Qwen/Qwen3-235B-A22B-Instruct-2507` | 256,000 | 8,192 | no | text | | `hf:Qwen/Qwen3-Coder-480B-A35B-Instruct` | 256,000 | 8,192 | no | text | | `hf:Qwen/Qwen3-VL-235B-A22B-Instruct` | 250,000 | 8,192 | no | text + image | | `hf:zai-org/GLM-4.5` | 128,000 | 128,000 | no | text | | `hf:zai-org/GLM-4.6` | 198,000 | 128,000 | no | text | | `hf:zai-org/GLM-5` | 256,000 | 128,000 | yes | text + image | | `hf:deepseek-ai/DeepSeek-V3` | 128,000 | 8,192 | no | text | | `hf:Qwen/Qwen3-235B-A22B-Thinking-2507` | 256,000 | 8,192 | yes | text | Model refs use the form `synthetic/`. Use `openclaw models list --provider synthetic` to see all models available on your account. If you enable a model allowlist (`agents.defaults.models`), add every Synthetic model you plan to use. Models not in the allowlist are hidden from the agent. If Synthetic changes its API endpoint, override the base URL: ```json5 { models: { providers: { synthetic: { baseUrl: "https://new-api.synthetic.new/anthropic", }, }, }, } ``` OpenClaw still appends `/v1` automatically. ## Related Provider rules, model refs, and failover behavior. Full config schema including provider settings. Synthetic dashboard and API docs.