Nouveau Inscription gratuite, 10 appels offerts. Jusqu'à 1 $, sans carte.

Claude Sonnet 5 vs Kimi K3

vs

Lequel choisir, et quand

Les deux prennent texte et image en entrée et renvoient du texte, mais claude-sonnet-5 coûte $2 par million en entrée et $10 en sortie contre $3 et $15 pour kimi-k3 - 1.5x moins sur les deux - et il laisse couper la réflexion, ce que kimi-k3 ne permet pas. Prenez kimi-k3 quand il vous faut l'entrée vidéo ou de très longues générations, puisque son contexte de 1048576 tokens peut aussi servir à la sortie, contre un plafond de 128000 tokens sur claude-sonnet-5. Sinon claude-sonnet-5 est le choix par défaut le moins cher, y compris $0.2 contre $0.3 par million en lecture de cache.

Benchmarks

En têteAu-dessus de la moyenneNon dépasséClaude Sonnet 504 / 211 / 21Kimi K3652 / 6712 / 67

6 mesurés sur les deux.

Claude Sonnet 5 Kimi K3 autres modèles mesurés moyenne des modèles comparés ★ aucun autre modèle n'a fait mieux
DeepSWE 1.1
53.8%
67.5%
BioMysteryBench hard
34.1%
N/A
OSWorld-Verified
N/A
84.8%
Cybergym
N/A
80%
Finance Agent v2
53.9%
54.4%
Harvey Lab-AA
90.1%
aucun autre modèle n'a fait mieux 94.6%
GPQA Diamond
N/A
93.5%
BrowseComp
N/A
91.2%
LVBench
68.5%
N/A

Chiffres publiés par les fournisseurs : Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai

Tarifs

Claude Sonnet 5 Kimi K3 Δ
Entrée / 1M de tokens $2 $3 0.67×
Sortie / 1M de tokens $10 $15 0.67×
Lecture de cache / 1M de tokens $0.2 $0.3 0.67×
Écriture de cache 1.25x (5m) / 2x (1h) - -

Tarifs relevés dans le catalogue en direct à la génération du site ; la page de chaque modèle affiche la grille tarifaire à jour.

Leur position : prix en entrée pour 1M de tokens, parmi les 76 modèles de chat facturés dans cette unité (échelle logarithmique)

Claude Sonnet 5 · $2 Kimi K3 · $3
$0.05 · Qwen3 VL Flash $30 · GPT-5.4 Pro

Capacités

Claude Sonnet 5 Kimi K3
Appel d'outils oui oui
Contrôle de la réflexion configurable toujours activé
Sortie structurée oui oui
Mise en cache des prompts explicite (vous indiquez le préfixe) implicite (automatique)
Durée de vie du cache 5m default, 1h option non publié
Préfixe minimal mis en cache 1024 tokens non publié

Spécifications

Claude Sonnet 5 Kimi K3
Modalités d'entrée texte image texte image vidéo
Modalités de sortie texte texte
Date de sortie 2026-06-30 2026-07-16
Coupure des connaissances 2026-01 -
Fenêtre de contexte 1M 1M
Sortie maximale 128K 1M
Paramètre de réflexion
  • thinking.type "adaptive"
  • output_config.effort
reasoning_effort (top-level; the thinking object is not accepted)
Valeurs acceptées
thinking.type
  • adaptive
  • disabled
effort
  • low
  • medium
  • high
  • xhigh
  • max

"enabled" returns 400

reasoning_effort
  • low
  • high
  • max
Valeur par défaut

thinking on (adaptive)

effort
  • high
max

Les spécifications sont reprises de la documentation de chaque fournisseur ; quand un fournisseur ne publie pas une valeur, la ligne est omise et non déduite. Sources complètes : Claude Sonnet 5 · Kimi K3

Un prompt, deux modèles, mesurés via la passerelle

PROMPT Explain to a CFO, in exactly three sentences, why our LLM bill doubled after we enabled reasoning. CRITÈRE exactement 3 phrases

Claude Sonnet 5 réussi · 3 sentences

Reasoning mode works by having the model generate extended internal "thinking" steps before producing its final answer, and since we're billed on total tokens, that hidden reasoning text adds significantly to what we pay for—even though you never see it in the output. This is different from simply getting longer visible responses; the model is essentially "showing its work" behind the scenes, and complex prompts can trigger thousands of extra reasoning tokens per request. The upside is improved accuracy on complex tasks, but if we want to control costs, we should selectively enable reasoning only for queries that truly need it, rather than applying it universally.

sortie 194 tok latence 4.3 s

Kimi K3 réussi · 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.

sortie 755 tok (+637 réflexion) latence 20.8 s

Le respect de la consigne (exactement trois phrases, ça se compte), l'adaptation au public visé (le registre d'un directeur financier) et l'écart de facturation dû à la réflexion masquée, que révèlent les compteurs de tokens ci-dessous.

