Your first request, in five minutes.
Use your existing OpenAI or Anthropic SDK. Both entry points share one key; choose the one your code already speaks.
Base URL
Both protocols share one host. The OpenAI-compatible Base URL includes /v1. The Anthropic-compatible Base URL does not; its endpoint already carries /v1.
| Protocol | Base URL | Endpoint |
|---|---|---|
| OpenAI | https://models.seedone.ai/v1 | /chat/completions · /responses · /models |
| Anthropic | https://models.seedone.ai | /v1/messages |
One key works at both entry points. The platform does not translate between protocols: call the model through the protocol of its route, or the request is rejected with protocol_mismatch. Anthropic compatibility is an API surface, not a model source. It lets Anthropic-compatible clients call models in this catalog; the catalog itself does not include Anthropic models.
Authentication
Both headers are accepted. Do not place the key in source control or browser-side code.
Authorization: Bearer $SEEDONE_API_KEY
x-api-key: $SEEDONE_API_KEY
List models
Returns the models available to this key. The scope is derived from the routes bound to the key; fetch it again after changing the key.
curl https://models.seedone.ai/v1/models \
-H "Authorization: Bearer $SEEDONE_API_KEY"
Chat completion
OpenAI-compatible, non-streaming. Replace the model placeholder with an id returned by /v1/models.
curl https://models.seedone.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<model>",
"messages": [{"role": "user", "content": "Hello"}]
}'
from openai import OpenAI
import os
client = OpenAI(
base_url="https://models.seedone.ai/v1",
api_key=os.environ["SEEDONE_API_KEY"],
)
response = client.chat.completions.create(
model="<model>",
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)
Anthropic-compatible example
Same key, different entry point. max_tokens is required under the Anthropic protocol.
curl https://models.seedone.ai/v1/messages \
-H "x-api-key: ***" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "<model>",
"max_tokens": 256,
"messages": [{"role": "user", "content": "Hello"}]
}'
Common errors
Every response includes an x-request-id. Include it in any support request.
code Cause Resolution invalid_api_keyThe key is missing, malformed or deleted. Check the header and the key value. model_not_allowedThe model is outside this key’s scope. Use a model in the key’s bound routes, or change the key. insufficient_balanceThe wallet balance is exhausted. Top up or redeem a voucher. window_exceededA 5h / 7d / 30d plan limit was reached. Add a top-up pack, upgrade or renew. concurrency_exceededToo many requests in flight. Reduce concurrency or buy a concurrency pack. rate_limitedThe IP-level fallback rate limit was hit. Honor Retry-After; check for a retry storm. protocol_mismatchThe entry protocol does not match the model. Use /v1/chat/completions or /v1/messages as appropriate.
Limits
Parameter Current value Request body 32 MB First byte timeout 30 s Total request time 15 min Default output limit 16,384 tokens Upstream retries ≤ 2 IP fallback rate limit 120 requests / min / IP Default pay-as-you-go concurrency 3 (1 for new or previously overdue accounts)
The full reference, including every error code and the self-check tool, lives in the console. Open console docs →