How Synthetic works
Synthetic is a subscription service that runs open-source coding LLMs on dedicated infrastructure and serves them over an OpenAI-compatible (and Anthropic-compatible) API. Instead of paying per-token, you pay a flat monthly subscription and get a generous rate-limit budget covering every model on the platform. It’s positioned as a direct alternative to Claude’s 200/month plans for developers who do a lot of coding: the same price point, several-times-higher rate limits, and your choice of open-source models. Kodus reaches Synthetic through the OpenAI-compatible endpoint, so there are no adapter changes — just BYOK credentials.Plans at a glance
Pricing and rate limits change. Always confirm at synthetic.new/pricing before choosing a tier.
Subscription (recommended for code review)
| Plan | Price | Rate limit |
|---|---|---|
| Monthly | ~1/day) | ~500 messages per 5-hour window |
| Enterprise / usage-based | contact Synthetic | pay-per-token option |
- All standard models are covered by the subscription — pick any of them by changing the
modelfield. - Rate limits are enforced on a 5-hour rolling window, not per month — plan concurrency to fit inside that window.
- Synthetic does not train on your prompts/completions and deletes API data within 14 days.
Recommended models
Synthetic exposes models using a HuggingFace-style prefix (hf:org/model). A few strong picks for code review:
| Model id | Notes |
|---|---|
hf:zai-org/GLM-4.6 | GLM family; balanced for general-purpose review. |
hf:moonshotai/Kimi-K2-Instruct | Long-context Kimi K2 — great on large PRs. |
hf:Qwen/Qwen3-Coder-480B-A35B-Instruct | Strong specialized coder. |
hf:deepseek-ai/DeepSeek-V3.1 | DeepSeek V3.1; strong agentic/coding behavior. |
Creating an API Key
- Go to synthetic.new and sign up or log in.
- Subscribe to a plan at synthetic.new/pricing.
- Open the developer console and create an API key. Copy it immediately — you will not see the full key again.
Configure Synthetic in Kodus
The primary flow is BYOK on Kodus Cloud. Self-hosted installs can use environment variables as a secondary option.Option 1 — BYOK on Kodus Cloud (recommended)
- In the Kodus web UI, open Settings → BYOK and click Edit on the Main model (or Fallback).
- Toggle the form into Custom mode so you can enter a base URL and a free-text model name.
-
Fill the fields:
Field Value Provider OpenAI CompatibleAPI Key your Synthetic API key Base URL https://api.synthetic.new/openai/v1Model e.g. hf:zai-org/GLM-4.6(use thehf:prefix and the full HuggingFace path)Max Concurrent Requests start at 3–5to fit the 5-hour budget on bigger PRsMax Output Tokens leave default unless you hit truncation - Save. Kodus validates against the endpoint and surfaces any 401 / 404 immediately.
- Open any PR to trigger a review; the BYOK status badge in Settings turns green on the first successful call.
Configure Synthetic as Main and keep an OpenAI or Anthropic key as Fallback — when the 5-hour window fills up, Kodus automatically fails over and reviews keep flowing.
Option 2 — Self-hosted (environment variables)
If you run Kodus in Fixed Mode (single global provider, no per-org BYOK), configure Synthetic in the.env of your API + worker containers:
This path is only needed for self-hosted Kodus installs that deliberately disable BYOK. If BYOK is enabled on your self-hosted instance, prefer Option 1 — the UI-based flow is the same as on Cloud.
.env, then verify:
When to pick Synthetic
- Your primary model is open-source (Kimi, DeepSeek, Qwen Coder, GLM) and you want a single flat-rate bill instead of juggling per-provider token spend.
- **You’re comparing to Claude Max (30/mo delivers several times the rate-limit budget for similarly-capable coding models.
- You want strong data posture — Synthetic is explicit about no-training and 14-day prompt/completion retention.
Troubleshooting
429 Too Many Requests inside the 5-hour window
429 Too Many Requests inside the 5-hour window
- The subscription budget is per 5-hour rolling window, not per hour or per month. Check how many requests you’ve sent recently in the Synthetic dashboard.
- Either wait for the window to roll forward, lower
Max Concurrent Requestsin BYOK, or upgrade/stack plans. - Configure a
FallbackBYOK provider so reviews keep running while you’re rate-limited.
401 / authentication errors
401 / authentication errors
- Confirm the key is active and the subscription is current in the Synthetic dashboard.
- Make sure there are no trailing spaces or quotes in the
.envvalue.
Model not found
Model not found
- Synthetic uses the
hf:org/modelformat. Leaving off thehf:prefix or using a different capitalization will 404. - Cross-check against dev.synthetic.new/docs/openai/models.
Long cold-start on first call
Long cold-start on first call
- Some larger models may cold-start the first time they’re used after a period of inactivity.
- If first-call latency is blocking Kodus health checks, warm the model by issuing a tiny test request before opening PRs.
Connection errors
Connection errors
- Confirm your server can reach
api.synthetic.new. - Review API and worker logs for the exact upstream error.