DeepSeek in Whittl¶
DeepSeek is the cheapest tier-S option by a wide margin. Typical Whittl operations cost $0.005–$0.02 — about 1/10th of Claude Sonnet pricing for comparable code quality on Python-heavy work.
Whittl talks to DeepSeek's V4 line. You pick a tier in the dropdown next to the backend selector rather than typing a model name, because DeepSeek retired the old deepseek-chat and deepseek-reasoner aliases in July 2026.
Getting a key¶
- Go to platform.deepseek.com.
- Sign up.
- Add credit — $5 minimum, lasts a long time on DeepSeek's pricing.
- API Keys → create a key (starts with
sk-).
Add it in Whittl from the key button next to the backend dropdown in the chat panel, in the DeepSeek API Key field.
Picking a model¶
The dropdown offers three tiers.
Flash (cheap)¶
The default and the one to leave selected. Fast, economical, and still a hybrid thinker, so the Think checkbox works on it. Handles the great majority of Whittl work.
Pro (smart)¶
Stronger on the hardest problems and priced accordingly. If Pro is unavailable, Whittl falls back to Flash rather than failing the request.
Vision (images)¶
DeepSeek's first vision model, added to their API in August 2026 and still flagged experimental by DeepSeek, so the model id may change under you. Flash-class quality, 384 tokens per image, up to 600 images per request, JPEG / PNG / GIF / WebP.
This tier deliberately does not fall back to a text-only tier. A silent downgrade would drop your image and answer from the prompt alone, which reads like a working reply and is the worst kind of failure.
Check api-docs.deepseek.com for current pricing; DeepSeek moves it more often than most.
Prefix caching¶
DeepSeek automatically caches identical prompt prefixes and discounts them ~70-80% on subsequent requests. Similar to Gemini Flash's automatic caching but with different rules:
- DeepSeek caches by prefix hash. Identical 4KB+ blocks at the start of prompts get cached.
- Cache duration: short-lived (~5 minutes without use). Rapid iterations benefit most.
- Visible savings: Whittl's
[TOKENS]log showscached_tokens: Nwhen caching fires.
In practice: rapid iteration on one project gets cheap very fast.
Vision¶
Pick the Vision (images) tier before attaching a screenshot. On Flash or Pro the image cannot be sent, and Whittl says so rather than quietly dropping it.
Because the tier is experimental, keep a second vision route configured for anything important. Preferences → Vision (Image Input) can send images through OpenRouter on your existing key while DeepSeek keeps writing the code.
Rate limits¶
DeepSeek's rate limits are generous but can fluctuate during peak hours:
- No-credit account: severely restricted
- Funded account ($5+): typical 30-60 requests/min
- Peak hours (US evening, China business hours): occasional 429 rate-limit errors
Whittl retries automatically with backoff. If peak-hour latency bothers you, keep a fallback backend configured (OpenRouter + Claude Haiku is a common pair).
Tool use¶
V4 handles Whittl's tool-use path cleanly. edit_code, syntax_check, create_file and run_code all fire correctly, and surgical edits work the same as on Claude, faster and cheaper per round.
Agent Mode is a different story. The direct DeepSeek backend reads as tier-B, because DeepSeek does not publish the capability metadata Whittl's scorer needs, so the toggle unlocks nothing: no long loop, no session memory, no shell tool. If you want DeepSeek running agentically, reach it through OpenRouter, where it gets scored like every other model. See Agent Mode.
DeepSeek pricing¶
Lean on prefix caching¶
Work in short bursts on one project. Rapid-fire prompts within a 5-minute window benefit most from the cache. If you come back 15 minutes later, you've lost it.
Flash vs Pro¶
Flash is the cheaper tier and is good enough for most edits. Escalate to Pro for the one hard problem in a session, then drop back. Switching tiers mid-session is a dropdown change; your project and chat history carry over.
Combine with free OpenRouter models for mixed work¶
Some users: DeepSeek for hard code tasks, an OpenRouter free model for throwaway experiments. Two backends, both budget-tier, covering different needs.
When NOT to use DeepSeek¶
- You need dependable vision. The vision tier is experimental. Claude and Gemini are steadier.
- You need Agent Mode. The direct backend is tier-B. Route through OpenRouter, or use Claude.
- You need the absolute highest code quality. Claude remains a step ahead on complex architectural tasks.
- You're concerned about hosting region. DeepSeek runs in China; if that's a compliance issue for you, pick another backend.
Troubleshooting¶
Unexpected response format from DeepSeek
Rare but real — sometimes DeepSeek's API returns a malformed response during heavy load. Whittl surfaces this as "DeepSeek: Unexpected response format." Retry the request; usually works on the second try.
Attached image was rejected
You are on the Flash or Pro tier. Switch the dropdown to Vision (images), or route image input through OpenRouter in Preferences → Vision (Image Input).
Rate-limited despite having credit
Heavy load on DeepSeek's side. Wait a minute or switch backends temporarily.
Chinese-language output when I wrote English
Extremely rare, usually a transient API routing issue. Retry; if persistent, restart the Whittl session.
What's next¶
- Choosing a Backend — where DeepSeek fits in the comparison
- Screenshot to App — the vision tier, and when to route around it
- OpenRouter — alternative path to DeepSeek + vision support