Xuquuqda API
Isku darka turjumaad xoog leh in aad codsiyada la nahay fudud REST API.
Ku bilow
The TranslateAPI bixiyaan interface REST fudud u turjumaan qoraalka u dhexeeya 180+ luqadood. API dhammaan dhamaadka soo celin jawaabaha JSON.
https://api.translateapi.ai/api/v1/
Bilow dhakhso ah
Samee codsigaaga tarjumaadda koowaad:
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!"
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add(
"Authorization", "Bearer YOUR_API_KEY"
);
var content = new StringContent(
JsonConvert.SerializeObject(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 = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject<dynamic>(result);
Console.WriteLine(data.translated_text); // "Hola, mundo!"
}
}
Aaminaad
Authenticate aad codsiyada isticmaalaya furaha API. Waxaad abuuri kartaa furaha API kaaga dashboard-ka.
Aaminaadda madaxa (Waxaa lagula talinayaa)
Authorization: Bearer ta_your_api_key_here
Falanqaynta su'aasha
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Tarjuma qoraalka
Translate qoraalka in afka la doonayo oo keliya.
POST https://api.translateapi.ai/api/v1/translate/
Fadliga dalabka
| Falanqaynta | Nooc | Loo Baahanaa | Faahfaahin |
|---|---|---|---|
text |
string | Haa | Qoraalka loo turjumay (max 50,000 xaraf) |
target_language |
string | Haa* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | _Haa | Source language code. Default: "auto" (auto-detect) |
* Isticmaalka target_language (liiska) ee afka kaliya ama target_languages (array) si aad u tiro badan. Eeg Tarjumaadda Multi-Target.
Jawaab
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Tarjumaadda Multi-Target
Translate qoraalka in luqado badan in codsi kaliya. U isticmaashaa endpoint isku mid ah sida turjumaad keliya.
POST https://api.translateapi.ai/api/v1/translate/
Fadliga dalabka
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
U isticmaal target_languages (array) in kastoo target_language (string) si ay u tiro badan.
Jawaab
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Tarjumaadda
Translate qoraalo badan oo isla markiiba la async processing. Soo gudbinta batch iyo codbixinta natiijooyinka.
POST https://api.translateapi.ai/api/v1/translate/batch/
Tallaabada 1: Soo gudbinta 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"
}'
Jawaab (HTTP 202 Aqbalay)
{
"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/"
}
Tallaabada 2: Doorasho ee natiijooyinka
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Tirakoobka tusaale (Python)
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"Completed: {processed}/{total} texts in {result.get('processing_time', 0):.1f}s")
translations = result["result_data"]["translations"]
break
elif status == "failed":
print(f"Failed at {processed}/{total}: {result.get('error_message', 'unknown')}")
raise Exception(result.get("error_message", "Translation failed"))
elif status == "pending":
queue_pos = result.get("queue_position", "?")
print(f"Queued (position {queue_pos}) — waiting for GPU worker...")
else:
print(f"[{status}] {processed}/{total} ({progress:.0f}%)")
time.sleep(3)
Jawaab (la sugayo — la filayo, sugayo GPU)
{
"job_id": "67535b2b-...",
"status": "pending",
"processed_texts": 0,
"total_texts": 3,
"progress_percentage": 0.0,
"queue_position": 3
}
Jawaab (halka processing)
{
"job_id": "67535b2b-...",
"status": "processing",
"processed_texts": 1,
"total_texts": 3,
"progress_percentage": 33.33,
"queue_position": null
}
Jawaab (ku dhammaaday)
{
"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
}
}
Wakhtiga dhabta ah Progress Tracking
Jawaab kasta oo codbixinta waxaa ka mid ah goobaha horumarka real-time si aad u ilaalin kartaa si toos ah waxa ku dhacaya batch aad:
| Isku-dar | Faahfaahin |
|---|---|
status |
Xaaladda shaqada hadda jirta: pending (filay, sugaya shaqaale GPU ah), processing (si firfircoon u turjumaya), completed, failed |
processed_texts |
Tirada turjumaad kasta oo gaar ah oo ilaa hadda la dhammaystiray. Cusboonaysiinta waqtiga dhabta ah sida qoraal kasta oo la turjumay. |
total_texts |
Tirada guud ee tarjumaadaha in this batch (maqaallo × luqadaha la doonayo). |
progress_percentage |
Dhammaystirka boqolkiiba (0-100). Laga xisaabiyey processed_texts / total_texts. |
queue_position |
Meeshii aad ku jirtay fariinta marka xaaladdu tahay "la sugayo" (1 = soo socda). Null marka la xakameeyo ama la dhammeeyo. U isticmaal tan si aad u qiyaastid waqtiga sugidda oo u muujiso xaaladda fariinta isticmaalayaashaada. |
processing_time |
Waqtiga processing guud ee ilbiriqsi (oo la heli karo marka la dhammeeyo). |
status waa "pending", shaqaalaha GPU waa mashquulsan yihiin kooxaha kale. Imtixaanka queue_position si aad u aragto sida shaqo badan oo ka hor idinka (1 = waxaad tahay soo socda). Shaqadaada si otomaatig ah u bilaabi doonaa — wax talaabo ah oo loo baahan yahay, kaliya sii doorasho.
Hababka ugu Fiican ee Large Workloads
- Dib u soo dir 1 luqadda la doonayo per codsiga batch. Tani waxay ilaalisaa batch kasta oo dhaqso ah oo ka dhigaysa horumarka fudud in la raaco.
- Ku hay qaybaha at 50-100 qoraalada. qaybaha yaryar dhamaystiraan si dhakhso ah oo aad u siiyaan cusbooneysiin horumarka badan oo joogto ah.
- Socdaal ugu badnaan 2 shaqooyin isku mar ah. GPU-du waxay u dhaqmaa 2 kooxood oo isku mar ah - shaqooyin dheeraad ah oo aan la bilaabi doonin si degdeg ah.
- On timeout, dib u-doorasho job_id isku mid ah in kastoo soo gudbinta batch cusub. Shaqada asalka ah weli waxay noqon kartaa processing on the GPU.
- Doorasho kasta oo 3-5 ilbiriqsi ah. Doorasho badan oo joogto ah ma dhaqaajiso xalinta.
Multi-Language
Translate qoraalo badan oo afaf badan oo isla markiiba:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Result_data la dhamaystiray
{
"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
}
Tilmaamaha dalabka
| Falanqaynta | Nooc | Loo Baahanaa | Faahfaahin |
|---|---|---|---|
texts |
array | Haa | Xidhiidhka loo turjumayo |
target_language |
string | Haa* | Koodhka afka la doonayo ee afka keliya |
target_languages |
array | Haa* | Array of koodhka luqadda la doonayo ee luqado badan |
source_language |
string | _Haa | Source language code. Default: "auto" |
* Siiyaan midkood target_language ama target_languages, ma labadaba.
job_id. Toll GET /api/v1/jobs/{job_id}/ ilaa status waa "completed", markaas akhri result_data loogu talagalay tarjumaadaha. isticmaal progress_percentage si ay u raacaan horumarka.
Tarjumaadda xuquuqda
Translate dukumintiga oo dhan iyadoo la ilaalinayo qaabeynta. taageertaa qaabab file kala duwan.
POST https://api.translateapi.ai/api/v1/translate/document/
Wixii su'aalo ah (multipart/form-data)
| Falanqaynta | Nooc | Loo Baahanaa | Faahfaahin |
|---|---|---|---|
file |
file | Haa | Xuquuqda in la tarjumay (max 10MB) |
target_language |
string | Haa | Target language code (e.g., "es", "fr", "de") |
source_language |
string | _Haa | Source language code. Default: "auto" (auto-detect) |
Noocyada Faylka ee la taageerayo
.txt- Faylka qoraalka caadiga ah.docx- Dukumiintiyada Word.pdf- Docs PDF (oo ay ku jiraan scanned).json- Faylasha JSON (ku beddela qiimaha xarfaha).xml- Faylasha XML
.srt- Faylasha qoraalka hoose.po/.pot- Faylasha tarjumaadda Gettext.jpg/.jpeg- Sawirada JPEG (OCR).png- Sawirada PNG (OCR).tiff/.tif- Sawirada TIFF (OCR).bmp- Sawirada BMP (OCR).webp- Sawirada WebP (OCR)
tusaale (cURL)
# 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"
.txt fayl.
Jawaab
{
"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"
}
Qiimaha xaaladda
pending |
Fayl la soo dejiyey, oo sugaya in la dhaqaajiyo |
processing |
Tarjumaadda ayaa socda |
completed |
Tarjumaad dhamaystiran, soo dejisan oo la heli karo |
failed |
Tarjumaadda fashilantay (wax ka eeg error_message) |
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
Ka hubi xaaladda turjumaadda xuquuqda ama ka soo kabsado URL soo dejinta.
Jawaab
{
"id": 123,
"original_filename": "document.docx",
"status": "completed",
"translated_file_url": "/media/translated/document_es.docx",
"character_count": 5420
}
Ogaanshaha Afka
Afka ogaanshaha waxaa lagu dhisay codsi turjumaad kasta. Set source_language to "auto" (ama ka tagto) iyo afka la ogaado waxaa la soo celiyey jawaabta.
POST https://api.translateapi.ai/api/v1/translate/
Fadliga dalabka
{
"text": "Bonjour, comment allez-vous?",
"target_language": "en"
}
Jawaab
{
"translated_text": "Hello, how are you?",
"source_language": "fr",
"target_language": "en",
"translations": {
"en": "Hello, how are you?"
},
"character_count": 28,
"translation_time": 0.52
}
Dhammaan source_language goobta jawaabta muujinaysaa afka la ogaado marka auto-ogaanshaha la isticmaalo.
Afaf la taageeray
Ka hel liiska luqadaha la taageeray oo dhan.
GET https://api.translateapi.ai/api/v1/translate/languages/
Jawaab
{
"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"},
...
]
}
Tarjumaadda Models
Waxaan u isticmaali state-of-the-art qaababka turjumida asalka furan oo socda on our GPU dhismayaasha. dhammaan qaababka waa ganacsi liisan (Apache 2.0).
| Nooc | Afaf | Ugu Fiican |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ noocyada luqadaha | Afka caadiga ah (EN, ES, FR, DE, IT, PT, RU, ZH, JA, iwm.) |
| Google MADLAD-400 | 400+ luqadood | Afaf qaali ah, daboolid buuxda |
The API si otomaatig ah u doortaa qaabka ugu fiican ee labadaada afka. Waxaad dooran kartaa in ay muujiyaan engine xaraf:
| Mashiinka | Faahfaahin |
|---|---|
"auto" |
Default. isku dayaya HuggingFace hore, dib u dhaca in MADLAD-400 |
"huggingface" |
Force HuggingFace/MarianMT (ugu dhaqsaha badan, 50+ luqadood) |
"madlad" |
Force MADLAD-400 (400+ luqadood) |
Xakamaynta khaladaadka
API isticmaalaa koodhka heerka HTTP si ay u muujiyaan guul ama guul darro.
| Koodhadhka | Faahfaahin |
|---|---|
200 |
Guul |
400 |
Baaritaan xun - Falanqeeyayaasha aan sharci ahayn |
401 |
Aan la oggolayn - Fudud API oo aan sax ahayn ama ka maqan |
402 |
Bixinta ayaa loo baahan yahay - Daily character quota exceeded |
429 |
Dalab aad u badan - Xaddidaadda celceliska ayaa laga gudbay |
503 |
Service Inavailable - Tarjumaadda engine waqti dheer hoos |
Noocka Jawaabta Gafafka
{
"error": "daily_limit_exceeded",
"credits_remaining": 0,
"daily_limit": 100000
}
Xaddidaadda Qiimaha
Xuduudaha ku kala duwanaan karaan qorshaha. eeg qiimaynta si aad u hesho faahfaahin buuxda:
| Qorshaha | Noocyada/Bishii | Qiimaha | |
|---|---|---|---|
| Bilaash | 250,000 | $0 | Ka diiwaangashan Free |
| Bilow | 2,500,000 | $9/MB | Ku soo biir |
| Pro | 10,000,000 | $29/MB | Ku soo biir |
| Ganacsi | 40,000,000 | $79/MB | Ku soo biir |
| Miisaanka | 125,000,000 | $199/MB | Ku soo biir |
Marka aad ka badan tahay xadkaaga, waxaad heli doontaa 429 Too Many Requests jawaabta ilaa bisha soo socota ama aad u cusbooneysiiso.
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. This means our API can handle virtually unlimited concurrent requests without degradation — from a single request to thousands per minute.