Every user reads every post.
One API call covers 30+ languages. The output reads the way someone in that language would actually write, not like a 2010 translator. Your users in Seoul or São Paulo get the same product as your users in London, just in the right language.
curl https://api.auto18n.dev/v1/translate \
-H "Authorization: Bearer $AUTO18N_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Ship fast, translate faster.",
"targetLanguage": ["ja", "es", "fr"]
}'A few examples
It's raining cats and dogs outside — I'm not setting foot out there.
外は土砂降りだ。絶対に外には出ない。
Está lloviendo a cántaros — no pienso salir de aquí.
Il pleut des cordes dehors — je ne mets pas un pied dehors.
Just shipped the new onboarding flow. Conversion is up 23% since Tuesday. LFG.
새 온보딩 플로우 배포 완료. 화요일 이후 전환율 23% 상승. 레츠고.
Acabei de lançar o novo fluxo de onboarding. Conversão subiu 23% desde terça. Bora.
Neuer Onboarding-Flow ist live. Conversion seit Dienstag um 23 % gestiegen. Los geht's.
Try it yourself
What your users see
These show in your language by default. Hit 'Show original' on any of them if you want to see what was actually written, then flip back. Nothing reloads.
Went to the new ramen shop in Shibuya for lunch today. The miso ramen was incredible! Worth the wait in line.
Just migrated our backend to Rust and latency dropped 4x. Never going back to Node for this kind of service.
The croissant from the bakery downstairs is so good I've stopped having breakfast anywhere else.
Just finished my first marathon. Two years of training for this. Still can't believe it.
Six months since the whole team went fully remote. Productivity is actually up and nobody has quit. Makes you wonder why we had an office.
Deploying at 5pm on a Friday. What could possibly go wrong.
Run your whole product in any language without hiring a localization team.
Whatever you throw at it (UGC, product copy, notifications, support tickets) goes through the same endpoint. The first request hits the model, the result gets cached, and every later request for that string is served from cache instead of being retranslated. You don't need a translator on payroll, and you don't need anyone reviewing routine strings.
Output doesn't sound like a 2015 Google Translate result. Casual posts stay casual when translated. Corporate notices keep their formal tone. The model uses surrounding context to pick up register instead of treating every sentence as a standalone.
Cache means you only pay once
Translate a string once and we keep it. Every later request for that same string costs nothing in translation; you only pay for the storage row, which works out to a fraction of a cent per entry per month.
Bulk translate your entire database
Send 100K strings in one bulk call. Processing runs in the background and we ping your webhook when it finishes. You get 10% off everything in a bulk job, and anything already in cache is skipped instead of re-translated.
Test for free, pay when you ship
Test keys (sk_test_*) hit the real model and give you real output, but nothing is billed. Wire up your full integration against a test key and only swap to a live one when you're ready to ship.
Built for teams
API keys belong to the team, not the person who created them. Roles decide who can rotate keys or change billing, and you can invite the whole engineering org without each person setting up their own account.
See your first translation in 2 minutes
Sign up, copy the curl snippet from the docs, and you're done. There isn't really a step three.