Skip to content

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

  1. Go to platform.deepseek.com.
  2. Sign up.
  3. Add credit — $5 minimum, lasts a long time on DeepSeek's pricing.
  4. 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 shows cached_tokens: N when 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