GLM-5.1 vs Kimi K3
什麼情況選哪一個
glm-5.1 是更便宜的純文字選項,每百萬輸入 $1.4、輸出 $4.4,對比 kimi-k3 的 $3 和 $15——輸入低約 2.1 倍、輸出低約 3.4 倍——而且它允許關閉思考,kimi-k3 不允許。需要影像或視訊輸入,或任務確實超出 glm-5.1 的 200000 token 脈絡和 131072 token 輸出上限時選 kimi-k3,它接受並產出最多 1048576 token。兩者的快取讀取接近($0.26 對 $0.3),所以 200k 以內的重複文字提示詞,成本差距主要來自新增輸入和生成。
Benchmark 成績
GLM-5.1:供應商沒有公布 benchmark 成績。
供應商公布: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
定價
| GLM-5.1 | Kimi K3 | Δ | |
|---|---|---|---|
| 輸入 / 1M tokens | $1.4 | $3 | 0.47× |
| 輸出 / 1M tokens | $4.4 | $15 | 0.29× |
| 快取讀取 / 1M tokens | $0.26 | $0.3 | 0.87× |
費率取自網站建置時的即時目錄;各模型頁面都列有最新的價目。
兩者的相對位置:每 1M tokens 的輸入價格,涵蓋同一計費單位下全部 76 個聊天模型(對數尺度)
功能
規格
| GLM-5.1 | Kimi K3 | |
|---|---|---|
| 輸入模態 | 文字 | 文字 圖像 影片 |
| 輸出模態 | 文字 | 文字 |
| 發布日期 | 2026-04-07 | 2026-07-16 |
| 上下文視窗 | 200K | 1M |
| 最大輸出 | 131K | 1M |
| 思考參數 | thinking.type | reasoning_effort (top-level; the thinking object is not accepted) |
| 可接受的值 | thinking.type
| reasoning_effort
|
| 預設值 | enabled, and the model automatically determines whether to think | max |
同一段提示詞,兩個模型,經閘道實測
GLM-5.1 通過 · 3 sentences
Enabling reasoning shifts the LLM from generating quick answers to producing hidden "chain-of-thought" tokens that systematically explore multiple solution paths before responding. Because billing is based on total tokens processed, these invisible reasoning tokens drastically increase input and output volume per query, often adding thousands of compute-intensive tokens to a single prompt. Consequently, our bill doubled not from higher per-token rates or increased user volume, but from the exponentially deeper computational work required to deliver higher-quality, more reliable outputs.
輸出 98 tok 延遲 7.8 s
Kimi K3 通過 · 3 sentences
Reasoning models don't just answer questions—they "think" first, generating long internal chains of step-by-step logic before producing a response. Those hidden thinking steps are billed as output tokens (the most expensive kind, typically 3–5x the price of input tokens), and a single query can generate thousands of them even when the visible answer is only a paragraph long. So you're paying for dramatically more compute per request: the bill doubled because the model does far more work behind the scenes, not because usage increased.
輸出 755 tok (+637 思考) 延遲 20.8 s
是否照指令做(剛好三句,數得出來)、語氣是否貼合對象(寫給 CFO 看),以及下方 token 計量顯示出的隱藏思考計費落差。
GLM-5.1 通過 · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` **Explanation:** The original function initialized `cur` and `best` to `0` and only incremented `cur` when a duplicate was found. This counts the number of *extra* equal items in a run rather than the total run length, so every run is reported as one shorter than it actually is—returning `0` for single-element lists and `L-1` for a run of length `L` (including those ending at the last index). The fix initializes `cur` and `best` to `1` (when the list is non‑empty) and resets `cur` to `1` on a mismatch, so `cur` tracks the full length of the current run and `best` records the true maximum.
輸出 3823 tok (+3585 思考) 延遲 49.7 s
Kimi K3 通過 · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` The bug is a fencepost error: `cur` counts *matching adjacent pairs* rather than *items in the run*, because it starts at 0 and only increments when `xs[i] == xs[i - 1]`. A run of length L contains L−1 equal pairs, so every run was undercounted by exactly one. For a single-element list (a run of length 1) the loop never runs and the function returns 0 instead of 1; likewise any run ending at the last index — e.g. the two `2`s in `[1, 2, 2]` — reported 1 instead of 2, making it look like no run existed at all. […]
輸出 1837 tok (+1547 思考) 延遲 47.2 s
修正是否真的正確(跑得起來)、說明的資訊密度,以及在範圍明確的任務上的 token 效率。
GLM-5.1 通過 · 5/5 fields, guidance "withheld pending the Q4 close"
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": "eleven and change", "guidance": "withheld pending the Q4 close" } ```
輸出 1091 tok (+1028 思考) 延遲 15.2 s
Kimi K3 通過 · 5/5 fields, guidance null
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null }
輸出 924 tok (+863 思考) 延遲 25.9 s
是否遵守 schema(不自創欄位)、面對幻覺誘因的表現(題目明確不給 guidance),以及結構化輸出路徑的差異。
GLM-5.1 通過 · 120 words, 0 banned, 1 question
We are excited to introduce Prompt Cache for our API Gateway. This new feature stores responses for identical prompts, routing subsequent requests directly to the cache instead of calling the underlying AI provider. Are you tired of paying multiple times for the exact same query? Prompt Cache solves this by recognizing duplicate inputs across all supported providers, drastically reducing latency and operational costs. When a user submits a request that matches a previously cached prompt, the gateway returns the stored answer instantly. You can configure cache expiration and scope rules via your dashboard to maintain data freshness. Stop wasting budget on redundant computational work. Upgrade to the latest gateway tier today to start saving time and money on every call.
輸出 3935 tok (+3802 思考) 延遲 41.1 s
Kimi K3 通過 · 120 words, 0 banned, 1 question
Meet Prompt Cache, a new API gateway capability that stores prompt responses and serves them across OpenAI, Anthropic, Google, and Azure endpoints. It matches requests by model, prompt hash, tools, temperature, and tenant policy, so repeated work returns fast while sensitive contexts stay isolated. Teams set TTLs, stale rules, encryption scopes, and bypass flags per route. Analytics show hit rate, latency saved, token spend avoided, and drift risk by provider. What changes for developers? Keep one integration, add cache headers, and watch fallback logic respect consent, residency, and audit needs. During rollout, canary keys compare fresh answers with cached copies before promotion. Prompt Cache cuts vendor calls, steadies p95 latency, and gives platform owners controls for cost, quality, and compliance.
輸出 1527 tok (+1354 思考) 延遲 37.9 s
是否遵守限制(字數上限、禁用詞清單、只能有一句問句)、文字風格的特徵,以及長度控制。
改一行程式碼就能在兩者之間切換
下面每個頁籤都列了這兩個模型 ID,要改的只有醒目標示的那兩行。端點、金鑰和請求格式都不變。
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="glm-5.1",
# model="kimi-k3", # 取消這一行的註解,並把上一行註解掉
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "glm-5.1",
// model: "kimi-k3", // 取消這一行的註解,並把上一行註解掉
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.1",
# "model": "kimi-k3", # 取消這一行的註解,並把上一行註解掉
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "glm-5.1",
// Model: "kimi-k3", // 取消這一行的註解,並把上一行註解掉
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("glm-5.1")
// .model("kimi-k3") // 取消這一行的註解,並把上一行註解掉
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));常見問題
GLM-5.1 和 Kimi K3 哪個比較便宜?
以「輸入 / 1M tokens」來看,GLM-5.1 比較便宜($1.4 對 $3,相差 2.1×)。其他項目的結果可能相反,完整價目請看上表;實際成本要看你的用量組合。
可以只串接一次,就對 GLM-5.1 和 Kimi K3 做 A/B 測試嗎?
可以。兩個模型都走同一個 OpenAI 相容端點,用的也是同一把 API 金鑰,切換時只要改一行裡的模型名稱字串。你可以把一部分流量分別導到兩邊,再直接比較帳單。
GLM-5.1 與 Kimi K3 支援提示詞快取嗎?
支援。兩者的快取讀取費率都低於輸入費率,所以前綴已經進快取的工作負載,實際成本會比官網價算出來的低。確切的快取讀取價格請見上方定價表。