All posts

May 8, 2026 · TrueLLMs

OpenAI vs Claude vs Gemini · Fingerprint Differences in 2026

Side-by-side fingerprint table for GPT-5, Claude Opus 4.7 and Gemini 3.1 Pro: tokenizers, ITT rhythm signatures, refusal templates, and how to tell them apart in one HTTP call.

It is May 2026. The frontier in production is GPT-5 (and its mini/nano variants), Claude Opus 4.7, and Gemini 3.1 Pro. They speak the same JSON. They look identical on paper. They are not identical on the wire.

Side-by-side fingerprint

FeatureGPT-5Claude Opus 4.7Gemini 3.1 Pro
Tokenizero200k_baseclaude-3 vocabgemini vocab
LogprobsYes, top-20No (as of 4.7)Yes, top-5
ITT rhythmBimodal (spec dec)TrimodalSteady, low variance
Refusal style"I'm sorry, but I can't help…""I can't help with that.""I'm unable to help with…"
MarkdownHeavy bullets, boldSparse, prose-firstHeaded, structured
TTFT (us-east)600–900 ms450–700 ms350–550 ms

How to tell them apart in one HTTP call

Set logprobs: true, top_logprobs: 5, temperature: 0 and ask the endpoint to repeat "北京欢迎你 🇨🇳". Inspect the alternatives:

  • If the Chinese characters appear as single tokens with leading-space alternatives, OpenAI o200k_base.
  • If logprobs are absent and the response style is sparse and prose-first, Claude.
  • If logprobs return top-5 with structured-headed Markdown in the response, Gemini.

Cross-check ITT if you have streaming. GPT-5's bimodal gap distribution is the most distinctive of the three.

What this means for proxies

A proxy that claims to serve GPT-5 cannot easily mimic GPT-5's ITT rhythm because that rhythm comes from the inference stack, not the response body. A proxy that claims Claude cannot trivially produce o200k_base tokens in logprobs because Claude does not have that vocabulary. The fingerprints stack — passing one is easy, passing all twelve is roughly as hard as actually running the model.

Audit your proxy and see which fingerprint cluster the responses fall into.