Integration guide
LiteLLM on Seedrise
To use Seedrise in LiteLLM, prefix each model ID with openai/, set api_base to https://api.seedrise.ai/v1 and pass your Seedrise key, either in litellm.completion() or in the proxy's config.yaml.
Updated 2026-11-02
LiteLLM settings at a glance
| LiteLLM setting | Value for Seedrise |
|---|---|
model | openai/ plus the Seedrise model ID, for example openai/claude-sonnet-5-5 |
api_base | https://api.seedrise.ai/v1 |
api_key | Your Seedrise key, in config as os.environ/SEEDRISE_API_KEY |
| Claude in Anthropic format | anthropic/claude-sonnet-5-5 with api_base set to https://api.seedrise.ai (optional) |
Checked against LiteLLM's documentation on 2026-11-02.
Why put Seedrise behind LiteLLM
Every model behind one api_base
Claude, GPT, Gemini, DeepSeek, Kimi and more on one base URL and one key. Each model is a three-line entry in your model list.
Limits at both layers
LiteLLM virtual keys and budgets for your developers, with Seedrise key limits underneath: budget, model allow-list, IP allow-list and expiry.
One invoice, Australian regions
Usage by key and model in the console, one monthly invoice in USD or AUD. Models marked AU can be pinned to Sydney or Melbourne on request.
Setup in five minutes
- Get a Seedrise key. Request a rate card, receive your console login, and create a key for your LiteLLM deployment in the console, with the models it may call and a monthly budget.
- Store the keys. Export your Seedrise key as
SEEDRISE_API_KEYon the proxy host, next toLITELLM_MASTER_KEYfor LiteLLM itself. LiteLLM requires the master key to start withsk-.bashexport SEEDRISE_API_KEY="sk-..." # your Seedrise key export LITELLM_MASTER_KEY="sk-..." # admin key for your proxy - Add the models to config.yaml. Each Seedrise model is
openai/plus its ID, withapi_baseset tohttps://api.seedrise.ai/v1.model_nameis the name your apps will call.yamlmodel_list: - model_name: claude-sonnet-5-5 litellm_params: model: openai/claude-sonnet-5-5 api_base: https://api.seedrise.ai/v1 api_key: os.environ/SEEDRISE_API_KEY timeout: 600 - model_name: gpt-6.1-sol litellm_params: model: openai/gpt-6.1-sol api_base: https://api.seedrise.ai/v1 api_key: os.environ/SEEDRISE_API_KEY timeout: 600 - model_name: deepseek-v3.2 litellm_params: model: openai/deepseek-v3.2 api_base: https://api.seedrise.ai/v1 api_key: os.environ/SEEDRISE_API_KEY - model_name: kimi-k2.5 litellm_params: model: openai/kimi-k2.5 api_base: https://api.seedrise.ai/v1 api_key: os.environ/SEEDRISE_API_KEY general_settings: master_key: os.environ/LITELLM_MASTER_KEY - Start the proxy. Run
litellm --config config.yaml. The examples here use port 4000, as LiteLLM's own documentation does.bashlitellm --config config.yaml - Send a test request. Call
http://localhost:4000/v1/chat/completionswith your master key and amodel_namefrom the config.bashcurl http://localhost:4000/v1/chat/completions \ -H "Authorization: Bearer $LITELLM_MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"claude-sonnet-5-5","messages":[{"role":"user","content":"Hello"}]}'
Python SDK, without the proxy
The same three settings work in litellm.completion() directly.
import os
import litellm
response = litellm.completion(
model="openai/claude-sonnet-5-5",
api_base="https://api.seedrise.ai/v1",
api_key=os.environ["SEEDRISE_API_KEY"],
messages=[{"role": "user", "content": "Summarise this changelog in three bullets."}],
)
print(response.choices[0].message.content)Models to start with
Context and output limits as at 1 November 2026. Every model on Seedrise, with its list price, is in the model library.
| Model | In litellm_params | Context window | Max output |
|---|---|---|---|
| Claude Sonnet 5.5 | openai/claude-sonnet-5-5 | 1,000,000 | 128,000 |
| Claude Opus 5.5 | openai/claude-opus-5-5 | 1,000,000 | 128,000 |
| GPT-6.1 Sol | openai/gpt-6.1-sol | 1,050,000 | 128,000 |
| DeepSeek V3.2 | openai/deepseek-v3.2 | 164,000 | 8,000 |
| Kimi K2.5 | openai/kimi-k2.5 | 256,000 | 16,000 |
Claude through LiteLLM's Anthropic route
If you rely on Claude features that live in the Anthropic Messages format, such as cache_control prompt caching, route Claude with the anthropic/ prefix and the root URL. LiteLLM appends /v1/messages itself.
model_list:
- model_name: claude-sonnet-5-5
litellm_params:
model: anthropic/claude-sonnet-5-5
api_base: https://api.seedrise.ai
api_key: os.environ/SEEDRISE_API_KEY
timeout: 600- Use one route per model name. Your apps keep calling claude-sonnet-5-5 either way.
- Keep the openai/ prefix for GPT, DeepSeek, Kimi and the other models on your key.
Things to know
api_baseends in/v1foropenai/models. LiteLLM adds/chat/completionsitself, so do not paste the full path.- The
openai/prefix tells LiteLLM which client to use and is not sent upstream. Seedrise receives the bare ID, such asclaude-sonnet-5-5. - Seedrise does not serve the Responses API (
/v1/responses) yet. LiteLLM forwards/v1/responsescalls foropenai/models straight upstream, so they return 404. If a client of your proxy needs that endpoint, declare the model with thecustom_openai/prefix instead; LiteLLM's documentation says it bridges those calls through Chat Completions. - Reasoning models can stream for several minutes. Keep
timeoutunderlitellm_paramsat 600 seconds or more for them. - For spend tracking, add
input_cost_per_token,output_cost_per_tokenandcache_read_input_token_costundermodel_infowith the rates on your rate card, so LiteLLM's spend logs match your invoice.
Check it is working
GET /v1/modelson the proxy lists yourmodel_nameentries; on Seedrise it lists the IDs your key can call.- Usage appears in the Seedrise console within a minute, by key and model.
# models your proxy exposes
curl http://localhost:4000/v1/models -H "Authorization: Bearer $LITELLM_MASTER_KEY"
# models your Seedrise key can call
curl https://api.seedrise.ai/v1/models -H "Authorization: Bearer $SEEDRISE_API_KEY"Known errors
| Status | LiteLLM exception | Meaning | Fix |
|---|---|---|---|
400 | BadRequestError | Bad request, usually a wrong model ID or malformed body | Check the ID against GET /v1/models |
401 | AuthenticationError | Key missing, disabled or expired | Check the key in the console |
403 | PermissionDeniedError | Model not on this key, or IP not in the allow-list | Adjust the key's model list or allow-list; include the proxy's outbound IP |
404 | NotFoundError | Wrong api_base path, or an endpoint Seedrise does not serve | End api_base in /v1 for openai/ models, and avoid /v1/responses for now |
429 | RateLimitError | Rate limit or budget reached | Back off and retry; raise the limit in the console or ask us |
5xx | APIError, ServiceUnavailableError | Upstream or gateway error | Retry with backoff; the gateway fails over across routes automatically |
Still stuck? Email support@seedrise.ai with the request ID from the response headers, the time and the model ID.
For teams
Run one proxy for the team and keep Seedrise keys on the server, not on laptops.
- Give developers LiteLLM virtual keys with their own budgets (they need LiteLLM's database). The Seedrise key behind the proxy never leaves the server.
- Use one Seedrise key per team or environment, each in its own environment variable, when you want spend split by team on the Seedrise invoice.
- Set the Seedrise key's monthly budget as a hard ceiling above the total of your LiteLLM budgets.
- Add the proxy's outbound IP to the key's IP allow-list, so a leaked Seedrise key does not work anywhere else.
- To rotate, create a new key in the console, update the environment variable, restart the proxy, then disable the old key.
LiteLLM questions
Which LiteLLM provider prefix do I use for Seedrise? +
openai/ with api_base set to https://api.seedrise.ai/v1 works for every model on your key. For Claude in the Anthropic Messages format, anthropic/ with api_base set to https://api.seedrise.ai also works.Do I write openai/claude-sonnet-5-5 or claude-sonnet-5-5? +
litellm_params.model takes openai/claude-sonnet-5-5; LiteLLM uses the prefix to pick its client and sends the bare ID upstream. model_name is the name your apps call, and using the Seedrise ID there keeps things simple.Why does LiteLLM return NotFoundError? +
api_base is missing /v1, or because a client called /v1/responses, which Seedrise does not serve yet. Check the base URL first, then the endpoint your client uses.Does prompt caching work through LiteLLM? +
anthropic/ route. LiteLLM passes cache_control blocks through in the Anthropic Messages format, and cached input is itemised on your invoice at the cache-read rate on your rate card. See plans and pricing.Can I keep inference in Australia? +
Ready to put Seedrise behind LiteLLM?
Per-model rates in writing within one business day, then a console login and a trial key.
Also: Cline setup · Claude Code setup · full docs · plans and pricing · security and data
Seedrise is an independent provider and is not affiliated with or endorsed by Anthropic. Claude is a trademark of Anthropic, PBC.