ModelPrint — Fingerprint Any OpenAI-Compatible Endpoint
- URL: https://github.com/unclecode/modelprint
- Date Saved: 2026-08-24
- Source: GitHub
- Tags: ai-engineering, ai-tools
- Repo: https://github.com/unclecode/modelprint (77 ⭐, created 2026-08-21)
Summary
Browser-based tool to fingerprint which model/lab is actually behind any OpenAI-compatible API endpoint. No install needed — runs entirely in-browser, keys never leave the tab.
Why it exists
- Built after “Ox Alpha” stealth model appeared on OpenRouter (Aug 21 2026) and community turned detective
- Also caught DeepSeek silently swapping models behind
deepseek-chatalias - Core thesis: “Plumbing does not lie; personality does” — tokenizers and error handlers reveal identity, personality/censorship tests don’t
9 Infrastructure Probes
- Tokenizer counts (English/Chinese/Code/Emoji) — normalized against 1-char baseline so host templates cancel out
- Template offset — prompt-token overhead reveals serving template size
- Temperature 2.0 error — validation messages are written by lab engineers
- max_tokens overflow — refusal names the real output limit
- Error code family — GLM’s 1301 code gave away Ox Alpha
- Finish vocabulary —
finish_reasonvalues differ per lab
Community probes (network forensics)
- Router region/provider metadata
- Generation ledger (native token counts)
- Header DNA (cf-ray vs x-amzn-requestid etc.)
- Context ceiling bisection
- Logprob geometry (quantization detection)
Key design decisions
- No censorship/personality probes — community proved these are unreliable (opposite conclusions from same data)
- Runs twice per tokenizer probe, reports “unstable” if router spreads across hosts
- Side-by-side comparison UI
- Community-extensible: add a probe by writing one JS file
Day 1 result on Ox Alpha
GLM family (z-ai/glm-5.3) matched 6/9 probes + 4/4 tokenizer. Next best was 2/9. Case closed.
Built by @unclecode (also author of Crawl4AI, 29K+ ⭐).