PROMPT This function is supposed to return the longest run of consecutive equal items, but callers report it is off by one on single-element inputs and misses runs that end at the last index. Fix it and explain the bug in one paragraph. CRITÈRE le correctif passe les tests

Claude Sonnet 5 réussi · 8/8 cases

## The Bug The function has two related off-by-one issues rooted in the same cause: `cur` and `best` are initialized to `0` instead of `1`, treating run lengths as the number of *matches* between adjacent elements rather than the number of *elements* in the run. This means a single-element input never enters the loop (since `range(1, 1)` is empty) and returns `0` instead of the correct answer of `1`. It also means that for any input, the run length is undercounted by exactly one — a run of 3 equal elements only produces 2 "match" increments, so `best` ends up as 2 instead of 3. The claim that it "misses runs that end at the last index" is actually a symptom of this same undercount: the logic does update `best` correctly on every iteration (including the last), but because it's counting matches instead of elements, the final reported value is always one less than the true longest run. […]

sortie 536 tok latence 7.1 s

Kimi K3 réussi · 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. […]

sortie 1837 tok (+1547 réflexion) latence 47.2 s

La justesse réelle du correctif (il s'exécute), la densité de l'explication et l'économie de tokens sur une tâche bien délimitée.

PROMPT Extract a JSON object with fields {company, quarter, revenue_usd_m, growth_pct, guidance} from this text. Use null for anything not stated; add no other fields. CRITÈRE JSON valide, schéma exact

Claude Sonnet 5 réussi · 5/5 fields, guidance null

```json { "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": 11.5, "guidance": null } ```

sortie 348 tok latence 5.3 s

Kimi K3 réussi · 5/5 fields, guidance null

{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null }

sortie 924 tok (+863 réflexion) latence 25.9 s

Le respect du schéma (aucun champ inventé), la tentation d'halluciner (le texte indique que la guidance n'est pas communiquée) et les différences entre les mécanismes de sortie structurée.

PROMPT Write a 120-word product announcement for an API gateway feature that caches prompts across providers. Forbidden words: "seamless", "unlock", "game-changer", "revolutionize", "empower". Exactly one sentence must be a question. CRITÈRE 120 mots, 0 mot interdit

Claude Sonnet 5 réussi · 123 words, 0 banned, 1 question

## Introducing Cross-Provider Prompt Caching We're rolling out a new caching layer for our API gateway that works across every major LLM provider you connect through it. Instead of resending identical prompts and paying full price each time, the gateway recognizes repeated requests and serves cached responses in milliseconds—regardless of whether you're routing to OpenAI, Anthropic, or Google. What does this mean for your bill and your latency? Both drop, often significantly, especially for teams running high-volume, repetitive workloads like customer support bots or batch content generation. The cache is configurable per route, with adjustable TTLs and invalidation rules, so you stay in control of freshness versus cost. Available now for all Pro and Enterprise plans. Check your dashboard to enable it today.

sortie 259 tok latence 4.8 s

Kimi K3 réussi · 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.

sortie 1527 tok (+1354 réflexion) latence 37.9 s

Le respect des contraintes (nombre de mots, liste de mots interdits, une seule question), l'empreinte stylistique et la maîtrise de la longueur.

Passez de l'un à l'autre en changeant une seule ligne

Les deux identifiants figurent dans chaque onglet ci-dessous : les deux lignes surlignées sont le seul changement. Même endpoint, même clé, même format de requête.

from openai import OpenAI

client = OpenAI(
    base_url="https://synthorai.io/v1",
    api_key="sk-syn-...",
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    # model="kimi-k3",  # décommentez cette ligne, commentez celle du dessus
    messages=[{"role": "user", "content": "Summarize this diff"}],
    reasoning_effort="medium",
)
print(resp.choices[0].message.content)

Obtenez votre clé API →

FAQ

Lequel est le moins cher, Claude Sonnet 5 ou Kimi K3 ?

Claude Sonnet 5 est moins cher sur la ligne « Entrée / 1M de tokens » ($2 contre $3, soit un écart de 1.5×). D'autres lignes peuvent dire l'inverse : le tableau ci-dessus donne la grille tarifaire complète, et le coût réel dépend de la composition de votre trafic.

Puis-je faire un test A/B entre Claude Sonnet 5 et Kimi K3 sans deux intégrations ?

Oui. Les deux passent par le même endpoint compatible OpenAI, avec une seule clé API. Pour passer de l'un à l'autre, il suffit de changer l'identifiant du modèle, soit une ligne : vous pouvez donc envoyer une part du trafic à chacun et comparer directement les factures.

Claude Sonnet 5 et Kimi K3 prennent-ils en charge la mise en cache des prompts ?

Oui. Les deux facturent les lectures de cache moins cher que leur tarif d'entrée : une charge de travail dont le préfixe est déjà en cache coûte donc moins que ne le laissent penser les tarifs publics. Les lignes de lecture de cache figurent dans le tableau des tarifs ci-dessus.

Comparatifs associés

Nos études, mesures à l'appui