Get Started

Connect your editor, agent, or CLI to the live Kourier.sh model through OpenAI-compatible APIs.

kourier.sh serves DeepSeek V4.1 Flash behind OpenAI-compatible and Anthropic-compatible endpoints. If a tool lets you set a custom base URL and API key, it talks to kourier.sh with no new SDK to learn.

New: DeepSeek V4.1 Flash is live as deepseek-v4.1-flash. Upgrading from DSV4-Flash-0731? Change only your model string — see Migrating from earlier model ids.

kourier.sh is currently in alpha. Starter and Pro subscriptions are open to everyone.

Get an API key

  1. Sign up at app.kourier.sh/signup. New accounts start on Free with dashboard access.
  2. Choose Starter or Pro in Billing for paid API access.
  3. Open Dashboard → API Keys and generate a key. It's shown once — copy it immediately.

Using a coding agent? It can request its own key after you approve a code in the browser. See Agent sign-in.

Starter is $20/month with 1 concurrent request; Pro is $50/month with 3 concurrent requests. Both have no request-volume or token-usage quotas.

Quick start

Point any OpenAI-compatible client at kourier.sh with two environment variables:

export OPENAI_API_KEY="sk-bf-..."
export OPENAI_BASE_URL="https://api.kourier.sh/v1"

That's enough for any tool that reads the standard OPENAI_API_KEY / OPENAI_BASE_URL (or an equivalent "custom OpenAI-compatible provider") setting.

Compatible clients

These tools accept a custom OpenAI-compatible base URL and key — some read the env vars above directly (Aider, raw SDK/curl), others take the same base URL and key through their own settings UI or config file:

ToolWhere to set it
Oh My Pi (omp)~/.omp/agent/models.yml → add a kourier provider. See the Oh My Pi guide
DeepSeek Harness (dsh)Settings → Models → Custom model API. See the DeepSeek Harness guide
CursorSettings → Models → add an OpenAI API key, override the base URL
Zedsettings.json → language_models.openai.api_url
OpenCodeProvider config → add an OpenAI-compatible provider
Cline (VS Code)Provider dropdown → "OpenAI Compatible"
Continue (VS Code / JetBrains)config.json → provider "openai" with a custom apiBase
Aider--openai-api-base flag, or the env vars above
Any OpenAI SDK (Python, Node, curl, etc.)base_url / OPENAI_BASE_URL constructor option

Codex CLI

Codex removed the legacy chat wire format, so it must be pinned to wire_api = "responses" — which kourier.sh serves natively (streaming and tool calls included). Add a custom provider to ~/.codex/config.toml:

[model_providers.kourier]
name = "Kourier"
base_url = "https://api.kourier.sh/v1"
env_key = "KOURIER_API_KEY"
wire_api = "responses"

[profiles.kourier]
model_provider = "kourier"
model = "deepseek-v4.1-flash"

Export your key and run Codex against the profile:

export KOURIER_API_KEY="sk-bf-..."
codex --profile kourier

model must be one your key is granted, or the first request is rejected. The dashboard's Connect your tools panel shows the exact model string for your account.

Claude Code

Claude Code speaks Anthropic's Messages API. Point it at the endpoint's Anthropic surface (https://api.kourier.sh/anthropic — Claude Code appends /v1/messages itself) and pin both model variables to your granted model:

export ANTHROPIC_BASE_URL="https://api.kourier.sh/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-bf-..."
export ANTHROPIC_MODEL="deepseek-v4.1-flash"
export ANTHROPIC_SMALL_FAST_MODEL="deepseek-v4.1-flash"

ANTHROPIC_SMALL_FAST_MODEL is required: left unset, Claude Code routes background tasks to a Haiku model your key isn't granted, and those calls fail. Use ANTHROPIC_AUTH_TOKEN (not ANTHROPIC_API_KEY) so the key is sent as Authorization: Bearer — though the endpoint accepts either header. Set both models to whatever your key is granted (shown in the dashboard's Connect your tools panel).

Manual configuration

SettingValue
Base URLhttps://api.kourier.sh/v1
Chat completions endpointhttps://api.kourier.sh/v1/chat/completions
Auth headerAuthorization: Bearer <your API key>
Live model stringdeepseek-v4.1-flash
Maximum context length262,144 tokens (256K), prompt plus output combined

API reference

kourier.sh implements the OpenAI Chat Completions API, including streaming.

curl https://api.kourier.sh/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [
      {"role": "user", "content": "Refactor this function to async/await."}
    ],
    "stream": true
  }'

See Models for the current model identifier and routing details.