Home / API
Hosted API planned · not live
A design preview of the hosted API. It is not live: api.windytranslate.com does not resolve yet, no keys are issued, and there are no SDKs. To use the models today, run them yourself.
Planned endpoints
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/translate | Translate text with a pair model |
| POST | /v1/translate/batch | Translate many texts in one call |
| POST | /v1/detect | Detect the language of a text |
| GET | /v1/models | List models with their published scores |
| GET | /v1/models/:id | One model's details and benchmarks |
| GET | /v1/usage | Your usage and quota |
Authentication will be a Bearer token tied to your Windy account. Free while in beta; pricing after the beta has not been set and will be announced before anything changes. No latency figures are published until they are measured.
What a call will look like
cURL
# Planned API (design preview, not live yet)
curl -X POST https://api.windytranslate.com/v1/translate \
-H "Authorization: Bearer <your key>" \
-H "Content-Type: application/json" \
-d '{"text":"Where is the train station?","from":"en","to":"fr"}'Python
# Planned API (design preview, not live yet)
import requests
r = requests.post("https://api.windytranslate.com/v1/translate",
headers={"Authorization": "Bearer <your key>"},
json={"text": "Where is the train station?", "from": "en", "to": "fr"})
print(r.json()["text"]) # the translation
print(r.json()["model"]) # the pair model that produced itJavaScript
// Planned API (design preview, not live yet)
const res = await fetch('https://api.windytranslate.com/v1/translate', {
method: 'POST',
headers: { Authorization: 'Bearer <your key>', 'Content-Type': 'application/json' },
body: JSON.stringify({ text: 'Where is the train station?', from: 'en', to: 'fr' }),
});
const { text, model } = await res.json();Join early access
Tell us which language pairs you need; it shapes which models we host first.