
On 17 October DeepSeek published DeepSeek-V4.1-Flash-1017, a minor update to the V4.1 Flash model we launched in September. Since 18 October it is the model behind deepseek-v4.1-flash on IndieRouter, served from our own GPUs in India. The model id, the price and the API are unchanged, so there is nothing to update in your code.
What changed
1017 keeps the V4.1 Flash architecture: the same configuration, tokenizer and prompt encoding as the September release. What changed is the weights. Every shard is new, and DeepSeek describes the result as better at reasoning, coding, agentic work and vision, while producing shorter outputs and finishing tasks in less time.
The numbers below are DeepSeek’s own, from the 1017 model card, comparing the update with the September V4.1 Flash. We have not re-run these benchmarks.
| Benchmark (vendor-reported) | V4.1 Flash (Sept) | V4.1 Flash 1017 |
|---|---|---|
| HLE, no tools | 36.8 | 42.6 |
| Terminal-Bench 4.0 | 31.2 | 42.3 |
| DeepSWE v1.1 | 74.2 | 77.0 |
| ProgramBench | 20.3 | 29.1 |
| NL2Repo-Bench | 65.4 | 68.2 |
| Automation-Bench v1.0.6 | 54.8 | 60.5 |
| Agents’ Last Exam | 31.8 | 35.4 |
| Apex Bench v1.1 | 64.6 | 72.1 |
| Chartography (with tools) | 78.9 | 83.0 |
| BabyVision (with tools) | 89.6 | 92.5 |
| ZeroBench-main (with tools) | 49.0 | 51.0 |
DeepSeek ran Terminal-Bench 4.0 in the Claude Code harness and DeepSWE in the Mini-SWE-V2 harness. The largest gains are on the agent and coding suites (Terminal-Bench, ProgramBench, Apex Bench), which matches what most traffic on this model is: coding agents and tool-calling workflows.
Shorter outputs matter for your bill as well as your latency. You pay per output token, so if 1017 reaches the same answer in fewer tokens on your workload, the same task costs less at an unchanged rate. Measure it on your own prompts: usage.completion_tokens and completion_tokens_details.reasoning_tokens are on every response.
Price
| Input | Output | Cached input | |
|---|---|---|---|
| DeepSeek V4.1 Flash (now 1017) | ₹20 / M tokens | ₹60 / M tokens | ₹1 / M tokens |
Same as before. Billing is per token, GST invoiced, from a prepaid wallet or a monthly coding plan. Context stays at 262K tokens, with native vision, tool calling and automatic prefix caching.
Thinking controls
Thinking is on by default, as it was in September. You can turn it off, or set an effort level, per request:
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Summarise this diff in two lines."}],
extra_body={"chat_template_kwargs": {"reasoning_effort": "low"}}, # or "high", "max", or {"thinking": False}
)
The reasoning comes back in the response’s reasoning field, separate from content.
What we checked before switching
We staged 1017 next to the production model and ran it through the same gates every model passes before it takes traffic: eight planted facts recovered from a 126K-token document, a cached-prefix repeat of that document, a structured tool call, and a soak of 200 strict JSON-schema tool calls at concurrency. It passed all of them on the exact serving configuration production already used, so the switch was a checkpoint swap with no other change, and capacity under load is the same as before.
Outputs will differ from the September model, because the weights are different. If a workflow of yours behaves differently since 18 October, write to hello@indierouter.ai with an example and we will look at it with you.
If you still call the legacy deepseek-v4-flash id, it also answers with 1017 today, but it is on its way out of the catalogue. Move to deepseek-v4.1-flash now.
Where to go next
- Models and pricing: the full catalogue, with context windows and per-token rates.
- Docs: quickstart, streaming, tool calling, vision input.
- Coding plans: flat monthly pricing for agents that never stop.