Claude Fable 5 vs Kimi K3
Welches und wann — kuratiertes Fazit, keine Benchmark-Tabelle
kimi-k3 unterbietet claude-fable-5 um etwa 3.3x auf der gesamten Preisliste ($3 vs $10 pro Million Input, $15 vs $50 beim Output, $0.3 vs $1 bei Cached Reads), und es akzeptiert zudem Video-Input und kann bis zu 1,048,576 Output-Token innerhalb seines 1,048,576-Token-Fensters ausgeben. claude-fable-5 bietet einen 1,000,000-Token-Kontext, begrenzt den Output jedoch auf 128,000 Token, und es verfügt über eine explizite Thinking-Fähigkeit sowie einen Knowledge Cutoff von Januar 2026. Wählen Sie kimi-k3 für Video-Input und sehr lange Generierungen zu geringeren Kosten; wählen Sie claude-fable-5, wenn diese Thinking-Fähigkeit und die angegebene Aktualität wichtiger sind als der Preis.
Preise
| Claude Fable 5 | Kimi K3 | Δ | |
|---|---|---|---|
| Input / 1M Token | $10 | $3 | 3.3× |
| Output / 1M Token | $50 | $15 | 3.3× |
| Cache-Read / 1M Token | $1 | $0.3 | 3.3× |
| Cache-Schreiben | 1.25x (5m) / 2x (1h) | — | — |
Preise aus dem Live-Katalog zum Zeitpunkt des Builds; jede Modellseite enthält die aktuelle Übersicht.
Wo sie stehen — Eingabepreis pro 1M Tokens über alle 63 Chat-Modelle mit dieser Abrechnungseinheit (logarithmische Skala)
Fähigkeiten
| Claude Fable 5 | Kimi K3 | |
|---|---|---|
| Tool-Nutzung | ja | ja |
| Thinking-Kontrolle | immer aktiv | immer aktiv |
| Strukturierte Ausgabe | ja | ja |
| Prompt-Caching | explizit (Sie markieren das Präfix) | implizit (automatisch) |
| Cache-Lebensdauer | 5m default, 1h option | nicht veröffentlicht |
| Minimales gecachtes Präfix | 1024 Tokens | nicht veröffentlicht |
Spezifikationen
| Claude Fable 5 | Kimi K3 | |
|---|---|---|
| Input-Modalitäten | Text Bild | Text Bild Video |
| Ausgabemodalitäten | Text | Text |
| Veröffentlicht | 2026-06-09 | — |
| Wissensgrenze | 2026-01 | — |
| Kontextfenster | 1M | 1M |
| Maximaler Output | 128K | 1M |
| Thinking-Parameter | output_config.effort (thinking.type is adaptive-only and needs no configuration) | reasoning_effort (top-level; the thinking object is not accepted) |
| Zulässige Werte | effort
both "enabled" and "disabled" return 400 | reasoning_effort
|
| Standardwert | thinking always on (adaptive) effort
| max |
Die Spezifikationen sind aus der Dokumentation der jeweiligen Anbieter übernommen; eine Zeile, die ein Anbieter nicht veröffentlicht, wird weggelassen und nicht abgeleitet. Vollständige Quellen: Claude Fable 5 · Kimi K3
Ein Prompt, beide Modelle — gemessen über das Gateway
Claude Fable 5 bestanden · 3 sentences
When we enabled reasoning, the model began generating extensive internal "thinking" tokens before each answer, and those tokens are billed as output even though users never see them. Output tokens typically cost several times more than input tokens, so adding thousands of hidden reasoning tokens per request effectively multiplied our per-query cost. In short, we're paying for a much longer response behind the scenes in exchange for higher answer quality, and we can manage this by tuning reasoning effort levels or reserving reasoning mode for complex tasks only.
Ausgabe 228 tok Latenz 6.7 s
Kimi K3 bestanden · 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.
Ausgabe 755 tok (+637 Denken) Latenz 20.8 s
Befolgen der Anweisung (genau drei Sätze — abzählbar), Zuschnitt auf das Publikum (CFO-Register), und die Abrechnungslücke durch verstecktes Denken, die die Token-Zähler unten offenlegen.
Claude Fable 5 bestanden · 8/8 cases
## Fixed code ```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` ## Explanation The original function counts **adjacent equal pairs** rather than **items in a run**: a run of length *n* contains only *n − 1* equal neighbor pairs, so every result is off by one — a single-element list yields 0 instead of 1, and `[1, 2, 2]` yields 1 instead of 2 (which callers perceive as "missing" the run at the end). The fix is to initialize both `cur` and `best` to 1 (any nonempty list has a run of at least length 1), reset `cur` to 1 rather than 0 when
Ausgabe 531 tok Latenz 12.5 s
Kimi K3 bestanden · 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. […]
Ausgabe 1837 tok (+1547 Denken) Latenz 47.2 s
Ob der Fix tatsächlich korrekt ist (ausführbar), die Dichte der Erklärung, und die Token-Effizienz bei einer klar begrenzten Aufgabe.
Claude Fable 5 bestanden · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "Q3 (September quarter)", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ``` Notes on interpretation: "up eleven and change" is rendered as 11 (the precise figure isn't stated), and guidance is null because it was explicitly withheld.
Ausgabe 192 tok Latenz 6.5 s
Kimi K3 bestanden · 5/5 fields, guidance null
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null }
Ausgabe 924 tok (+863 Denken) Latenz 25.9 s
Schema-Treue (keine erfundenen Felder), Halluzinationsdruck (guidance wird ausdrücklich zurückgehalten), und Unterschiede im Pfad für strukturierte Ausgabe.
Claude Fable 5 bestanden · 120 words, 0 banned, 1 question
**Introducing Cross-Provider Prompt Caching for our API Gateway** Starting today, your repeated prompts are cached once and reused across OpenAI, Anthropic, Google, and any other provider you route through the gateway. Instead of paying full token costs every time your application sends the same system prompt or context block, the gateway detects matching prefixes and serves cached results in milliseconds. Why keep spending money and latency on identical requests? Early adopters report cost reductions of up to 60 percent on high-volume workloads, along with faster median response times. Configuration is simple: enable caching in your dashboard, set a TTL, and choose which routes participate. Cache entries are encrypted at rest and never shared between accounts. Available now on all plans.
Ausgabe 1173 tok Latenz 18.2 s
Kimi K3 bestanden · 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.
Ausgabe 1527 tok (+1354 Denken) Latenz 37.9 s
Einhaltung der Vorgaben (Wortbudget, Liste verbotener Wörter, die eine Frage), Stil-Fingerabdruck, und Längensteuerung.
Mit einer Zeile zwischen ihnen wechseln
Beide IDs befinden sich in jedem Tab unten — das hervorgehobene Zeilenpaar ist die einzige Änderung. Gleicher Endpunkt, gleicher Schlüssel, gleiche Request-Struktur.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="claude-fable-5",
# model="kimi-k3", # diese Zeile einkommentieren, die darüberliegende auskommentieren
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: "claude-fable-5",
// model: "kimi-k3", // diese Zeile einkommentieren, die darüberliegende auskommentieren
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": "claude-fable-5",
# "model": "kimi-k3", # diese Zeile einkommentieren, die darüberliegende auskommentieren
"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: "claude-fable-5",
// Model: "kimi-k3", // diese Zeile einkommentieren, die darüberliegende auskommentieren
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("claude-fable-5")
// .model("kimi-k3") // diese Zeile einkommentieren, die darüberliegende auskommentieren
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Welches ist günstiger, Claude Fable 5 oder Kimi K3?
Kimi K3 ist günstiger bei input / 1m token ($3 vs. $10, 3.3× Unterschied). Andere Zeilen können in die andere Richtung deuten — die obige Tabelle enthält alle Daten, und die tatsächlichen Kosten hängen von Ihrem Mix ab.
Kann ich Claude Fable 5 gegen Kimi K3 ohne zwei Integrationen A/B-testen?
Ja. Beide werden über denselben OpenAI-kompatiblen Endpunkt mit einem API-Schlüssel bereitgestellt — der Wechsel ist eine einzeilige Änderung des Modell-Strings, sodass Sie einen Bruchteil des Traffics an jedes Modell leiten und die Rechnungen direkt vergleichen können.
Unterstützen Claude Fable 5 und Kimi K3 Prompt-Caching?
Ja — beide berechnen Cache-Reads günstiger als ihre Eingaberate, sodass Warm-Prefix-Workloads weniger kosten, als die Listenpreise vermuten lassen. Die genauen Zeilen für Cache-Reads befinden sich in der obigen Preistabelle.