Comparison / Aug 30, 2026

DeepSeek, GLM, and Kimi Routing Matrix for Cost-Ledger Reviews

Compare DeepSeek, GLM, and Kimi routes by cache fields, output caps, search fees, account groups, and ledger evidence for Tier 1 API buyers.

Keyword report: 2026-08-29Tier 1/2 developer focusSources checked Aug 30, 2026

This guide uses source checks from Aug 30, 2026. Provider and gateway prices can change; preserve the checked date with every forecast.

Why This Topic Matters Now

The Aug 29 keyword report includes `glm deepseek kimi` and `deepseek vs glm vs kimi`. The volume is small, but the intent is valuable because the buyer is not asking for a single-provider tutorial. They are comparing model families across quality, context behavior, cache economics, tool or search costs, and route evidence. That is the right moment for an AIWave cost-ledger article.

This guide uses AIWave live pricing checked on Aug 30, 2026 and provider documentation checked during the same publishing run. It keeps direct-provider documentation separate from AIWave gateway rows, uses dated figures only, and avoids unsupported claims about universal savings. The purpose is practical: help Tier 1 and Tier 2 teams build a routing matrix that engineering and finance can both read.

Source Facts Checked Today

AIWave /api/pricing checked on Aug 30, 2026 returned 63 records and pricing_version a42d372ccf0b5dd13ecf71203521f9d2. Current parsed gateway examples before account-group math were deepseek-v4-pro at $1.914 input, $5.742 output, and $0.063736 cache-hit input per 1M tokens; deepseek-v4-flash at $0.638 input, $1.914 output, and $0.020288 cache-hit input; kimi-k3 at $4.50 input, $22.50 output, and $0.90 cache-hit input; and glm-5.1 at $2.10 input, about $6.60 output, and about $0.680001 cache-hit input.

DeepSeek direct docs checked for this run document separate cache-hit, cache-miss, output, peak, off-peak, context, output, and concurrency dimensions. Z.AI pricing docs checked during recent runs list GLM text rows with cached-input, output, and tool sections. Kimi billing docs checked during recent runs describe input/output token billing, context caching, and web-search billing. These are provider facts, not automatic AIWave gateway terms.

The buyer risk is not that one model family has more columns than another. The risk is that the application hides the columns that matter. A route ledger should keep model ID, provider family, input tokens, cache-hit tokens, output tokens, tool or search calls, account group, pricing_version, timestamp, request ID, and fallback outcome visible enough for a second reviewer to reproduce the estimate.

Planning Matrix

A source-dated planning matrix keeps the page useful for engineers and procurement reviewers. It turns a search query into an auditable route decision instead of a loose model preference.

Route familyBest first useLedger field to verify
DeepSeek V4 ProLarge planning and repository reviewcache-hit input and output cap
DeepSeek V4 FlashRoutine execution and fast draftsroute acceptance and retry class
GLM-5.1Reasoning and tool-governed workflowscached input and tool calls
Kimi K3Long-context coding and knowledge workcache share, output, search calls
Qwen familyBatch, thinking, and tiered context teststier basis and batch/cache rule
Any fallbackResilience only when policy allowsfirst route, final route, billed attempt

Implementation Pattern

The implementation pattern keeps credentials as placeholders, pins the AIWave base URL, records the model, and leaves room for route-specific controls. Production applications should move credentials into environment or secret storage.

from dataclasses import dataclass

AIWAVE_API_KEY = "YOUR_API_KEY_HERE"

@dataclass
class RouteEstimate:
    model: str
    input_per_m: float
    cache_per_m: float
    output_per_m: float
    group_multiplier: float = 1.0

    def estimate(self, cache_miss_tokens: int, cache_hit_tokens: int, output_tokens: int) -> float:
        return self.group_multiplier * (
            cache_miss_tokens / 1_000_000 * self.input_per_m
            + cache_hit_tokens / 1_000_000 * self.cache_per_m
            + output_tokens / 1_000_000 * self.output_per_m
        )

deepseek_pro = RouteEstimate("deepseek-v4-pro", 1.914, 0.063736, 5.742)
print(round(deepseek_pro.estimate(300_000, 700_000, 12_000), 4))

Choose by Workload, Not by Family Name

A comparison matrix should start with jobs. Planning a repository migration, drafting routine support replies, running cached document analysis, calling web search, and processing async batches are different workloads. Assign the route after describing the job and acceptance threshold. Otherwise the comparison becomes a vague brand preference and the ledger cannot explain why a month-end bill moved.

Keep Cache-Hit Input Visible

Cache behavior is one of the main reasons long-context economics can change without a visible product change. A stable system prompt, route policy, schema, or reference pack may create reusable input. A changed prompt prefix can remove that reuse. DeepSeek, GLM, and Kimi all make cache or cached-input fields relevant in different ways, so the route ledger should preserve hit and miss fields instead of collapsing them into total input.

Control Output Before Comparing Routes

Output can dominate the cost of reasoning-heavy routes. A Pro planning request, a Kimi coding explanation, or a GLM reasoning response can become longer than the team expected. Set max token budgets by route mode, not only by model family. Use one cap for planning, one for short execution, one for structured extraction, and one for incident analysis. Then compare quality at the same cap before widening it.

Track Search and Tool Calls Separately

Search and tool use are not plain text tokens. Kimi billing docs and Z.AI pricing pages make this point visible through separate search or tool sections. If an agent can search on every turn, finance needs a search-call count beside tokens. If a route uses tools, engineering needs to know whether the model, the gateway, or the application controlled that tool call. Hide those fields and the cost ledger becomes a summary, not an explanation.

Separate Gateway Rows From Provider Rows

AIWave gateway rows, DeepSeek direct rows, Z.AI rows, Kimi rows, and QwenCloud rows are different source owners. A comparison article should show source URLs and checked dates, then say which row is used in the actual AIWave worksheet. This prevents the common error of quoting a direct-provider cache row while sending traffic through a gateway route with its own account terms and group multiplier.

Procurement Review

Procurement should ask for the selected route family, the workload name, source URL, checked date, price owner, account group, output cap, cache assumption, tool or search allowance, and one sample ledger record. Engineering should attach a reason for choosing Pro, Flash, GLM, Kimi, or Qwen for that workload. The final decision can then be reviewed against fields rather than opinions.

Final Checklist

A DeepSeek, GLM, and Kimi routing matrix is ready when the workloads are named, route IDs are pinned, cache-hit input is visible, output caps are route-specific, search and tool calls are separate, provider and gateway rows are not blended, and pricing_version is stored with the request evidence. That is the practical SEO answer to `deepseek vs glm vs kimi` for buyers who need a production route.

Source Links

Related AIWave Links