https://llm.bytespike.ai — every protocol, every model.
Pick the protocol that matches your client, set two env vars, and you’re
done.
1. Get an API key
Sign in to console.bytespike.ai/keys and Create key. Pick the routing group (claude-default for Claude
models, gemini-default for Gemini, or default to route everything —
see Models for what’s in each group). The plaintext is shown
once at creation — store it. Format: sk-byts-….
2. Pick a protocol
Three protocols hit the same gateway. Pick whichever your client speaks natively — billing, throttling, and credit accounting are identical across all three. The URL you use depends on whether you’re driving an SDK (which auto-appends the endpoint path) or hand-rolling curl / REST (where you write the full path yourself).SDK base URL
Set this asANTHROPIC_BASE_URL / OPENAI_BASE_URL / Gemini client
endpoint. The SDK appends /v1/messages, /chat/completions, or
/models/{model}:generateContent for you.
Full endpoint (curl / REST) [#full-endpoint]
If you’re calling the gateway withcurl or any client that needs the
literal request URL, use the full endpoint instead. This is what the
console’s Keys → EndpointBanner copies.
Gemini’s path needs the model id baked into the URL (e.g.
gemini-3.1-pro:generateContent); the other two take the model in the
JSON body.
3. Set the env vars
- Anthropic Messages
- OpenAI Chat Completions
- Gemini Native
For Claude Code and the Anthropic SDK, two env vars are all you need:Any client that reads these standard vars (Claude Code, Anthropic
Python / TypeScript SDK, third-party clients) picks them up
transparently. Then call any Anthropic-compatible model:Or, with the full endpoint via curl:
4. Pick a model
One key calls every model regardless of which vendor originally made it. You don’t need a separate Anthropic / OpenAI / Google / DeepSeek subscription — ByteSpike serves them all through one endpoint. Common model IDs (full catalog at Console → Models or viaGET /v1/models):
A model id is the same string regardless of which protocol you use —
claude-sonnet-4-6 works on Anthropic Messages, OpenAI Chat
Completions, and Gemini Native.
5. Client-specific setup
Claude Code (CLI / agent)
Claude Code (CLI / agent)
Claude Code reads Then
ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY
automatically. Add to your shell profile:claude calls every Anthropic-protocol model through ByteSpike.Claude Desktop
Claude Desktop
Open Settings → Developer → Edit Config. Add the env vars under your
OS’s section. Restart the app for the change to take.
Cherry Studio
Cherry Studio
Settings → Model Providers → Add Provider → “OpenAI Compatible”.
Base URL:
https://llm.bytespike.ai/v1. API key: your ByteSpike key.
Then any of the model ids from the table above works.NextChat / ChatGPT-Next-Web
NextChat / ChatGPT-Next-Web
Settings → Custom Endpoint. API URL:
https://llm.bytespike.ai/v1.
API Key: your ByteSpike key. Model: any of the ids above.OpenAI SDK (Python / TypeScript)
OpenAI SDK (Python / TypeScript)
Pass TypeScript:
base_url / baseURL in the client constructor. The model
string is the only thing that changes per call.Python:6. Verify the wiring
Hit/v1/models to confirm the key is live and see what your account
can actually call:
data[].id should
include every model your tier exposes. If the list is short and you
expected more, check
console.bytespike.ai/account —
your allowed_models may be capped by an org default or admin policy.
Next steps
- Authentication — full header reference + key management
- Models — per-model rate cards and capability tags
- Error handling — retry semantics + status codes