δΉ° buy and ε sell β opposite meanings, Chinese, Japanese, Korean (CJK) script β embed to cosine 1.0000 on MiniLM. Not similar: the identical vector. No ranker, threshold or reindex can separate them, because there is nothing left to separate. Through the gateway that pair drops to 0.9015 β distinguishable at last.
Popular embedding models collapse emoji and CJK text into near-identical vectors. 96.25% of distinct emoji collapsed into duplicates on MiniLM. 89.6% of compound emoji sequences collapsed on a Chinese-optimized model. Semantic Integrity Gateway is a drop-in middleware that fixes it before your embedder ever sees the input β no retraining, no model swap.
Why it costs you money: billing is per token, and non-English and
emoji text tokenize far less efficiently. Measured on
cl100k_base β the tokenizer OpenAI's text-embedding-3
models bill with β the same sentence costs +34% in Chinese, +110% in
Japanese and +131% in Korean versus English, and emoji-dense text runs
2.8× plain English (a single π₯ is 3 tokens where
sell is 1; π¨βπ©βπ§βπ¦ is 18). A 60%+ premium on non-English and
emoji workloads is the conservative case. This is a known, published
effect: tokenized lengths for the same text differ
up to 15× between languages
(Petrov et al., NeurIPS 2023), and API users of many languages are
“overcharged while obtaining poorer results”
(Ahia et al., EMNLP 2023). Re-run our numbers yourself:
token_cost_evidence.py.
Caveat we'll state plainly: on GPT-4o's newer o200k_base,
Chinese is roughly at parity with English β the premium is largest for
emoji, Japanese and Korean, and on the embedding tokenizers above.
We ran independent neural validation on real embedding models (RTX 5090, full precision, no shortcuts). The result: emoji and CJK text routinely collapse into duplicate or near-duplicate vectors. If your product does search, retrieval, moderation, or dedup on this content, it is already misclassifying it β silently.
Why this matters: if two visually and semantically different emoji β or two different Chinese phrases β produce the same or near-identical vector, your vector database can't tell them apart. Search returns the wrong result. Your RAG pipeline retrieves the wrong context. Your moderation model can't distinguish π₯ (hype) from π (celebration) from π¨ (alert). This isn't a hypothetical edge case β it's a measured, repeatable failure mode in models you are probably already running in production.
Read the research on the underlying tokenizer/embedding collapse βSemantic Integrity Gateway sits between your application and your embedding call. It applies a hardened semantic disambiguation layer to emoji, CJK, and bilingual text before the vector ever gets computed β preserving distinct meaning instead of losing it to collapse. No retraining. No new embedding model. No changes to your vector database.
Your text hits the gateway exactly as it does today β same request shape, drop-in FastAPI layer in front of your existing embedding endpoint.
Emoji, CJK spans, and bilingual mixes are detected and passed through a versioned semantic ruleset that resolves whole-sequence meaning β not code-point spelling.
The native input is never discarded. A provenance-bearing companion representation travels alongside it, restorable byte-for-byte.
Your existing embedding model receives disambiguated input and produces vectors that actually separate distinct meaning β search, RAG, and moderation start working correctly.
# before β direct call, silent collapse risk
- vector = embed_model.encode(user_text)
# after β one line, same interface
+ vector = sig_gateway.encode(user_text)
# emoji + CJK + bilingual spans disambiguated first
# original preserved, audit trail attached, then embedded
We hold the gateway to the same bar as the models it protects: held-out accuracy tests and real concurrent load, not cherry-picked demos.
| Model | Simple emoji collapse | Compound / ZWJ collapse | Notes |
|---|---|---|---|
| MiniLM | 96.25% | 96.25% | Only 18/480 test emoji produced distinct embeddings. |
| bge-base-zh-v1.5 | 86.5% | 89.6% | Chinese-optimized model β still fails badly on emoji. |
| bge-m3 | 50% | 0% (240/240 distinct) | Best of the three, but a coin-flip on simple emoji. |
Eight semantic-opposite pairs, embedded with all-MiniLM-L6-v2 at full precision.
"Before" is the raw pair. "After" is the same pair passed through
/v1/normalize. Reproduce any row with a free key in one call.
| Pair | Meaning | Before | After | Status |
|---|---|---|---|---|
| δΉ° / ε | buy / sell | 1.0000 | 0.9015 | Total collapse broken |
| ηε© / δΊζ | profit / loss | 1.0000 | 0.7739 | Total collapse broken |
| ζΉε / ι©³ε | approve / reject | 1.0000 | 0.8548 | Total collapse broken |
| δΈζΆ¨ / δΈθ· | rise / fall | 0.6256 | 0.6685 | Already distinct β gloss added |
| η»ε½ / ιεΊ | log in / log out | 0.6465 | 0.7088 | Already distinct β gloss added |
| δΉ°ε ₯ / εεΊ | buy in / sell out | 0.6465 | 0.6961 | Already distinct β gloss added |
| εζ / ζη» | agree / refuse | 0.5404 | 0.5961 | Already distinct β gloss added |
| εε€ / εη©Ί | go long / go short | 0.4676 | 0.6884 | Already distinct β gloss added |
| Pairs at cosine β₯ 0.95 (unrecoverable) | 3 / 8 | 0 / 8 | Every total collapse eliminated | |
What we do not claim. Mean cosine across all eight pairs is essentially unchanged
(0.7408 β 0.7360). The gateway is not a general-purpose "push everything apart" trick, and
pairs already separated can move slightly closer because the appended English gloss shares
surface tokens. The specific, load-bearing claim is narrower and stronger: where a pair was
mathematically indistinguishable β cosine 1.0000, the identical vector β it no longer is.
That is the failure no amount of downstream ranking can fix. Characters whose sense is genuinely
context-dependent (θ‘ hΓ‘ng/xΓng) are deliberately left unglossed and
flagged requires_multilingual_route rather than guessed at.
Metered by characters processed through the gateway. No seat licenses, no per-request tax on top of your embedding bill β you pay for disambiguation, not for volume you'd be paying anyway.
Prices below are BTC/on-chain prices β our base price. Paying by credit card or fiat costs a flat 16.666% more (fiat price = BTC price Γ 7/6). Pay on-chain or over Lightning and save 16.666%.
This toggle only changes the prices shown. To actually pay, hit Buy now below β you'll get a Bitcoin QR code and invoice, or card options.
For evaluation, prototyping, and low-volume production traffic.
Flat monthly rate with a 1 billion character allowance β then just $0.30 per additional 1M characters.
Flat-rate contracts at scale, VPC / on-prem deployment, dedicated support.
The tiers above run on our multi-tenant SaaS. Plenty of enterprise buyers can't use that β the data can't leave their boundary, the network has no egress, or they need to ship it inside their own product. So pick the shape you actually need. Tell us which one and we'll scope it.
These are contracted, not self-service. Prices are indicative starting points for scoping β the real number depends on volume commitment, environment count, and support tier. Selecting a model below records your requirement and starts a conversation with a human engineer. It does not provision anything and does not charge you.
Your cloud account. Our operators.
We deploy a single-tenant gateway into your own AWS, GCP, or Azure account and operate it for you. Your VPC, your KMS keys, your network policy, your cloud bill for the compute β text never crosses into our infrastructure or a shared tenant.
Best for: regulated teams whose data can't leave their cloud boundary, but who don't want to staff an on-call rotation for a normalization layer.
Runs entirely inside your perimeter. Air-gap capable.
A versioned container bundle plus Helm chart and offline model artifacts that you run on your own Kubernetes or bare metal. No outbound calls required at runtime β it runs fully air-gapped, including in networks where egress isn't a preference, it's a compliance control.
Best for: defense, healthcare, and finance workloads where an egress rule is a control you can't get an exception for.
Ship it inside your own product.
License the disambiguation engine as a library you link into your own product and redistribute to your customers under your brand. Source-available under a commercial OEM agreement, with the right to sublicense downstream.
Best for: platform, search, and RAG vendors who need this inside their own SKU rather than as an upstream dependency their customers can see.
Computed directly from the published Growth-tier rates above β not rounded marketing math.
No. It runs in front of it. You keep your existing model, vector database, and retrieval stack β the gateway just makes sure distinct emoji/CJK/bilingual input actually produces distinct vectors before it hits your embedder.
Never. The native input is preserved byte-for-byte with a versioned, provenance-bearing companion representation traveling alongside it. Restoration is exact in 100% of tested cases.
Unknown sequences are preserved untouched and flagged rather than guessed at β a deliberate fail-safe for Unicode and model-version drift.
Neural validation was run on real embedding models on an RTX 5090: MiniLM, bge-base-zh-v1.5, and bge-m3. Emoji fix accuracy was measured on a 40-item bilingual holdout set, and throughput was load-tested at 1,000 concurrent requests. CJK disambiguation was measured separately on eight semantic-opposite pairs with all-MiniLM-L6-v2 at full precision: three pairs sat at cosine 1.0000 (literally the same vector) and all three were broken, with zero pairs remaining above 0.95. We publish the pairs that barely moved alongside the ones that did β see the CJK table above and the "what we do not claim" note under it. Read the research for full methodology.
No, and that is deliberate. The built-in lexicon covers 130 high-confidence senses concentrated on the vocabulary where collapse does commercial damage β trading direction, money flow, account actions, and approve/reject decisions. Characters whose meaning genuinely depends on context (θ‘ hΓ‘ng "row/firm" vs xΓng "walk/okay") are intentionally not guessed. Those spans come back untouched with requires_multilingual_route: true so you can route them to a multilingual embedder. A wrong gloss would move the vector somewhere confidently wrong, which is worse than an honest flag. You can override or extend any entry per-request with chinese_glosses, and a caller-supplied gloss always wins over ours.
No. We don't translate or replace Chinese, Japanese, or Korean text with English. We preserve the native original and add a disambiguating semantic companion β native-language retrieval quality is never sacrificed.
A drop-in FastAPI-compatible endpoint. Most teams swap one function call β embed_model.encode() β sig_gateway.encode() β and ship the same day.
Get an API key, run your own emoji/CJK collapse test, and see the difference in an afternoon.
Developer tier is free β no credit card, no payment. Paid tiers: pay by Bitcoin for instant automatic access (base price), or by card for 16.666% more. Cancel anytime.
Prices are per month. Cancel anytime. Bitcoin is our base price; card adds a flat 16.666% (price Γ 7/6).
Scan with any Lightning wallet. The invoice already contains the exact amount, so you cannot underpay. Your API key appears here the moment it settles β usually a second or two.
Scan with any Bitcoin wallet, or copy the address. Your API key is issued automatically after 1 confirmation β no email required.
Send the exact amount. Underpayment won't be credited automatically β contact support if that happens.
You'll be redirected to our payment processor to complete checkout securely.
Continue to secure checkoutCard checkout isn't self-serve yet. Bitcoin is live right now and issues your key automatically. If you'd rather pay by card, leave your email and we'll send a secure payment link (Visa/Mastercard/Amex, Apple Pay, Google Pay or PayPal) within one business day.
Pick one and tell us the constraints. A solutions engineer replies with a scoped proposal and an order form β usually within one business day. Nothing is provisioned and nothing is charged by this form.
β