Routing / Sep 12, 2026

DeepSeek vs GLM vs Kimi Route Receipts for Production Teams

Compare DeepSeek, GLM, and Kimi route receipts with live AIWave rows, source dates, cache fields, output caps, and fallback evidence.

Keyword report: 2026-09-11Tier 1/2 developer focusSources checked Sep 12, 2026

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 familyUseful first taskReceipt field to inspect
DeepSeek V4 FlashFast planning or execution workercache_hit_input and output cap
DeepSeek V4 ProHeavier reasoning reviewreviewer acceptance and fallback reason
GLM-5.1Structured reasoning or tool-adjacent workcache field and error class
GLM-5Stable GLM baselineroute owner and regression notes
Kimi K3Long-context coding or document synthesiscontext budget and output cap
Kimi K2.7 CodeCoding-agent reviewtemplate 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.

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.

Source Links

Related AIWave Links