Synthetic exposes Anthropic-compatible endpoints.
Genesis registers 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 an API key
Obtain a `SYNTHETIC_API_KEY` from your Synthetic account, or let the
onboarding wizard prompt you for one.
Run onboarding
```bash
genesis onboard --auth-choice synthetic-api-key
```
Verify the default model
After onboarding the default model is set to:
```
synthetic/hf:MiniMaxAI/MiniMax-M2.5
```
Genesis'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: { 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
`genesis models list --provider synthetic` to see all models available on your
account.
Model allowlist
If you enable a model allowlist (`agents.defaults.models`), add every
Synthetic model you plan to use. Models not in the allowlist will be hidden
from the agent.
Base URL override
If Synthetic changes its API endpoint, override the base URL in your config:
```json5
{
models: {
providers: {
synthetic: {
baseUrl: "https://new-api.synthetic.new/anthropic",
},
},
},
}
```
Remember that Genesis appends `/v1` automatically.
Related
-
Model selection Provider rules, model refs, and failover behavior.
-
Configuration reference Full config schema including provider settings.
-
Synthetic Synthetic dashboard and API docs.