Quick Answer
DeepSeek V4 Pro speaks the OpenAI-compatible interface, so the integration pattern is one thing: point the base URL at the endpoint, fill in the key, pick the right model ID. With TeamoRouter:
Base URL : https://api.teamorouter.com/v1
API Key : sk-teamo-your-key
Model ID: deepseek-v4-pro # paid, no account limit
deepseek-v4-pro-free # free, 200/day
Any tool that supports a custom base URL — dsh, OpenCode, Cline, Cherry Studio, Codex — plugs in with this pattern, near-zero migration cost. Below: the endpoint, model IDs, and a per-tool quick reference.
Why "One Endpoint, Every Tool"
The OpenAI-compatible interface is a de facto standard: most AI tools let you send requests to a custom base URL. That means no per-tool SDK or plugin — just:
- Set the tool's base URL to
https://api.teamorouter.com/v1; - Fill in your
sk-teamo-...key; - Pick a DeepSeek model ID.
Three steps and DeepSeek V4 Pro runs in that tool. That's why it landed in dsh, OpenCode, Cline, Cherry Studio, and Codex so quickly.
Model ID Quick Reference
| Model ID | Position | Rate limit | Price (per 1M tokens) |
|---|---|---|---|
deepseek-v4-pro |
Flagship Pro | No account limit | $1.74 / $3.48 (flat) |
deepseek-v4-pro-free |
Flagship Pro (free) | 200/day | Free |
deepseek-v4-flash |
Cheap Flash | No account limit | $0.14 / $0.28 |
deepseek-v4-flash-free |
Cheap Flash (free) | 200/day | Free |
Note: deepseek-v4-pro currently resolves to DeepSeek-V4-Pro-0813. Free quotas count requests (one full turn = 1), not tokens.
The Unified Pattern (Verify with curl)
First verify the endpoint with curl:
curl https://api.teamorouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-teamo-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro-free",
"messages": [{"role": "user", "content": "Introduce yourself in one sentence"}]
}'
A standard OpenAI chat.completion response means endpoint, key, and model ID are all correct. On the Python side, reuse the OpenAI SDK:
from openai import OpenAI
client = OpenAI(
api_key="sk-teamo-your-key",
base_url="https://api.teamorouter.com/v1",
)
resp = client.chat.completions.create(
model="deepseek-v4-pro-free",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)
Per-Tool Quick Reference
| Tool | Protocol | Config entry |
|---|---|---|
| DeepSeek Harness (dsh) | OpenAI | DEEPSEEK_BASE_URL / DEEPSEEK_API_KEY |
| Codex | OpenAI | OPENAI_BASE_URL / OPENAI_API_KEY |
| OpenCode | OpenAI | opencode.json or env vars |
| Cline | OpenAI-compatible | VS Code extension → "OpenAI Compatible" |
| Cherry Studio | OpenAI-compatible | Add provider + base URL / key |
Per-tool steps: OpenCode / Cline / Cherry Studio, Codex, dsh.
Getting the Most from the Free Tier
Start on deepseek-v4-pro-free (200 free/day), then switch to paid as needed:
- Light work (explanations, commit messages, single-file edits) →
deepseek-v4-flash-free, also 200/day. - Hard work (multi-file reasoning, long agent loops) →
deepseek-v4-pro-free. - Quota exhausted → switch to paid
deepseek-v4-pro, no account limit.
Route by difficulty, not habit, and the two free tiers add up to "nearly free V4 all day" (see V4 Pro vs Flash).
FAQ
Does the base URL include /v1?
OpenAI SDK / tools: yes — https://api.teamorouter.com/v1. Anthropic-protocol tools: no — https://api.teamorouter.com. Match the protocol.
Is the free tier weaker than paid?
Same capability, different limits. -free caps at 200/day; paid has no account limit.
Can one key power multiple tools?
Yes. One sk-teamo- key works in dsh, Codex, Cherry Studio, and more — one account, one bill.
Does the endpoint support streaming?
Yes. Add "stream": true for standard OpenAI SSE.
How do I debug 404 / 401?
404 → check the base URL has /v1; 401 → check the key starts with sk-teamo-, was copied fully, and wasn't deleted. Verify with the curl above first.
Register at TeamoRouter for a key — one endpoint, every tool.