Dokumentimi i API

Integro përkthimet e fuqishme në aplikacionet tuaja me API-në tonë të thjeshtë REST.

Duke filluar

TranslateAPI ofron një ndërfaqe të thjeshtë REST për përkthimin e tekstit midis më shumë se 180 gjuhëve. Të gjitha pikat përfundimtare të API kthejnë përgjigje JSON.

1. Get Your API Key

Create a free account and generate your API key from the dashboard:

  1. Sign up at translateapi.ai/signup
  2. Go to Paneli i Kontrollit → Kyçet e API
  3. Click "Create API Key" and copy your key

API keys start with ta_ followed by 56 hex characters.

URL e bazë: 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!"
Përgjigje
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Autentifikim

Autentiko kërkesat tuaja duke përdorur një kyç API. Mund të krijoni kyçe API nga dashboard.

Header Authentication (Recommended)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Parametri i kërkimit
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Ruaj çelësat e tu të sigurt! Mos i ekspozo ato në kodin e anës së klientit ose në depozitat publike.

Përkthe tekstin

Përkthe tekstin në një gjuhë të vetme.

POST https://api.translateapi.ai/api/v1/translate/
Korpi i kërkesës
Parametrat Lloji E nevojshme Përshkrimi
text string Po. Teksti për t'u përkthyer (maksimum 50,000 karakterë)
target_language string Po. Target language code (e.g., "es", "fr", "de")
source_language string Jo. Source language code. Default: "auto" (auto-detect)
engine string Jo. Translation engine: "auto" (default), "huggingface", or "madlad". See Translation Models. Modele përkthimi.

* Përdorimi target_language (string) për gjuhë të vetme ose target_languages (array) për shumëfish. Shiko Përkthim shumë-objektivësh.

Përgjigje
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Auto-Detection: Omit source_language or set it to "auto" to automatically detect the source language. The detected language is returned in the source_language response field.

Përkthim shumë-objektivësh

Përkthe tekstin në gjuhë të shumta në një kërkesë të vetme. Përdor të njëjtin përfundim si përkthimi i vetëm.

POST https://api.translateapi.ai/api/v1/translate/
Korpi i kërkesës
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Përdorimi target_languages (array) në vend të target_language (string) për objektiva të shumta.

Përgjigje
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Lloji: Ju mund të përktheni në deri në 50 gjuhë në një kërkesë të vetme.

Përkthimi i grupit

Përkthe tekste të shumta në të njëjtën kohë me përpunimin asinkron. Dërgo një grup dhe pyet për rezultate.

