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 settingValue for Seedrise
modelopenai/ plus the Seedrise model ID, for example openai/claude-sonnet-5-5
api_basehttps://api.seedrise.ai/v1
api_keyYour Seedrise key, in config as os.environ/SEEDRISE_API_KEY
Claude in Anthropic formatanthropic/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

  1. 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.
  2. Store the keys. Export your Seedrise key as SEEDRISE_API_KEY on the proxy host, next to LITELLM_MASTER_KEY for LiteLLM itself. LiteLLM requires the master key to start with sk-.
    bash
    export SEEDRISE_API_KEY="sk-..."      # your Seedrise key
    export LITELLM_MASTER_KEY="sk-..."    # admin key for your proxy
  3. Add the models to config.yaml. Each Seedrise model is openai/ plus its ID, with api_base set to https://api.seedrise.ai/v1. model_name is the name your apps will call.
    yaml
    model_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
  4. Start the proxy. Run litellm --config config.yaml. The examples here use port 4000, as LiteLLM's own documentation does.
    bash
    litellm --config config.yaml
  5. Send a test request. Call http://localhost:4000/v1/chat/completions with your master key and a model_name from the config.
    bash
    curl 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.

python
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.

ModelIn litellm_paramsContext windowMax output
Claude Sonnet 5.5openai/claude-sonnet-5-51,000,000128,000
Claude Opus 5.5openai/claude-opus-5-51,000,000128,000
GPT-6.1 Solopenai/gpt-6.1-sol1,050,000128,000
DeepSeek V3.2openai/deepseek-v3.2164,0008,000
Kimi K2.5openai/kimi-k2.5256,00016,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.

yaml
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

Things to know

Check it is working

bash
# 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

StatusLiteLLM exceptionMeaningFix
400BadRequestErrorBad request, usually a wrong model ID or malformed bodyCheck the ID against GET /v1/models
401AuthenticationErrorKey missing, disabled or expiredCheck the key in the console
403PermissionDeniedErrorModel not on this key, or IP not in the allow-listAdjust the key's model list or allow-list; include the proxy's outbound IP
404NotFoundErrorWrong api_base path, or an endpoint Seedrise does not serveEnd api_base in /v1 for openai/ models, and avoid /v1/responses for now
429RateLimitErrorRate limit or budget reachedBack off and retry; raise the limit in the console or ask us
5xxAPIError, ServiceUnavailableErrorUpstream or gateway errorRetry 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.

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? +
Both, in different places. 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? +
Usually because 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? +
For Claude, use the 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? +
Yes. Models marked AU, including Claude Opus, Sonnet and Haiku 5.5, DeepSeek V3.2 and Kimi K2.5, can be pinned to Sydney or Melbourne on request. Pinning is set per key, so your LiteLLM config does not change.

Ready to put Seedrise behind LiteLLM?

Per-model rates in writing within one business day, then a console login and a trial key.

Get a rate card →

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.