This guide uses source checks from Sep 12, 2026. Provider and gateway prices can change; preserve the checked date with every forecast.
Why This Topic Matters Now
The query `deepseek vs glm vs kimi` is a useful Tier 1/2 content cue because it asks for a practical routing decision. It does not ask which model has the loudest launch. It asks how a production team should compare three Chinese model families when tasks, cache behavior, output length, and fallback risk differ.
A durable answer is a route receipt. Instead of saying that one family always wins, the receipt captures model name, source owner, checked date, pricing_version, cache fields, output cap, task class, error class, fallback reason, and reviewer decision. That creates a record engineering and finance can both inspect when the workload changes.
Source Facts Checked Today
AIWave /api/pricing checked on Sep 12, 2026 returned success=true, 64 model rows, pricing_version a42d372ccf0b5dd13ecf71203521f9d2, auto_groups=['default'], group_ratio default=3 and vip=1, and public rows enabled for default, vip, and svip groups. Computed base examples per 1M text-token units were DeepSeek V4 Flash at $0.638 input, $0.020288 cache-hit input, and $1.914 output; DeepSeek V4 Pro at $1.914 input, $0.063736 cache-hit input, and $5.742 output; DeepSeek V3.2 at $0.154 input and $0.308 output; GLM-5.1 at $2.10 input, $0.680001 cache-hit input, and $6.60 output; GLM-5 at $1.55 input, $0.400001 cache-hit input, and $4.96 output; Kimi K3 at $4.50 input, $0.90 cache-hit input, and $22.50 output; and Kimi K2.7 Code at $1.89 input, $0.285001 cache-hit input, and $6.00 output. Actual invoices still depend on account group, final route, request usage, and the receipt captured for that run.
DeepSeek official docs checked for this run remain the direct-provider reference for OpenAI-compatible usage, model pricing concepts, cache classes, and peak/off-peak mechanics. Those direct-provider facts should be kept separate from AIWave gateway rows.
Z.AI pricing docs and Kimi API pricing docs were also treated as source-dated references. They are useful for provider context, but production route approval should use the live route actually configured in the AIWave account plus redacted request receipts.
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 family | Useful first task | Receipt field to inspect |
|---|---|---|
| DeepSeek V4 Flash | Fast planning or execution worker | cache_hit_input and output cap |
| DeepSeek V4 Pro | Heavier reasoning review | reviewer acceptance and fallback reason |
| GLM-5.1 | Structured reasoning or tool-adjacent work | cache field and error class |
| GLM-5 | Stable GLM baseline | route owner and regression notes |
| Kimi K3 | Long-context coding or document synthesis | context budget and output cap |
| Kimi K2.7 Code | Coding-agent review | template version and cache share |
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 openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY_HERE", base_url="https://aiwave.live/v1")
CANDIDATES = ["deepseek-v4-flash", "glm-5.1", "kimi-k3"]
def run_route_receipt(prompt: str):
receipts = []
for model in CANDIDATES:
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0.1,
max_tokens=700,
)
receipts.append({
"api_key": "YOUR_API_KEY_HERE",
"model": model,
"source_checked_at": "2026-09-12",
"pricing_version": "a42d372ccf0b5dd13ecf71203521f9d2",
"usage": response.usage,
})
return receipts
Start With Task Classes
Do not compare DeepSeek, GLM, and Kimi on a single generic prompt. Define task classes first: triage, coding review, long-context synthesis, incident analysis, policy comparison, and customer-support draft. Each task class should have expected output shape, maximum output tokens, failure criteria, and a reviewer. Then run each candidate route on the same redacted input.
Keep Source Owners Separate
The AIWave live row, DeepSeek direct docs, Z.AI docs, and Kimi docs are separate source owners. The receipt should preserve that separation. A direct-provider table may mention features or price mechanics that do not automatically describe a gateway invoice. A gateway row may include account-group behavior that does not describe a direct account. Blending them creates review debt.
Capture Cache Fields Explicitly
Cache fields matter because repeated system prompts, repository maps, or reference packs can change the input profile. DeepSeek, GLM, and Kimi routes all expose cache-aware planning in different ways across public docs and gateway rows. The receipt should store prompt_template_version, cache_hit_input when available, cache_miss_input when available, and total output tokens. Missing cache data should be a visible blank, not a hidden assumption.
Control Output Length
A model can look stronger because it writes longer. Pin max_tokens by task class before comparing routes. If Kimi K3 or DeepSeek V4 Pro needs a larger answer budget to pass a planning task, that can be acceptable, but the reviewer should approve it deliberately. The route receipt should include both the cap and the actual usage object.
Design Fallback Rules Before Failure
Fallback should not be a surprise behavior discovered during an incident. For each task class, define whether fallback is allowed, which route is the fallback, what error classes trigger it, and whether the user should see a retry or a clear failure. DeepSeek to GLM, GLM to Kimi, or Kimi to DeepSeek can all be reasonable in narrow cases, but the reason must be recorded.
Internal Links for Route Evaluators
A route evaluator should read Models docs, Chat Completions, Pricing, Status, Trust, and the DeepSeek fallback canary guide. The route receipt article links those proof points into one workflow.
Procurement Review
Procurement should ask for task class, approved route, alternate route, source URL, checked date, pricing_version, account group, context budget, output cap, cache fields, retry ceiling, and rollback owner. A route is not production-ready when it only has a model name and a price row. It needs acceptance evidence and a repeatable way to explain the bill.
Final Checklist
The DeepSeek, GLM, and Kimi comparison is ready when task classes are defined, source owners are separated, cache fields are visible, output caps are pinned, fallback rules are explicit, and every accepted route has a redacted receipt. Recheck live AIWave rows before production rollout and recheck provider docs before procurement copies direct-provider assumptions.