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.

URL-ka asalka ah: 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
Ilaalinta furaha API ammaan ah! Ha u muujin iyaga oo ku jira codsiga dhinac code ama kaydinta dadweynaha.

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.

Nooc: Waxaad ku turjumi kartaa ilaa 50 luqadood codsi 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.

Xuduudaha: max 500 qoraalada per batch, max 750 waxyaalaha guud (qoraallada × luqadaha la doonayo). Shaqada waqti ka baxay 30 daqiiqo ka dib markii processing bilaabay (wakhtiga sugidda filaayo ma la tirin).
Waqtiga processing kala duwan yahay iyadoo ku xiran luqadda: luqadaha caadiga ah (Spanish, Faransiiska, Jarmalka, iwm) isticmaalaan qaababka degdeg ah (~ 0.1s qoraal kasta), halka luqadaha ka yar ee caadiga ah isticmaalaan qaabkeena weyn ee luqadaha badan (~ 1-3s qoraal kasta). A 100-text batch caadi ahaan dhamaystiran 10-30 ilbiriqsi ee luqadaha caadiga ah, ama 2-5 daqiiqo ee kuwa ka yar ee caadiga ah.
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).
Nooc: Marka 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.

Asynchronous Processing: Dalabaadka Batch ku soo laabtaan isla markiiba la 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)
OCR taageero: Faylasha sawirka iyo PDF-yada scanned ayaa lagu dhaqaajin karaa aqoonsiga xarfaha muuqaalka ah (OCR) si loo soo saaro qoraalka ka hor tarjumaadda. Si aad u hesho natiijooyinka ugu fiican, isticmaal sawirro cad oo heer sare ah.
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"
Faylasha sawirka waxaa lagu dhaqaajin karaa OCR si ay u soo saaraan qoraalka ka hor tarjumaadda. .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.

Qiyaaso boggan
Waad ku mahadsan tahay qiimeyntaada!
/5 ku saleysan qiimeyn