
Flint v1.0 vs Flint 40B-A2.5B: They Are the Same Model, and the Name Matters
- MoonshotNEWMoonshotAI: Kimi K3.1 Pro2026-10-2455Intelligence
- OrcaNEWOrcaCyber: DeepSeek V4.1 Flash Abliterated2026-10-23$0.70 / $1.60 per 1M tokens · 190 tok/s
- OrcaNEWOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 per 1M tokens · 27 tok/s
- deepseekNEWDeepSeek: DeepSeek V4.1 Flash 10172026-10-1745Intelligence
- DeepSeekNEWDeepSeek: DeepSeek V4.1 Flash2026-10-1740Intelligence
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 per 1M tokens · 148 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952Intelligence
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Intelligence
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 per 1M tokens · 1114 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Intelligence
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Intelligence
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Intelligence
- xAIGrok 4.72026-09-2146Intelligence
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 per 1M tokens · 166 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 per 1M tokens · 1628 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Intelligence77Coding
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Intelligence76Coding
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Intelligence76Coding
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Intelligence82Coding
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 per 1M tokens · 47 tok/s
Flint v1.0 and Flint 40B-A2.5B are not two models. They are two names for one file. Recursive's first open-weight coding model is a mixture-of-experts network with 39.8 billion parameters in total and about 2.5 billion active per token, released on 21 October 2026 under Apache 2.0, and it appears in the wild under at least three separate labels depending on which layer of the stack you are standing on. The API identifier is flint-v1.0. The weight-file name is Flint 40B-A2.5B. The upstream repository is RecursiveSI/flint.
That is worth writing down plainly, because the internet has already started treating them as a matchup. Model catalogues list one form. Quantisation repos list the other. Benchmark pages file results under whichever string their source used. Put "Flint v1.0" and "Flint 40B-A2.5B" into a comparison tool and it will happily produce a page implying a choice exists. There is no choice. There is one model and a naming problem.
Three labels, one checkpoint
Each name exists because a different part of the stack needs a different string, and once you know which part, you can tell what you are looking at in about a second.
• Flint v1.0 — the serving identifier, written in a vendor namespace as something like recursive/flint-v1.0. The "v1.0" is a version stamp bolted on by whoever operates the endpoint, so that they can ship a 1.1 later without breaking every client that already points at it. You see this form on hosted APIs, in model dropdowns, and in code that reads model="recursive/flint-v1.0". Some listings carry a :free suffix, which describes the price tier of that particular endpoint, not a different model.
• Flint 40B-A2.5B — the architecture name, and the only one of the three that tells you anything about the file. "40B" is total parameters, "A2.5B" is active parameters per token, and the hyphenated shape is the convention sparse mixture-of-experts models have settled into. This form appears on the upstream model card, in quantisation repository names, and in any discussion where the size of the thing matters. It is also the form most likely to be factually correct, because it is derived from the config rather than assigned by a catalogue.
• RecursiveSI/flint — the upstream Hugging Face repository path, holding the BF16 checkpoint, the configuration, the tokenizer, the chat template and an SGLang serving kit. Everything else descends from this. If a derivative repository is not traceable to RecursiveSI/flint, it is not Flint.

The community builds follow the same logic. Conversions and quantised bundles that target Apple silicon or GGUF runtimes tend to carry the descriptive name, because a person downloading a 22 GB file wants to know what is inside it rather than which catalogue version number a hosting platform assigned. The underlying checkpoint in every case is the same one Recursive published on 21 October 2026.
Why this costs people actual money
Naming confusion is usually just annoying. Here it has two consequences that matter.
The first is a false comparison. Flint is compared against other models on the strength of numbers filed under one name or the other, and a reader who encounters "Flint v1.0 scored 74.2 on SWE-bench Verified" in one place and "Flint 40B-A2.5B scored 74.2 on SWE-bench Verified" somewhere else has no reason to conclude these are the same result. They are the same result. Nobody has published a second, different evaluation under the other label — the model is four days old and there is no independent evaluation under any label at all.
The second is a billing surprise. Because one name is a serving identifier, it is possible to pay a per-token rate for a model you could download once and run for nothing but electricity. That is a legitimate trade — you are buying someone else's hardware, uptime and operations — but it should be a deliberate trade. Recursive publishes the weights under Apache 2.0 with no revenue gate and no commercial restriction. If you are paying for a hosted Flint endpoint, the question worth asking is what you are paying for, and the answer should be something other than access to the model.
There is a third, subtler cost: licence laundering. Apache 2.0 does not become something else because a downstream host renames the endpoint. If a derivative repository describes itself as a different model, check whether it actually is one.
How to tell which one you are looking at
Three quick tests, in order of reliability.
• Does the string have a vendor prefix and a slash? Then it is a serving identifier. Treat it as an address, not a specification. The model behind it may be pinned to an older checkpoint than the one currently published upstream, and there is often no way to tell from the ID alone.
• Does the string contain a B-A pattern, like 40B-A2.5B or 30B-A3B? Then it is a descriptive architecture name and the numbers are the model's real shape. This is the only form that carries information you can act on.
• Is it a two-part path ending in a plain model slug, like RecursiveSI/flint? Then it is the checkpoint itself, and its file listing is the ground truth. File sizes in the repository — 79.59 GB for BF16, 22.86 GB for the NVFP4 GGUF, 25.99 GB for the int4 GGUF, 22.58 GB for int4 safetensors — are the numbers to trust when planning hardware.
If a page gives you a version string and a benchmark score but never names the parameter count, that is a warning. It means the page is describing an endpoint, not a model.

The decision that is actually in front of you
Once you stop comparing Flint to itself, the real question is distribution shape: download it, or call it somewhere.
Downloading gives you the checkpoint, the ability to quantise it further, the ability to fine-tune it, and no per-token bill. It also gives you the operational work — 22.86 GB on disk, roughly 24 GB of memory to hold it comfortably, an inference engine to configure, and a chat template to verify before you trust the output. For a team already running local models, that is a normal Tuesday. For a team that is not, it is a project.
Calling a hosted endpoint gives you an OpenAI-compatible client and someone else's uptime. It also introduces a dependency on a particular deployment of a particular checkpoint, which is why the version string exists in the first place.
Most teams end up wanting both, and the part that is genuinely ours to say is this: if you are already routing hosted models through one API, the marginal cost of a hosted call should be exactly the provider's list price. OrcaRouter passes provider pricing through with no markup added, so a vendor price change shows up the same day rather than at the next contract renewal. OrcaRouter does not serve Flint — this is a download, not one of our endpoints — so that statement is about the rest of your stack, not about this model.
What the naming tells you about the release
Two names exist because two distribution channels exist, and that is the actual news in the naming. Recursive published open weights and a serving kit on the same day, which is why the model shows up both as a file you can own and as a string you can call. Models that ship only one way get only one name.
The practical upshot is unglamorous. Search for "Flint 40B-A2.5B" when you want to know what the model is and whether it fits your machine. Search for the version string when you are wiring a client and need to know what an endpoint is called. And when you see the two compared, close the tab — you have just been shown the same model twice.