Limits: Max 100 texts per batch, max 300 total items (texts × target languages). Jobs time out 45 minutes after processing starts.
Speed: Common languages (ES, FR, DE) use fast models (~0.1s/text). Less common languages use our multilingual model (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
Hapi 1: dërgo grupin
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"
}'
Përgjigja (HTTP 202 e pranuar)
{
    "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/"
}
Hapi 2: Sondazh për rezultatet
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Shembull Poll (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"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)
Përgjigje (e plotësuar)
{
    "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 Përshkrimi
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).
Grup shumëgjuhësh

Përkthe disa tekste në disa gjuhë në të njëjtën kohë:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Rezultati i plotësuar i të dhënave
{
    "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
}
Parametrat e kërkesës
Parametrat Lloji E nevojshme Përshkrimi
texts array Po. Array me stringa për t'u përkthyer
target_language string Po. Kodi i gjuhës së synuar për një gjuhë të vetme
target_languages array Po. Kodet e gjuhës së synuar për gjuhë të shumta
source_language string Jo. Source language code. Default: "auto"

* Shkruaj ose target_language ose target_languagesJo të dyja.

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.

Përkthimi i dokumentit

Përkthe të gjithë dokumentët duke ruajtur formatimin. Suporton formate të shumta file.

POST https://api.translateapi.ai/api/v1/translate/document/
Kërkesë (multipart/form-data)
Parametrat Lloji E nevojshme Përshkrimi
file file Po. Dokumenti për t'u përkthyer (max 10MB)
target_language string Po. Target language code (e.g., "es", "fr", "de")
source_language string Jo. Source language code. Default: "auto" (auto-detect)
Llojet e suportuara të file
Documents
  • .txt - File me tekst të thjeshtë
  • .docx - Dokumente Word
  • .pdf - Dokumente PDF (duke përfshirë ato të skanuara)
Data & Localization
  • .json - File JSON (përkthen vlerat e stringës)
  • .xml - File XML
  • .srt - File të subtitrave
  • .po / .pot - File të përkthimit Gettext
Images (OCR)
  • .jpg / .jpeg - JPEG figura (OCR)
  • .png - Figurat PNG
  • .tiff / .tif - Figurat TIFF (OCR)
  • .bmp - Figurat BMP (OCR)
  • .webp - Figurat WebP (OCR)
Shembull (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"
Përgjigje
{
    "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"
}
Suporti OCR: Filet e figurave dhe PDF-të e skanuara përpunohen me njohjen optike të gërmave (OCR) për të nxjerrë tekstin përpara përkthimit. Për rezultate më të mira, përdor figura të qarta me rezolucion të lartë.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Kontrollo gjendjen e përkthimit të një dokumenti ose merr URL-në e shkarkimit.

Vlerat e gjendjes
pending File u ngarkua, në pritje të përpunimit
processing Përkthimi në proces
completed Përkthimi përfundoi, shkarkimi është në dispozicion
failed Përkthimi dështoi (kontrollo error_message)

Gjuhët e suportuara

Merr listën e të gjitha gjuhëve të suportuara.

GET https://api.translateapi.ai/api/v1/translate/languages/
Përgjigje
{
    "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"},
        ...
    ]
}

View All 186 Languages

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.

Note: this endpoint is served from the main domain https://translateapi.ai/api/v1/ (not the api. translation host), and requires an API key.
POST https://translateapi.ai/api/v1/suggestions/
Korpi i kërkesës
Parameter Lloji Përshkrimi
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!"
}'
Përgjigje
{
    "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).

Modele përkthimi

Ne përdorim modele të përkthimit me burim të hapur që funksionojnë në infrastrukturën tonë GPU. Të gjithë modelet janë të licencuar komercialisht (Apache 2.0).

Modeli Gjuhë Më e mira për
Helsinki-NLP/opus-mt 50+ çifte gjuhësh Gjuhët e zakonshme (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etj.)
Google MADLAD-400 400+ gjuhë Gjuhët e rralla, mbulim i plotë

API zgjedh automatikisht modelin më të mirë për çiftin tuaj të gjuhës. Mund të specifikoni një engine Parametri:

Motori Përshkrimi
"auto" E prezgjedhur. Përpiqet të përqafohet së pari, kthehet në MADLAD-400
"huggingface" Forco HuggingFace/MarianMT (më i shpejti, 50+ gjuhë)
"madlad" Forca MADLAD-400 (400+ gjuhë)

Manipulimi i gabimeve

API përdor kodet standarde të statusit HTTP për të treguar suksesin ose dështimin.

Kodi Përshkrimi
200 Suksesi
202 Accepted — Batch job queued successfully
400 Bad Request — Invalid parameters (missing text, unsupported language, etc.)
401 I paautorizuar - Kyç i pavlefshëm apo mungon kyçi API
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 Shërbimi nuk është në dispozicion - motori i përkthimit është përkohësisht jashtë funksionit
Formati i përgjigjes së gabimit
{
    "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:

Plani Karakterë/Muaj Batch API Documents Çmimi
I lirë 250,000 $0 Regjistrohu pa pagesë
Fillues 2,500,000 $9/Mb Regjistrohu
Pro 10,000,000 $29/Mb Regjistrohu
Biznesi 40,000,000 $79/Mb Regjistrohu
Shkalla 125,000,000 $199/Mb Regjistrohu
Enterprise Unlimited $499/Mb Contact Sales

Kur të kalosh kufirin tënd, do të marrësh një 402 Payment Required përgjigje deri në muajin e ardhshëm ose ju përmirësoni.

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

Vlerëso këtë faqe
Faleminderit për vlerësimin tuaj!
/5 bazuar në vlerësime