Dokumentasyon sa API
Hapit nalukop sa kasagbotan ang palibot sa Simple Peak.
Paghatud
Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang 180 Mile Creek.
1. Get Your API Key
Create a free account and generate your API key from the dashboard:
- Sign up at translateapi.ai/signup
- Go to Dashboard → Bukid ang Keys sa Awstralya.
- Click "Create API Key" and copy your key
API keys start with ta_ followed by 56 hex characters.
https://api.translateapi.ai/api/v1/2. Make Your First Request
Replace YOUR_API_KEY with the key from your dashboard:
curl -X POST https://api.translateapi.ai/api/v1/translate/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"text": "Hello, world!",
"target_language": "es"
}'
import requests
response = requests.post(
"https://api.translateapi.ai/api/v1/translate/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"text": "Hello, world!",
"target_language": "es"
}
)
result = response.json()
print(result["translated_text"]) # "Hola, mundo!"
const response = await fetch("https://api.translateapi.ai/api/v1/translate/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
text: "Hello, world!",
target_language: "es"
})
});
const result = await response.json();
console.log(result.translated_text); // "Hola, mundo!"
$ch = curl_init("https://api.translateapi.ai/api/v1/translate/");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"text" => "Hello, world!",
"target_language" => "es"
])
]);
$result = json_decode(curl_exec($ch), true);
echo $result["translated_text"]; // "Hola, mundo!"
payload := strings.NewReader(`{
"text": "Hello, world!",
"target_language": "es"
}`)
req, _ := http.NewRequest("POST", "https://api.translateapi.ai/api/v1/translate/", payload)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["translated_text"]) // "Hola, mundo!"
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
var content = new StringContent(
JsonSerializer.Serialize(new {
text = "Hello, world!",
target_language = "es"
}),
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync("https://api.translateapi.ai/api/v1/translate/", content);
var result = JsonSerializer.Deserialize<JsonElement>(
await response.Content.ReadAsStringAsync()
);
Console.WriteLine(result.GetProperty("translated_text")); // "Hola, mundo!"
Tubag
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Awtentikasyon
I-authenticate ang imong mga hangyo pinaagi sa paggamit sa usa ka API key. Ikaw makahimo og mga API key gikan sa imong dashboard.
Header Authentication (Recommended)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Parameter sa pangutana
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Paghubad sa teksto
Hapit nalukop sa kasagbotan ang palibot sa Language Point.
POST https://api.translateapi.ai/api/v1/translate/
Panglantaw ang Request Body sa Canada.
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
text |
string | Oo | Text to translate (max 50,000 characters) |
target_language |
string | Oo* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Wala | Source language code. Default: "auto" (auto-detect) |
engine |
string | Wala | Translation engine: "auto" (default), "huggingface", or "madlad". See Translation Models. Espesye sa langaw ang Simulium translatum.. |
Paggamit target_language (string) alang sa usa ka pinulongan o target_languages (array) alang sa daghang. Tan-awa Espesye sa langaw ang Simulium multifasciatum..
Tubag
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language or set it to "auto" to automatically detect the source language. The detected language is returned in the source_language response field.
Espesye sa langaw ang Simulium multifasciatum.
I-translate ang teksto ngadto sa daghang mga pinulongan sa usa ka yano nga pangutana. Gigamit ang samang endpoint sama sa usa ka yano nga pinulongan.
POST https://api.translateapi.ai/api/v1/translate/
Panglantaw ang Request Body sa Canada.
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Paggamit target_languages (array) sa dapit sa target_language Espesye sa langaw ang Simulium multiplex.
Tubag
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Paghubad
Paghubad sa daghang mga teksto sa usa ka higayon uban sa async processing. Ipadala ang usa ka batch ug poll alang sa mga resulta.
POST https://api.translateapi.ai/api/v1/translate/batch/
Lakang 1: Ipadala ang batch
curl -X POST https://api.translateapi.ai/api/v1/translate/batch/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"texts": ["Hello", "Goodbye", "Thank you"],
"target_language": "es",
"source_language": "en"
}'
Tubag (HTTP 202 Accepted)
{
"job_id": "67535b2b-c9e3-4f82-9499-e237edbc1dd8",
"status": "pending",
"total_texts": 3,
"queue_position": 1,
"source_language": "en",
"target_languages": ["es"],
"character_count": 22,
"credits_remaining": -1,
"poll_url": "https://api.translateapi.ai/api/v1/jobs/67535b2b-c9e3-4f82-9499-e237edbc1dd8/"
}
Lakang 2: Poll alang sa mga resulta
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Espesye sa langaw ang Forcipomyia pygmaea.
import time, requests
job_id = response.json()["job_id"]
total = response.json()["total_texts"]
headers = {"Authorization": "Bearer YOUR_API_KEY"}
print(f"Batch submitted: {total} texts (job {job_id})")
while True:
result = requests.get(f"https://api.translateapi.ai/api/v1/jobs/{job_id}/", headers=headers).json()
status = result["status"]
processed = result.get("processed_texts", 0)
progress = result.get("progress_percentage", 0)
if status == "completed":
print(f"Done: {processed}/{total} in {result.get('processing_time', 0):.1f}s")
translations = result["result_data"]["translations"]
break
elif status == "failed":
raise Exception(result.get("error_message", "Translation failed"))
elif status == "pending":
print(f"Queued (position {result.get('queue_position', '?')})")
else:
print(f"[{status}] {processed}/{total} ({progress:.0f}%)")
time.sleep(3)
Tubag (natapos)
{
"job_id": "67535b2b-...",
"status": "completed",
"processed_texts": 3,
"total_texts": 3,
"progress_percentage": 100.0,
"processing_time": 10.65,
"result_data": {
"translations": ["Hola", "Adiós", "Gracias"],
"source_language": "en",
"target_language": "es",
"character_count": 22,
"processing_time": 10.65
}
}
Real-Time Progress Tracking
| Field | Paghulagway |
|---|---|
status |
pending (queued, waiting for a GPU worker), processing (actively translating), completed, failed |
processed_texts |
Number of individual translations completed so far. Updates in real time as each text is translated. |
progress_percentage |
Completion percentage (0-100). Calculated from processed_texts / total_texts. |
queue_position |
Your position in the queue when status is "pending" (1 = next up). Null when processing or completed. Use this to estimate wait time and show queue status to your users. |
processing_time |
Total processing time in seconds (available when completed). |
Multi-Lingual Batch
Paghubad sa daghang mga teksto ngadto sa daghang mga pinulongan sa usa ka higayon:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Nahuman ang resulta_data
{
"translations": [
{"es": "Hola", "fr": "Bonjour"},
{"es": "Adiós", "fr": "Au revoir"}
],
"source_language": "en",
"target_languages": ["es", "fr"],
"character_count": 24,
"processing_time": 2.45
}
Mga Parameter sa Pangutana
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
texts |
array | Oo | Array sa mga string nga i-translate |
target_language |
string | Oo* | Espesye sa langaw ang Forcipomyia lingua. |
target_languages |
array | Oo* | Espesye sa tanom nga bulak ang Lingonella multilineata. |
source_language |
string | Wala | Source language code. Default: "auto" |
* Ihatag ang bisan unsa target_language o target_languagesSa palibot sa Dos.
Best Practices for Large Workloads
- Send 1 target language per batch request. This keeps each batch fast and makes progress easy to track.
- Keep batches at 50-100 texts. Smaller batches complete faster and give you more frequent progress updates.
- Submit as many batch jobs as you need — our GPU cluster auto-scales to handle demand. Jobs are processed in parallel across multiple instances.
- On timeout, re-poll the same job_id instead of submitting a new batch. The original job may still be processing on the GPU.
- Poll every 3-5 seconds. More frequent polling does not speed up processing.
Paghubad sa dokumento
I-translate ang tibuok nga dokumento samtang gipanalipdan ang pag-format. Gisuportahan ang daghang mga format sa file.
POST https://api.translateapi.ai/api/v1/translate/document/
Pangutana (multipart/form-data)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
file |
file | Oo | Ang dokumento nga i-translate (max 10MB) |
target_language |
string | Oo | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Wala | Source language code. Default: "auto" (auto-detect) |
Gisuportahan nga mga matang sa file
Documents
.txt- Mga file sa teksto.docx- Mga dokumento sa Word.pdf- Mga dokumento sa PDF (lakip ang gi-scan)
Data & Localization
.json- Mga file sa JSON (nag-translate sa string values).xml- Mga XML file.srt- Mga file sa subtitles.po/.pot- Ang Wikispecies may mga payl nga may kalabotan sa: Gettext
Images (OCR)
.jpg/.jpeg- Mga imahe sa JPEG (OCR).png- Larawan sa PNG (OCR).tiff/.tif- Mga imahe sa TIFF (OCR).bmp- Mga imahe sa BMP (OCR).webp- Mga imahe sa WebP (OCR)
Munisipyo ang Cúcuta (Kinatsila: Cúcuta) sa Mehiko.
# Translate a Word document
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@document.docx" \
-F "target_language=es" \
-F "source_language=en"
# Translate text from an image (OCR)
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@scanned_page.jpg" \
-F "target_language=es" \
-F "source_language=en"
Tubag
{
"id": 123,
"original_filename": "document.docx",
"file_type": "docx",
"source_language": "en",
"target_language": "es",
"status": "completed",
"character_count": 5420,
"translated_file_url": "/media/translated/document_es.docx",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:30:05Z"
}
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang URL.
Mga kantidad sa kahimtang
pending |
File uploaded, waiting to be processed |
processing |
Paghubad sa proseso |
completed |
Lungsod ang Descarga sa Mehiko. |
failed |
Paghubad napakyas (check error_message) |
Gisuportahan nga mga pinulongan
Hapit nalukop sa kaumahan ang palibot sa Languages.
GET https://api.translateapi.ai/api/v1/translate/languages/
Tubag
{
"count": 186,
"results": [
{"iso": "en", "name": "English", "en_label": "English"},
{"iso": "es", "name": "Español", "en_label": "Spanish"},
{"iso": "fr", "name": "Français", "en_label": "French"},
...
]
}
Submit Corrections
Suggest a better translation for a given source text. Corrections enter a moderation queue; once approved by our team they surface as "Community Verified" translations for that text.
https://translateapi.ai/api/v1/ (not the api. translation host), and requires an API key.POST https://translateapi.ai/api/v1/suggestions/
Panglantaw ang Request Body sa Canada.
| Parameter | Tipo | Paghulagway |
|---|---|---|
source_text |
string | The original text that was translated. |
source_language |
string | Source language code (e.g. "en"). |
target_language |
string | Target language code (e.g. "es"). |
machine_translation |
string | The machine translation you are correcting. |
suggested_translation |
string | Your improved translation (must differ from machine_translation). |
Example Request
curl -X POST https://translateapi.ai/api/v1/suggestions/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"source_text": "Hello, world!",
"source_language": "en",
"target_language": "es",
"machine_translation": "Hola, mundo!",
"suggested_translation": "¡Hola, mundo!"
}'
Tubag
{
"id": 4213,
"status": "pending",
"created": true,
"message": "Correction submitted for review."
}
Re-submitting the same source/language pair updates your existing suggestion instead of creating a duplicate (returns 200 with "created": false).
Espesye sa langaw ang Simulium translatum.
Kita sa paggamit sa state-of-the-art open source translation modelo nga nagdagan sa atong kaugalingon nga GPU infrastructura. Ang tanan nga mga modelo nga komersyal nga lisensyado (Apache 2.0).
| Modelo | Sa palibot sa Languages. | Sa palibot sa Best. |
|---|---|---|
| Helsinki-NLP/opus-mt | Adunay 50 ka molupyo. | Mga lungsod sa Comuna Ștefănești: Ștefănești. |
| Google MADLAD-400 | Adunay 400 ka molupyo. | Espesye sa langaw ang Forcipomyia linguata. |
Ang API awtomatikong mopili sa labing maayo nga modelo alang sa imong pares sa pinulongan. Ikaw mahimo usab nga magtino sa usa ka engine Parameter:
| Motor | Paghulagway |
|---|---|
"auto" |
Sa default. Sa pagsulay HuggingFace una, mobalik ngadto sa MADLAD-400 |
"huggingface" |
Munisipyo ang Mariazell (Inaleman: Mariazell) sa Awstriya. |
"madlad" |
Adunay 400 ka molupyo (2011). |
Pag-atiman sa mga sayup
Hapit nalukop sa lasang nga dagomkahoy ang palibot sa Standard Point.
| Kodigo | Paghulagway |
|---|---|
| 200 | Sa palibot sa Succes. |
| 202 | Accepted — Batch job queued successfully |
| 400 | Bad Request — Invalid parameters (missing text, unsupported language, etc.) |
| 401 | Wala'y awtorisasyon - Wala'y balido o missing nga API key |
| 402 | Payment Required — Character credits exhausted. Upgrade your plan or purchase a top-up. |
| 403 | Forbidden — API key lacks required scope or IP not in whitelist |
| 503 | Service Unavailable - Translation engine temporarily down |
Format sa Tubag sa Kasaypanan
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Usage Limits
TranslateAPI has no request rate limits. All requests are queued and processed by our auto-scaling GPU cluster. Your plan determines your monthly character allowance:
| Plano | Mga karakter/Bulan | Batch API | Documents | Presyo | |
|---|---|---|---|---|---|
| Libre | 250,000 | — | — | $0 | Bukid ang Free sa Awstralya. |
| Sa palibot sa Starter | 2,500,000 | $9/mo | Pag-subscribe | ||
| Pro | 10,000,000 | $29/mo | Pag-subscribe | ||
| Negosyo | 40,000,000 | $79/mo | Pag-subscribe | ||
| Skala | 125,000,000 | $199/mo | Pag-subscribe | ||
| Enterprise | Unlimited | $499/mo | Contact Sales |
Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang Limit. 402 Payment Required Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang Upgrade.
Auto-Scaling Cloud Infrastructure
TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. All requests are queued and processed — send hundreds of concurrent requests and they'll all be handled. Real-time translations get priority, batch jobs process in the background.
Need More Credits?
Run out of characters mid-month? Purchase a one-time credit top-up without changing your plan. View top-up packs