Routing a request through an aggregator instead of calling the vendor directly cost us roughly 1.8 seconds of extra time to first token and roughly halved decode throughput in a same-family, same-prompt DeepSeek test we streamed on 2026-07-26. That is the headline from the only true A/B pair in our benchmark, and the caveats below matter as much as the numbers.
Most latency comparisons pit different models against each other, which confounds routing overhead with model design. We isolated the router by sending the exact same DeepSeek family, at temperature 0, with the same prompt, at the same moment, down two paths: DeepSeek's own endpoint at api.deepseek.com, and the same family reached through an OpenRouter-style aggregator hop. Everything measured here is a 3-run median from one network location on 2026-07-26, not a load test.
Time to first token is a latency metric that measures the gap between sending a request and receiving the first streamed token of any kind. Decode throughput, reported in tokens per second, measures how fast the model emits completion tokens once generation begins. These are different axes: a fast first token does not guarantee fast decode, and our two DeepSeek paths diverged sharply on both.
| Path | Median TTFT | Median decode (tok/s) | Median total wall time |
|---|---|---|---|
| DeepSeek native (api.deepseek.com) | 0.71s | 95.8 | 4.09s |
| DeepSeek routed (aggregator hop) | 2.54s | 39.5 | 9.68s |
Both rows are the same DeepSeek chat family, streamed at temperature 0 with an identical prompt on 2026-07-26. The native figures were measured directly against api.deepseek.com. The routed figures came through an OpenRouter-style aggregator and carry a needs_native_reverify flag, because the routed alias may not resolve to the identical build. For scale, our fastest routed Chinese endpoint to a usable first token that day was Kimi K2 at 2.27s (MiniMax-M2.5 streamed a raw first token earlier, at 1.50s, but it was hidden reasoning, unreadable until 10.68s), and the Western baseline GPT-4o led decode at 174 tokens per second.
On 2026-07-26 we streamed the same DeepSeek family with an identical prompt two ways. The native path on api.deepseek.com returned a first token in 0.71 seconds and decoded at 95.8 tokens per second. The aggregator-routed path took 2.54 seconds and ran 39.5 tokens per second, a median we measured across three runs each.
That is the whole finding in numbers: routing added about 1.8 seconds before the first token appeared and dropped sustained decode from 95.8 to 39.5 tokens per second. The gap is directional, not a lab-grade A/B, because the routed path can land on a different physical host than DeepSeek's own fleet, and the aggregator alias may point at a different build than native deepseek-chat.
The extra latency has a mechanical explanation, not a mysterious one. An aggregator hop inserts a second network round trip and an extra service in front of the inference host. According to DeepSeek's API documentation, streaming responses are delivered as server-sent events, so every intermediate service between your client and the GPU must forward each chunk, and each forwarding layer adds queueing and transit time before the first token clears.
OpenRouter is an API aggregator that routes each request to a third-party inference host it selects at call time. DeepSeek V4-Flash, by contrast, is a chat model that DeepSeek serves directly from its own api.deepseek.com fleet. When you call the vendor directly you skip the selection logic, the second TLS handshake, and the cross-provider hop, which is where most of that 1.8-second first-token gap lives in our snapshot.
Decode throughput falls for a related reason. Once generation starts, the routed path still relays every streamed chunk through the aggregator, and the specific host it chose may run different batching, quantization, or GPU hardware than DeepSeek's native serving stack. According to OpenAI's API reference, streamed tokens arrive as server-sent events as the model generates them; the sustained rate at which they arrive is set by the serving backend, which is how a different backend can more than halve throughput for the same nominal model.
We are deliberately not calling this a clean benchmark of identical builds. Three limits apply. First, the routed deepseek/deepseek-chat alias may resolve to a different DeepSeek build than the native deepseek-chat we measured as V4-Flash, so part of the gap could be model difference, not routing. Second, the routed request can be served from a different data center and GPU than DeepSeek's own endpoint. Third, this is one prompt, one region, one moment.
According to DeepSeek's model and pricing docs, the native deepseek-chat endpoint maps to the current flagship chat build, but an aggregator is free to pin an older or differently-configured snapshot behind the same friendly name. That alias uncertainty is exactly why the number carries a reverify flag and why we frame it as a routing-overhead signal rather than a scorecard.
Present this trade neutrally. A router buys real things: one API key and one billing relationship across many vendors, automatic fallback when a provider is down, and a single schema instead of seven. Those are operational wins that a direct native call does not give you. The cost is the overhead we measured, paid on every request. For a latency-critical, single-vendor workload, calling the vendor directly is faster; for a multi-model app that values uptime and one integration surface, the tax can be worth paying.
The honest framing is that speed and convenience are different axes, the same way cheap and fast are. In our data the aggregator-routed DeepSeek path was slower on both first token and decode than native, yet a routing layer still earns its place in architectures that prize failover and vendor breadth over raw milliseconds. Decide which axis your product is optimizing before you read the millisecond gap as good or bad.
In our 2026-07-26 snapshot, routing the same DeepSeek family through an aggregator added about 1.8 seconds to time to first token (0.71s native versus 2.54s routed) and roughly halved decode throughput (95.8 versus 39.5 tokens per second), as 3-run medians from one region.
Only directionally. The routed alias may resolve to a different DeepSeek build than the native endpoint, and the request may hit a different physical host. Treat it as a routing-overhead signal, not a lab-grade A/B of identical builds. The number carries a needs_native_reverify flag for that reason.
Not necessarily, but it adds at least one network hop and a selection layer, so first-token latency almost always rises. Actual decode speed depends on which backend host the router picks, which can differ in batching and hardware from the vendor's own serving stack.
Use a router when you value one API key across many vendors, automatic failover, and a single integration schema more than the last few hundred milliseconds. For latency-critical, single-vendor workloads, calling the native endpoint directly was faster in our test.
No. This benchmark measured streaming speed only: time to first token, decode throughput, and total wall time. It makes no claim about answer accuracy. A separate 2026-07-10 task benchmark found the Chinese models at correctness parity on short tasks.
For the full leaderboard across seven endpoints and how these paths rank against Qwen, GLM-5, Kimi K2, and the GPT-4o baseline, see our hub on the fastest Chinese LLM API. Cost is a separate axis we track in the DeepSeek API pricing breakdown.
Last verified: 2026-07-26. Methodology: SSE-streaming benchmark, one fixed prompt, temperature 0, max_tokens 4000, 3 runs per path, medians reported, single region. DeepSeek native measured on api.deepseek.com; the routed path via an OpenRouter-style aggregator (needs_native_reverify). Author: Kevin Fan, Customer Success Manager, independent editorial team at China LLM Directory.