This guide uses source checks from Sep 21, 2026. Provider and gateway prices can change; preserve the checked date with every forecast.
Why This Topic Matters Now
The Sep 20 market sweep emphasized that Tier 1 and Tier 2 SaaS teams care about token billing, cache behavior, context size, tool fees, and route changes more than a single headline model price. The right artifact is a budget policy that says what gets measured, who owns the limit, and what happens when a workload moves outside its forecast.
A monthly total is too coarse to steer an AI product. A useful policy separates ordinary input, cached input when exposed, output, tool calls, media calls, retries, and fallback traffic. It also preserves the model ID, route source, checked date, effective date, and account-group context. That makes a variance explainable without storing customer prompts in a finance report.
Source Facts Checked Today
AIWave /api/pricing was checked from production on Sep 21, 2026 and returned HTTP 200, success=true, 68 live route rows, pricing_version 5a90f2b86c08bd983a9a2e6d66c255f4eaef9c4bc934386d2b6ae84ef0ff1f1f, auto_groups=['default'], group_ratio default=1 and vip=0.9, with the OpenAI-compatible POST path at /v1/chat/completions. The public /api/v1/pricing endpoint returned HTTP 200 with 56 dated USD rows, pricing_version 83f77abde81ee3a096a672ed959ccc096f5d37a45c177ae8e03229456b5415a5, updated_at=2026-09-18, and checked=2026-09-10. Use the live endpoint for route and group evidence, and the static endpoint for dated public USD rates.
The dated public rows currently list deepseek-v4-pro at $1.914 input, $0.0637362 cache-hit input, and $5.742 output; glm-5.1 at $2.1, $0.680001, and $6.5999997; kimi-k3 at $4.5, $0.9, and $22.5; and qwen3.5-omni-flash at about $0.490976 input and $2.968176 output per 1M tokens. These are dated base rates, not permanent quotes.
DeepSeek, Z.AI, QwenCloud, and Kimi documentation each describes provider-side billing concepts such as token classes, context caching, tools, or search. Keep those provider explanations separate from AIWave gateway rows and from measured SaaS spend.
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.
| Budget field | Why it matters | Policy action |
|---|---|---|
| Input tokens | prompt and context volume | cap by workload class |
| Cached input | repeated prefix behavior | version prefix and measure share |
| Output tokens | agent verbosity and revisions | route-specific output ceiling |
| Tool calls | search or external actions | allowlist and per-request cap |
| Retries | hidden multiplier on spend | attempt ceiling and stop reason |
| Price source | rate-card drift | store URL, version, and dates |
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
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY_HERE", base_url="https://aiwave.live/v1")
@dataclass
class UsageBudget:
input_tokens: int
cached_input_tokens: int
output_tokens: int
tool_calls: int
retries: int
def within_policy(u: UsageBudget) -> bool:
return (u.output_tokens <= 1200 and u.tool_calls <= 3
and u.retries <= 1)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "Return a short structured status."}],
temperature=0.0, max_tokens=120,
)
print({"finish": response.choices[0].finish_reason,
"total_tokens": response.usage.total_tokens})
Turn the Search Intent Into a Runbook
The useful unit for a cache-aware SaaS budget policy is a runbook, not a model slogan. Write down the workload, approved model IDs, source dates, data class, output ceiling, retry ceiling, owner, and stop condition before the first production request. That record gives engineering, finance, and privacy reviewers the same object to inspect.
Separate Live Route Evidence From Dated Prices
The current route response and the public USD snapshot answer different questions. The live response tells you which route rows and endpoint types are available now. The public snapshot gives dated base rates for a forecast. Keep both URLs, versions, checked dates, and model IDs in the release record instead of blending them into one timeless table.
Measure the Workload You Actually Ship
A short demo can hide the important cost and reliability behavior. Build an acceptance set with ordinary input, repeated context, a long document, a malformed request, and a stop-condition case. Capture input tokens, cached input when exposed, output tokens, tool calls, retries, finish reason, request identifier, and reviewer outcome.
Protect the Request Boundary
Keep credentials server side, use a placeholder in documentation, redact customer content from test fixtures, and make route policy explicit in configuration. OpenAI compatibility reduces client changes; it does not decide what data may cross a route or what a reviewer must retain.
Use Bounded Recovery
Retry only errors that are safe to retry. Put an attempt ceiling on every fallback and preserve the original request identifier. A receipt should show the original route, fallback route, stop reason, and whether the output was accepted, revised, or discarded.
Use AIWave's Evidence Layer
Use the dated Pricing JSON, live route pricing, Models docs, and Trust. Recheck the live route table before a rollout, the dated pricing JSON before a budget review, the status page before a launch window, and the trust page before procurement review. Keep source dates visible in the internal decision record.
Final Release Gate
Promotion is ready when provider sources are dated, AIWave routes are rechecked, public USD rows carry their own checked dates, the representative canary passes, data handling is documented, and a named owner can stop or reverse the change.