POST /v1/translate
Translate a single text string synchronously. The response includes a quality score and credit usage metadata.
Request body
| Field | Type | Required | Description |
|---|
text | string | | The text to translate. Must not be empty. Maximum length depends on your plan. |
source_lang | string | | Source language code (ISO 639-1). Example: en, de, zh, ar. |
target_lang | string | | Target language code (ISO 639-1). Must differ from source_lang. |
glossary_ids | string[] | | Array of glossary IDs to enforce term consistency. |
brand_voice_id | string | | Brand voice profile ID for tone, style, and formality alignment. |
tm_id | string | | Translation memory ID. Previously approved translations will be matched and reused. |
Response
| Field | Type | Description |
|---|
data.translation | string | The translated text in the target language. |
data.source_lang | string | Echo of the source language code. |
data.target_lang | string | Echo of the target language code. |
data.quality_score | integer | Translation quality score from 0 to 100. Scores above 85 indicate high confidence. |
data.credits_used | integer | Number of credits deducted. Based on output character count × script weight. |
data.character_count | integer | Number of characters in the translated output. |
meta.request_id | string | Unique request identifier (UUID). Include this in support requests. |
meta.credits_used | integer | Credits deducted (same as data.credits_used). |
meta.processing_time_ms | integer | Server-side processing time in milliseconds. |
Error responses
| Status | Code | Description |
|---|
400 | bad_request | Missing or empty text, invalid language codes |
402 | insufficient_credits | Not enough credits — top up or upgrade plan |
429 | rate_limit_exceeded | Plan rate limit hit — check X-RateLimit-Reset header |
Request examples
curl -X POST https://api.flixu.ai/v1/translate \
-H "Authorization: Bearer flx_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "Our product ensures data privacy and compliance with GDPR regulations.",
"source_lang": "en",
"target_lang": "de",
"glossary_ids": ["gloss_abc123"]
}'
const response = await fetch('https://api.flixu.ai/v1/translate', {
method: 'POST',
headers: {
'Authorization': 'Bearer flx_your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'Our product ensures data privacy and compliance with GDPR regulations.',
source_lang: 'en',
target_lang: 'de',
glossary_ids: ['gloss_abc123'],
}),
});
const { data, meta } = await response.json();
console.log(data.translation);
// "Unser Produkt gewährleistet den Datenschutz und die Einhaltung der DSGVO-Vorschriften."
import requests
response = requests.post(
'https://api.flixu.ai/v1/translate',
headers={'Authorization': 'Bearer flx_your_api_key'},
json={
'text': 'Our product ensures data privacy and compliance with GDPR regulations.',
'source_lang': 'en',
'target_lang': 'de',
'glossary_ids': ['gloss_abc123'],
},
)
result = response.json()
print(result['data']['translation'])
# "Unser Produkt gewährleistet den Datenschutz und die Einhaltung der DSGVO-Vorschriften."
Response examples
{
"data": {
"translation": "Unser Produkt gewährleistet den Datenschutz und die Einhaltung der DSGVO-Vorschriften.",
"source_lang": "en",
"target_lang": "de",
"quality_score": 94,
"credits_used": 85,
"character_count": 85
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"credits_used": 85,
"processing_time_ms": 1240
}
}
{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits. Required: 85, available: 12.",
"type": "billing_error",
"request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
}