
DeepSeek released V4.1 Flash on 10 September under MIT. Five days later it is serving on IndieRouter as deepseek-v4.1-flash, on our own GPUs in Hyderabad, on the same OpenAI-compatible endpoint you already use. It replaces DeepSeek V4 Flash (0731) in our catalogue, and it costs less.
What the model is
V4.1 Flash is a 552B-parameter mixture-of-experts backbone with a second, 196B-parameter component DeepSeek calls Engram: a conditional memory that is looked up per token rather than run through the transformer. The routed experts ship in FP4 and the attention and Engram tables in FP8, so “native weights” here means no third-party quantisation on our side. The model is multimodal from the start (images and text through one context), supports a 1M-token context in the reference implementation, and bundles its own speculative draft head.
On IndieRouter it runs with a 262K context window, native vision, tool calling and automatic prefix caching. Cache-hit input tokens bill at the cached rate, reported back to you in usage.prompt_tokens_details.cached_tokens on every response.
Price
| Input | Output | Cached input | |
|---|---|---|---|
| DeepSeek V4.1 Flash | ₹20 / M tokens | ₹60 / M tokens | ₹1 / M tokens |
| DeepSeek V4 Flash (0731), retired | ₹30 / M tokens | ₹95 / M tokens | ₹1 / M tokens |
Billing is per token, GST invoiced, from a prepaid wallet or a monthly coding plan. Nothing else changed.
If you use deepseek-v4-flash today
Nothing breaks. The old model id keeps working and is now answered by V4.1 Flash, at the new lower rate. Move your integrations to deepseek-v4.1-flash before 15 October 2026; on that day the old id is removed from the catalogue.
The API surface is unchanged: same messages format, same streaming, same tool-call shape. Outputs will differ, because it is a different and newer model. If a workflow of yours behaves differently on V4.1, reply to the announcement mail or write to hello@indierouter.ai and we will look at it with you.
Thinking
V4.1 Flash reasons before it answers by default. For short, latency-sensitive calls you can turn that off per request:
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Namaste, world"}],
extra_body={"chat_template_kwargs": {"thinking": False}},
)
With thinking on, the reasoning comes back in the response’s reasoning field, separate from content, and is counted in completion_tokens_details.reasoning_tokens.
What we checked before switching
Every model we put in the catalogue passes the same gates on our own hardware before it takes traffic: long-context recall (eight planted facts spread through a 126K-token document, all recovered on repeated runs), a cached-prefix repeat of the same document, a structured tool call, an image round-trip, and a soak of strict JSON-schema tool calls at concurrency. V4.1 Flash passed all of them. We ran the same set against the vendor’s release recipe and against a community SGLang recipe, and we shipped the configuration that held up best under many concurrent agents.
We do not publish tokens-per-second figures. Try the model on your own workload: create a key at app.indierouter.ai, point your client at https://api.indierouter.ai/v1, and compare the old and new ids side by side while both still answer.
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.