Developer API
Integrate KAERIS translation into your CI/CD pipeline. Upload a JSON file, poll for status, download ZIP — all via simple REST calls.
Get your free API key
API keys unlock 50,000 characters per request (vs 3,000 on the web UI). Free, no account required.
Generating...
Your API key — copy it now, it won't be shown again:
Pass as X-API-Key header in every request.
Quick start
1
Upload file → get job_id
# POST /api/translate curl -X POST https://kaeris.dev/api/translate \ -H "X-API-Key: kaeris_your_key_here" \ -F "[email protected]" \ -F "languages=ru,de,fr,es,zh,ja" # Response: { "job_id": "3f8a2c1d-..." }
2
Poll until done
# GET /api/status/{job_id} curl https://kaeris.dev/api/status/3f8a2c1d-... # Response when done: { "status": "done", "progress": 6, "total": 6, "error": "" }
3
Download ZIP
# GET /api/download/{job_id} curl -O https://kaeris.dev/api/download/3f8a2c1d-... # Saves translations.zip with ru.json, de.json, fr.json ...
Python example
import requests, time API_KEY = "kaeris_your_key_here" HEADERS = {"X-API-Key": API_KEY} # 1. Upload with open("en.json", "rb") as f: r = requests.post( "https://kaeris.dev/api/translate", headers=HEADERS, files={"file": f}, data={"languages": "ru,de,fr,es,zh,ja"}, ) job_id = r.json()["job_id"] # 2. Poll while True: status = requests.get(f"https://kaeris.dev/api/status/{job_id}").json() if status["status"] == "done": break time.sleep(2) # 3. Download zip_bytes = requests.get(f"https://kaeris.dev/api/download/{job_id}").content open("translations.zip", "wb").write(zip_bytes)
API Reference
POST
/api/translate
Start a translation job. Returns job_id.
X-API-KeyHeader — optional. Raises limit to 50k chars.filemultipart — JSON file to translatelanguagesform field — comma-separated codes: ru,de,fr
GET
/api/status/{job_id}
Poll job progress. Status: pending | running | done | error.
progressbatches completed so fartotaltotal batches
GET
/api/download/{job_id}
Download ZIP with ru.json, de.json etc. Available for 1 hour after completion.
POST
/api/v1/keys/request
Generate a new API key. No auth required.
Supported languages
🇬🇧
en English🇷🇺
ru Russian🇺🇦
uk Ukrainian🇩🇪
de German🇫🇷
fr French🇪🇸
es Spanish🇧🇷
pt Portuguese🇮🇹
it Italian🇨🇳
zh Chinese🇯🇵
ja Japanese🇰🇷
ko Korean🇸🇦
ar Arabic🇵🇱
pl Polish🇳🇱
nl Dutch🇹🇷
tr Turkish