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

Claude Sonnet 5 vs Gemini 3.7 Flash

vs

Lequel choisir, et quand

gemini-3.7-flash passe environ 2.7x sous claude-sonnet-5 en entrée comme en sortie ($0.75 contre $2 en entrée, $3.75 contre $10 en sortie, lectures de cache à $0.075 contre $0.2), et il accepte l'audio et la vidéo en plus du texte et des images : prenez-le pour du gros volume bon marché ou des entrées multimédias sur une fenêtre de 1048576 tokens. Choisissez claude-sonnet-5 quand il vous faut de longues générations, puisque sa sortie maximale de 128000 tokens vaut environ le double des 65536 du modèle Flash, ou quand sa capacité de réflexion - désactivable par requête - correspond à vos besoins de contrôle. Les fenêtres de contexte sont équivalentes, autour du million de tokens de part et d'autre.

Benchmarks

En têteAu-dessus de la moyenneNon dépasséClaude Sonnet 544 / 221 / 22Gemini 3.7 Flash1817 / 243 / 24

22 mesurés sur les deux.

Claude Sonnet 5 Gemini 3.7 Flash autres modèles mesurés moyenne des modèles comparés ★ aucun autre modèle n'a fait mieux
DeepSWE 1.1
53.8%
65.3%
BioMysteryBench hard
34.1%
43.5%
OSWorld 2.0 Partial score, batch tool enabled
42.6%
50.6%
Finance Agent v2
53.9%
59%
Harvey Lab-AA
90.1%
90.7%
HLE-Verified
31%
53.6%
AutomationBench
10.7%
30.4%
LVBench
68.5%
aucun autre modèle n'a fait mieux 85.4%

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

Tarifs

Claude Sonnet 5 Gemini 3.7 Flash Δ
Entrée / 1M de tokens $2 $0.75 2.7×
Sortie / 1M de tokens $10 $3.75 2.7×
Lecture de cache / 1M de tokens $0.2 $0.075 2.7×
É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)

Capacités

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

Spécifications

Claude Sonnet 5 Gemini 3.7 Flash
Modalités d'entrée texte image texte image audio vidéo
Modalités de sortie texte texte
Date de sortie 2026-06-30 2026-08-13
Coupure des connaissances 2026-01 2026-03
Fenêtre de contexte 1M 1M
Sortie maximale 128K 66K
Paramètre de réflexion
  • thinking.type "adaptive"
  • output_config.effort
-
Valeurs acceptées
thinking.type
  • adaptive
  • disabled
effort
  • low
  • medium
  • high
  • xhigh
  • max

"enabled" returns 400

-
Valeur par défaut

thinking on (adaptive)

effort
  • high
-

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 · Gemini 3.7 Flash

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

Gemini 3.7 Flash réussi · 3 sentences

Enabling reasoning causes the model to generate a high volume of invisible "thinking tokens" behind the scenes to deliberate and solve complex logic before delivering a final response. Because our vendor bills strictly on token volume, this additional internal computation effectively doubled our billable output per query. In short, our costs increased because we are now paying for the extra compute capacity required to produce significantly higher-accuracy answers.

sortie 878 tok (+799 réflexion) latence 6.9 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

Gemini 3.7 Flash réussi · 8/8 cases

Here is the corrected function: ```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 else: cur = 1 best = max(best, cur) return best ``` ### Explanation of the Bug The original function tracked equal adjacent transitions instead of the actual number of elements in a run, causing all non-empty run lengths to be undercounted by one (e.g., returning `0` instead of `1` for single-element lists because the loop never executes, and `1` instead of `2` for pairs). Initializing both `best` and `cur` to `1` (after handling empty inputs) and resetting `cur` to `1` on a mismatch ensures every individual element is counted as a valid run of at least length one.

sortie 1050 tok (+827 réflexion) latence 6.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.

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

Gemini 3.7 Flash réussi · 5/5 fields, guidance "withheld"

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

sortie 918 tok (+858 réflexion) latence 6.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.

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

Gemini 3.7 Flash réussi · 120 words, 0 banned, 1 question

Why pay twice for identical AI queries simply because you routed them to different model vendors? Today, we introduce Universal Prompt Caching directly within our unified API gateway architecture. This capability stores repeated prompt contexts across OpenAI, Anthropic, and local models, instantly returning stored results to eliminate redundant computation fees. When your application sends an LLM request, the gateway inspects the payload, identifies semantic matches, and returns accurate cached responses in under ten milliseconds. Engineering teams can now slash inference latency by eighty percent while dramatically reducing monthly token expenditures across diverse production deployments. You retain complete privacy control, flexible cache eviction policies, and granular metrics through a single dashboard. Update your routing settings today to accelerate overall system performance.

sortie 2858 tok (+2718 réflexion) latence 14.1 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="gemini-3.7-flash",  # 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 Gemini 3.7 Flash ?

Gemini 3.7 Flash est moins cher sur la ligne « Entrée / 1M de tokens » ($0.75 contre $2, soit un écart de 2.7×). 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 Gemini 3.7 Flash 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 Gemini 3.7 Flash 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