Claude Haiku 5.5 vs Kimi K2.7 Code
Lequel choisir, et quand
claude-haiku-5-5 est moins cher et plus grand sur chaque limite : $0.1 en entrée et $0.5 en sortie contre $0.95 et $4 pour kimi-k2.7-code, soit 9.5x et 8x moins, des lectures en cache à $0.01 contre $0.19, un contexte de 1000000 tokens contre 256000, et 128000 tokens en sortie contre 32768. Il facture 5x plus cher les prompts de plus de 100000 tokens, ce qui le laisse malgré tout moins cher. kimi-k2.7-code accepte la vidéo en entrée, et son raisonnement ne peut pas être désactivé. Choisissez claude-haiku-5-5 pour le coût et les entrées longues, et kimi-k2.7-code lorsque vous voulez le modèle de Moonshot dédié au code.
Benchmarks
Claude Haiku 5.5 : le fournisseur n'a publié aucun résultat de benchmark.
Chiffres publiés par les fournisseurs : Alibaba (Qwen) Moonshot OpenAI Z.ai
Tarifs
| Claude Haiku 5.5 | Kimi K2.7 Code | Δ | |
|---|---|---|---|
| Entrée / 1M de tokens | $0.1 | $0.95 | 0.11× |
| Sortie / 1M de tokens | $0.5 | $4 | 0.13× |
| Lecture de cache / 1M de tokens | $0.01 | $0.19 | 0.053× |
| É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 78 modèles de chat facturés dans cette unité (échelle logarithmique)
Capacités
| Claude Haiku 5.5 | Kimi K2.7 Code | |
|---|---|---|
| Appel d'outils | oui | oui |
| Contrôle de la réflexion | configurable | toujours activé |
| Sortie structurée | 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 Haiku 5.5 | Kimi K2.7 Code | |
|---|---|---|
| Modalités d'entrée | texte image | texte image vidéo |
| Modalités de sortie | texte | texte |
| Date de sortie | 2026-10-07 | 2026-06 |
| Coupure des connaissances | 2026-06 | - |
| Fenêtre de contexte | 1M | 256K |
| Sortie maximale | 128K | 33K |
| Paramètre de réflexion | output_config.effort |
|
| Valeurs acceptées | output_config.effort
| type
keep
|
| Valeur par défaut | medium | thinking on with Preserved Thinking on |
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 Haiku 5.5 · Kimi K2.7 Code
Un prompt, deux modèles, mesurés via la passerelle
Claude Haiku 5.5 réussi · 3 sentences
Enabling reasoning makes the model generate a long internal chain of thought before its answer, and those thinking tokens are billed as output tokens, which cost several times more than input tokens. The model often produces many times more output per request than it did without reasoning, so the per-call cost rises even when the visible answer looks about the same length. Because that extra spend scales with every request, the bill roughly doubled, and we can control it by setting reasoning budgets, using reasoning only for tasks that need it, or routing simpler requests to a non-reasoning model.
sortie 332 tok (+159 réflexion) latence 2.9 s
Kimi K2.7 Code réussi · 3 sentences
Enabling reasoning mode causes the model to generate an internal chain-of-thought before producing each answer, and that hidden reasoning text is billed like any other output. Those extra reasoning tokens typically add up to much more than the final response itself, so every API call now costs significantly more than before. Because our overall usage volume did not change, the doubled bill reflects that each query consumes roughly twice as many billable tokens.
sortie 259 tok (+174 réflexion) latence 5.4 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.
Claude Haiku 5.5 réussi · 8/8 cases
```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 ``` The bug is that `cur` counts adjacent equal *pairs*, not run *elements*. A run of k equal items produces k−1 matching pairs, so the function returns one less than the true length, and a single-element input produces no pairs at all, so it returns 0 instead of 1. Resetting `cur` to 0 on a mismatch compounds this by starting every run one step behind. The fix starts both `cur` and `best` at 1 (a non-empty list always has a run of at least one element), resets `cur` to 1 on a mismatch, and updates `best` after every element rather than only inside the equal-branch. The empty-list guard keeps the function from returning 1 for `[]`. […]
sortie 1012 tok (+591 réflexion) latence 6.0 s
Kimi K2.7 Code 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 that the function counts *transitions* between equal neighbors instead of counting the items themselves, so a single-element list never enters the loop and returns `0` instead of `1`. Likewise, resetting `cur` to `0` on a mismatch forgets the current item that starts a new run, which causes runs that end at the last index to be undercounted. Initializing both `best` and `cur` to `1` and resetting `cur` to `1` fixes both issues.
sortie 410 tok (+222 réflexion) latence 9.4 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.
Claude Haiku 5.5 réussi · 5/5 fields, guidance "Formal guidance withheld pending the Q4 "
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": null, "growth_pct": 11, "guidance": "Formal guidance withheld pending the Q4 close" } ``` Notes: The text gives revenue as 412 but doesn't state the currency, so I left `revenue_usd_m` as null. Growth is "eleven and change," so 11 is an approximation.
sortie 725 tok (+572 réflexion) latence 4.6 s
Kimi K2.7 Code réussi · 5/5 fields, guidance "withheld pending the Q4 close"
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": "withheld pending the Q4 close" } ```
sortie 721 tok (+663 réflexion) latence 13.2 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.
Claude Haiku 5.5 réussi · 120 words, 0 banned, 1 question
**Introducing Prompt Cache Sync, the newest feature in GatewayOne.** Teams routing requests across OpenAI, Anthropic, and Google have often paid to process the same long system prompts again and again. Now the gateway stores those prompts once and reuses them wherever they appear, regardless of provider. Repeated context is matched by content hash, so cached prefixes return faster and cost less, with no changes to your application code. How much could this save your team? Enable Prompt Cache Sync from the dashboard, and your next billing report will show the difference. Cache entries follow your existing retention settings and can be purged per project at any time. Availability begins this week for all Scale and Enterprise plans worldwide. Start today.
sortie 2164 tok (+1929 réflexion) latence 9.9 s
Kimi K2.7 Code réussi · 120 words, 0 banned, 1 question
We're introducing Prompt Cache for our API Gateway, a new capability that stores prompt responses across multiple AI providers. By caching replies, you reduce redundant calls, lower latency, and cut costs without changing how you build. Teams using several model providers can now reuse identical prompt results instantly, keeping traffic consistent and budgets predictable. Responses are keyed by provider, model, and exact prompt, so you always get the right result. Configure TTL, hit thresholds, and eviction rules from a single dashboard. It fits into your existing routing and requires no code changes. Setup takes minutes and works with your current endpoints. Want to see how much latency and spend you can trim? Check the docs to enable Prompt Cache today.
sortie 2375 tok (+2235 réflexion) latence 38.6 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-haiku-5-5",
# model="kimi-k2.7-code", # décommentez cette ligne, commentez celle du dessus
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-haiku-5-5",
// model: "kimi-k2.7-code", // décommentez cette ligne, commentez celle du dessus
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-haiku-5-5",
# "model": "kimi-k2.7-code", # décommentez cette ligne, commentez celle du dessus
"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-haiku-5-5",
// Model: "kimi-k2.7-code", // décommentez cette ligne, commentez celle du dessus
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-haiku-5-5")
// .model("kimi-k2.7-code") // décommentez cette ligne, commentez celle du dessus
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Lequel est le moins cher, Claude Haiku 5.5 ou Kimi K2.7 Code ?
Claude Haiku 5.5 est moins cher sur la ligne « Entrée / 1M de tokens » ($0.1 contre $0.95, soit un écart de 9.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 Haiku 5.5 et Kimi K2.7 Code 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 Haiku 5.5 et Kimi K2.7 Code 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.