ProductsTranslation API
Translation API
Translate text between more than 100 languages with neural machine translation (NMT) or the Translation LLM.
500,000 characters of NMT translation free every month
Features
Translation that fits your workload
The Translation API dynamically translates text using Neural Machine Translation (NMT) for speed and broad language coverage, or the Translation LLM for more fluent, natural results. It is compatible with the Google Cloud Translation v2 and v3 REST interfaces.
Neural Machine Translation
Fast, consistent translations with the broadest language coverage, built for high-volume workloads.
Translation LLM
More fluent, natural-sounding translations for marketing copy, help articles and other text where tone matters.
Automatic language detection
Leave out the source language and the API detects it, or call the detect endpoint on its own.
HTML support
Translate HTML content while keeping its tags and structure intact.
Batch requests
Send many strings in a single request to cut round trips and keep related text together.
100+ languages
Translate between more than 100 languages, from Afrikaans to Zulu.
Use cases
Where teams use the Translation API
Website and app localization
Ship interfaces, help centers and release notes in the language of every market.
User-generated content
Make reviews, comments and community posts readable for every user.
E-commerce catalogs
Translate product titles, descriptions and attributes across thousands of listings.
Customer support
Answer tickets and chats in your customers' language while agents work in theirs.
Quickstart
Translate your first sentence
Create an API key in the Vionex Console, then call the API from any language.
https://api.vionexlimited.com
X-Api-Key: YOUR_API_KEY header or ?key=YOUR_API_KEY
-
Translate text (v2)
Send one or more strings in
qand atargetlanguage. Leave outsourceto detect it automatically.Prefer a query parameter?
POST https://api.vionexlimited.com/language/translate/v2?key=YOUR_API_KEYworks too.curl -X POST "https://api.vionexlimited.com/language/translate/v2" \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q": ["Hello, world"], "target": "zh-CN"}'import requests resp = requests.post( "https://api.vionexlimited.com/language/translate/v2", headers={"X-Api-Key": "YOUR_API_KEY"}, json={"q": ["Hello, world"], "target": "zh-CN"}, timeout=30, ) resp.raise_for_status() print(resp.json()["data"]["translations"][0]["translatedText"])const resp = await fetch("https://api.vionexlimited.com/language/translate/v2", { method: "POST", headers: { "X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ q: ["Hello, world"], target: "zh-CN" }), }); const { data } = await resp.json(); console.log(data.translations[0].translatedText);{ "data": { "translations": [ { "translatedText": "你好,世界", "detectedSourceLanguage": "en" } ] } } -
Use the Translation LLM (v3)
The v3-compatible endpoint takes
contentsand atargetLanguageCode. Setmodeltogeneral/translation-llmto use the Translation LLM.curl -X POST "https://api.vionexlimited.com/v3/projects/YOUR_PROJECT_ID:translateText" \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": ["Hello"], "targetLanguageCode": "ja", "model": "general/translation-llm" }'import requests resp = requests.post( "https://api.vionexlimited.com/v3/projects/YOUR_PROJECT_ID:translateText", headers={"X-Api-Key": "YOUR_API_KEY"}, json={ "contents": ["Hello"], "targetLanguageCode": "ja", "model": "general/translation-llm", }, timeout=30, ) resp.raise_for_status() print(resp.json()["translations"][0]["translatedText"])const resp = await fetch( "https://api.vionexlimited.com/v3/projects/YOUR_PROJECT_ID:translateText", { method: "POST", headers: { "X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ contents: ["Hello"], targetLanguageCode: "ja", model: "general/translation-llm", }), }, ); const { translations } = await resp.json(); console.log(translations[0].translatedText); -
Detect the language
Send text to
/language/translate/v2/detectto identify its language.curl -X POST "https://api.vionexlimited.com/language/translate/v2/detect" \ -H "X-Api-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q": ["Bonjour tout le monde"]}'import requests resp = requests.post( "https://api.vionexlimited.com/language/translate/v2/detect", headers={"X-Api-Key": "YOUR_API_KEY"}, json={"q": ["Bonjour tout le monde"]}, timeout=30, ) resp.raise_for_status() print(resp.json()["data"]["detections"][0][0]["language"]) # frconst resp = await fetch("https://api.vionexlimited.com/language/translate/v2/detect", { method: "POST", headers: { "X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ q: ["Bonjour tout le monde"] }), }); const { data } = await resp.json(); console.log(data.detections[0][0].language); // fr
API endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /language/translate/v2 | Translate text (Cloud Translation v2 compatible) |
| POST | /language/translate/v2/detect | Detect the language of text |
| POST | /v3/projects/{project}:translateText | Translate text with NMT or the Translation LLM (Cloud Translation v3 compatible) |
Languages
133 supported languages
Use these codes for the source and target languages of your requests.
Show all 133 languages and codes
- Afrikaans
af - Albanian
sq - Amharic
am - Arabic
ar - Armenian
hy - Assamese
as - Aymara
ay - Azerbaijani
az - Bambara
bm - Basque
eu - Belarusian
be - Bengali
bn - Bhojpuri
bho - Bosnian
bs - Bulgarian
bg - Catalan
ca - Cebuano
ceb - Chinese (Simplified)
zh-CN - Chinese (Traditional)
zh-TW - Corsican
co - Croatian
hr - Czech
cs - Danish
da - Dhivehi
dv - Dogri
doi - Dutch
nl - English
en - Esperanto
eo - Estonian
et - Ewe
ee - Filipino (Tagalog)
fil - Finnish
fi - French
fr - Frisian
fy - Galician
gl - Georgian
ka - German
de - Greek
el - Guarani
gn - Gujarati
gu - Haitian Creole
ht - Hausa
ha - Hawaiian
haw - Hebrew
he - Hindi
hi - Hmong
hmn - Hungarian
hu - Icelandic
is - Igbo
ig - Ilocano
ilo - Indonesian
id - Irish
ga - Italian
it - Japanese
ja - Javanese
jv - Kannada
kn - Kazakh
kk - Khmer
km - Kinyarwanda
rw - Konkani
gom - Korean
ko - Krio
kri - Kurdish (Kurmanji)
ku - Kurdish (Sorani)
ckb - Kyrgyz
ky - Lao
lo - Latin
la - Latvian
lv - Lingala
ln - Lithuanian
lt - Luganda
lg - Luxembourgish
lb - Macedonian
mk - Maithili
mai - Malagasy
mg - Malay
ms - Malayalam
ml - Maltese
mt - Maori
mi - Marathi
mr - Meiteilon (Manipuri)
mni-Mtei - Mizo
lus - Mongolian
mn - Myanmar (Burmese)
my - Nepali
ne - Norwegian
no - Nyanja (Chichewa)
ny - Odia (Oriya)
or - Oromo
om - Pashto
ps - Persian
fa - Polish
pl - Portuguese
pt - Punjabi
pa - Quechua
qu - Romanian
ro - Russian
ru - Samoan
sm - Sanskrit
sa - Scots Gaelic
gd - Sepedi
nso - Serbian
sr - Sesotho
st - Shona
sn - Sindhi
sd - Sinhala
si - Slovak
sk - Slovenian
sl - Somali
so - Spanish
es - Sundanese
su - Swahili
sw - Swedish
sv - Tajik
tg - Tamil
ta - Tatar
tt - Telugu
te - Thai
th - Tigrinya
ti - Tsonga
ts - Turkish
tr - Turkmen
tk - Twi (Akan)
ak - Ukrainian
uk - Urdu
ur - Uyghur
ug - Uzbek
uz - Vietnamese
vi - Welsh
cy - Xhosa
xh - Yiddish
yi - Yoruba
yo - Zulu
zu
Pricing
Pay per character
Graduated monthly pricing in US dollars.
| Monthly usage | Price (USD) |
|---|---|
| Translation NMT: text translation and language detectionFirst 500,000 characters per month are free | |
| 0 – 500,000 characters / month | Free |
| Over 500,000 characters / month | $20.00 per 1M characters |
| Translation LLM: input characters | |
| All usage | $10.00 per 1M characters |
| Translation LLM: output characters | |
| All usage | $10.00 per 1M characters |
Characters are counted as Unicode code points, including whitespace. Language detection is billed as NMT usage.
Over 1 billion characters per month?
Contact us for volume pricingStart building with Vionex
Create an account in minutes and pay only for what you use.