Docs
Quickstart
Seedrise is one API for the major text, image and video models. Point your existing OpenAI or Anthropic client at it, keep your code, and use the model IDs on your rate card.
Get access
- Request a rate card. Tell us the models and rough monthly volume. You get written per-model rates within one business day, AEST.
- Receive your console login. Seedrise opens your company account on
console.seedrise.ai. There is no self-serve signup. - Create a key. In the console, create keys per project or environment. Each key can be limited by budget, models, expiry and IP allow-list.
Endpoints and keys
| Protocol | Base URL | Use with |
|---|---|---|
| OpenAI Chat Completions | https://api.seedrise.ai/v1 | OpenAI SDKs, WorkBuddy, LangChain, LiteLLM, any OpenAI-compatible client |
| Anthropic Messages | https://api.seedrise.ai | Claude Code, Anthropic SDKs, DeepSeek Harness |
| Model list | GET /v1/models | Returns the models your key is allowed to call |
Send your key as Authorization: Bearer sk-... on every request. Anthropic-style clients may send it as x-api-key instead; both work. The Responses API (/v1/responses) is not available yet.
Quickstart
A first request in curl. Swap the model for any ID on your rate card.
curl https://api.seedrise.ai/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{"model":"gemini-3.5-flash","messages":[{"role":"user","content":"Hello"}]}'
# list the models your key can use
curl https://api.seedrise.ai/v1/models -H "Authorization: Bearer sk-..."Claude Code
Full guide with team settings and troubleshooting: Claude Code on Seedrise.
Claude Code talks Anthropic Messages, so it points at the root URL. Set the environment once and start it as usual.
export ANTHROPIC_BASE_URL="https://api.seedrise.ai"
export ANTHROPIC_AUTH_TOKEN="sk-..." # your Seedrise key
export ANTHROPIC_API_KEY="" # clear any personal key
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-5-5"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-5-5"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
claude- Do not set any
CLAUDE_CODE_USE_*cloud-provider flag. The client speaks plain Anthropic format to the gateway. - If you were logged in with a personal Anthropic account, run
/logoutonce so the cached login does not override the gateway. /statusinside Claude Code should show the Seedrise gateway URL and your auth token.- On start Claude Code calls
GET /v1/modelsto fill the model picker. A 404 fromcount_tokensis expected; Claude Code falls back to its own estimate. - If a beta header is rejected, set
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1. - Fable 5.1 is available on keys that have it enabled. Set
ANTHROPIC_DEFAULT_FABLE_MODEL="claude-fable-5-1"on those keys only.
To lock a team to the gateway, ship this in the managed settings.json:
{
"allowedProviders": ["customEndpoint"],
"env": {
"ANTHROPIC_BASE_URL": "https://api.seedrise.ai",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5-5"
}
}WorkBuddy
Full guide: WorkBuddy on Seedrise.
WorkBuddy uses OpenAI Chat Completions. Add Seedrise as a custom model.
| Provider type | Custom model (Chat Completions) |
| API URL | https://api.seedrise.ai/v1 |
| API key | Your Seedrise key |
| Model name | Any ID on your rate card, for example claude-sonnet-5-5 or deepseek-v3.2 |
Claude models are translated to Anthropic Messages on the gateway, so tool calls and streaming work without changes on your side.
DeepSeek Harness
Full guide: DeepSeek Harness on Seedrise.
In DeepSeek Harness, add a custom model service and choose the Anthropic Messages protocol.
| Service type | Custom model service → Anthropic Messages |
| Base URL | https://api.seedrise.ai |
| API key | Your Seedrise key |
| Model | claude-sonnet-5-5 (or any Claude ID on your rate card) |
Other tools
Anything that accepts a custom OpenAI-compatible endpoint works the same way: base URL, key, model ID.
| Tool | Protocol | Base URL | Model field |
|---|---|---|---|
| Cursor | OpenAI (override base URL) | https://api.seedrise.ai/v1 | Any rate-card ID, e.g. claude-sonnet-5-5 |
| Cline / Roo Code | OpenAI Compatible, or Anthropic | /v1 for OpenAI Compatible, root URL for Anthropic | Rate-card ID |
| Cherry Studio | OpenAI or Anthropic provider | https://api.seedrise.ai (Cherry adds /v1 itself for OpenAI) | Add the IDs you use |
| Dify / LobeChat | OpenAI-API-compatible provider | https://api.seedrise.ai/v1 | Rate-card ID |
| LangChain / LiteLLM | OpenAI | https://api.seedrise.ai/v1 | Rate-card ID |
Clients that only speak the Responses API (/v1/responses) cannot connect yet. Ask us if you depend on one.
OpenAI and Anthropic SDKs
OpenAI SDK, Python
from openai import OpenAI
client = OpenAI(base_url="https://api.seedrise.ai/v1", api_key="sk-...")
r = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Summarise this contract in three bullets."}],
)
print(r.choices[0].message.content)OpenAI SDK, TypeScript, streaming
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.seedrise.ai/v1", apiKey: process.env.SEEDRISE_API_KEY });
const r = await client.chat.completions.create({
model: "deepseek-v3.2",
messages: [{ role: "user", content: "Write a release note for v2.1." }],
stream: true,
});
for await (const chunk of r) process.stdout.write(chunk.choices[0]?.delta?.content ?? "");Anthropic SDK, Python
import anthropic
client = anthropic.Anthropic(base_url="https://api.seedrise.ai", api_key="sk-...")
msg = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain data residency to a CFO."}],
)
print(msg.content[0].text)Embeddings, image and video endpoints follow the same OpenAI request shape. Ask for the endpoint reference for your rate card.
Model IDs
Use the provider's own ID, no vendor prefix. The full list with prices, context windows and regions is in the model library. The IDs your key can call come back from GET /v1/models.
Regions and data
- Models marked AU can be pinned to Sydney or Melbourne on request; this is set per key, not per request.
- Prompts and outputs are never used to train a model. Seedrise does not retain request or response content; request metadata is kept for billing and audit.
- Zero-retention routing and a data processing agreement are available on request. Details on the data residency section.
Limits and errors
| Code | Meaning | What to do |
|---|---|---|
400 | Bad request, usually a wrong model ID or malformed body | Check the ID against GET /v1/models |
401 | Key missing, disabled or expired | Check the key in the console |
403 | Model not on this key, or IP not in the allow-list | Adjust the key's model list or allow-list |
429 | Rate limit or budget reached | Back off and retry; raise the limit in the console or ask us |
404 | Endpoint not available (for example count_tokens or /v1/responses) | Expected for those paths; otherwise check the base URL |
5xx | Upstream or gateway error | Retry with backoff; the gateway fails over across routes automatically |
Default rate limits are set per key when your account is opened and raised on request. Long requests stream; keep client timeouts at 10 minutes or more for reasoning models.
Support
Email [email protected] with your company name and, for errors, the request ID from the response headers. Replies within one business day, AEST. Volume and Committed accounts have a named contact and a shared channel.