Τεκμηρίωση API

Ενσωμάτωση ισχυρή μετάφραση στις εφαρμογές σας με μας απλή REST API.

Ξεκίνησις

Το TranslateAPI παρέχει μια απλή διεπαφή REST για τη μετάφραση κειμένου μεταξύ 180+ γλωσσών.

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 Ταχυδρόμος → Κλειδιά API
  3. Click "Create API Key" and copy your key

API keys start with ta_ followed by 56 hex characters.

Βάση URL: 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!"
Απάντηση
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Ταυτοποίηση

Επιβεβαιώστε τα αιτήματά σας χρησιμοποιώντας ένα πλήκτρο API. Μπορείτε να δημιουργήσετε τα πλήκτρα API από σας ταμπλό.

Ταυτοποίηση κεφαλίδας (Προτεινόμενη)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Παράμετρος ερωτήσεων
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Κρατήστε τα κλειδιά API ασφαλή! Μην τα εκθέτετε σε κωδικό πελάτη ή σε δημόσια αρχεία.

Μετάφραση κειμένου

Μεταφράστε το κείμενο σε μία μόνο γλώσσα-στόχο.

POST https://api.translateapi.ai/api/v1/translate/
Αιτούμενος φορέας
Παράμετρος Τύπος Απαιτείται Περιγραφή εμπορευμάτων
text string Ναι. Κείμενο για μετάφραση (μέγ. 50.000 χαρακτήρες)
target_language string Ναι * Target language code (e.g., "es", "fr", "de")
source_language string Όχι. Source language code. Default: "auto" (auto-detect)
engine string Όχι. Translation engine: "auto" (default), "huggingface", or "madlad". See Translation Models. Μοντέλα μετάφρασης.

* Χρήση target_language (string) για μία μόνο γλώσσα ή target_languages (συναγερμός) για πολλαπλάσια. Multi-Target Μετάφραση.

Απάντηση
{
    "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.

Multi-Target Μετάφραση

Μεταφράστε το κείμενο σε πολλές γλώσσες σε ένα μόνο αίτημα. Χρησιμοποιεί το ίδιο τελικό σημείο με την ενιαία μετάφραση.

POST https://api.translateapi.ai/api/v1/translate/
Αιτούμενος φορέας
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Χρήση target_languages (συναγερμός) αντί του target_language Για πολλούς στόχους.

Απάντηση
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Συμβουλή: Μπορείτε να μεταφράσετε έως και 50 γλώσσες σε ένα μόνο αίτημα.

Μετάφραση παρτίδας

Μεταφράστε πολλαπλά κείμενα ταυτόχρονα με την επεξεργασία async. Υποβάλετε μια παρτίδα και δημοσκόπηση για τα αποτελέσματα.

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/
Βήμα 1: Υποβολή παρτίδας
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"
}'
Ανταπόκριση (HTTP 202 αποδεκτή)
{
    "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/"
}
Βήμα 2: Η δημοσκόπηση για τα αποτελέσματα
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Παράδειγμα γύρης (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)
Απάντηση (ολοκληρώθηκε)
{
    "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 Περιγραφή εμπορευμάτων
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-Language Batch

Μετάφρασε πολλαπλά κείμενα σε πολλές γλώσσες ταυτόχρονα:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Ολοκληρωμένα δεδομένα αποτελεσμάτων
{
    "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
}
Αίτημα παραμέτρων
Παράμετρος Τύπος Απαιτείται Περιγραφή εμπορευμάτων
texts array Ναι. Συσκευή χορδών για μετάφραση
target_language string Ναι * Κωδικός γλώσσας-στόχου για ενιαία γλώσσα
target_languages array Ναι * Συγγραφή κωδικών γλώσσας-στόχου για πολλαπλές γλώσσες
source_language string Όχι. Source language code. Default: "auto"

* Παρέχετε είτε target_language ή target_languagesΌχι και τα δύο.

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.

Μετάφραση εγγράφου

Μεταφράστε ολόκληρα έγγραφα κατά τη διατήρηση της μορφοποίησης. Υποστηρίζει πολλαπλές μορφές αρχείων.

POST https://api.translateapi.ai/api/v1/translate/document/
Αίτηση (πολυμερές/μορφικά δεδομένα)
Παράμετρος Τύπος Απαιτείται Περιγραφή εμπορευμάτων
file file Ναι. Το έγγραφο που θα μεταφράσει (max 10MB)
target_language string Ναι. Target language code (e.g., "es", "fr", "de")
source_language string Όχι. Source language code. Default: "auto" (auto-detect)
Υποστηριγμένοι τύποι αρχείων
Documents
  • .txt - Απλά αρχεία κειμένου
  • .docx - Έγγραφα λέξεων
  • .pdf - Έγγραφα PDF (συμπεριλαμβανομένων των σαρωμένων)
Data & Localization
  • .json - Αρχεία JSON (μεταφράζει τις τιμές συμβολοσειράς)
  • .xml - Αρχεία XML
  • .srt - Αρχείο υπότιτλου
  • .po / .pot - Gettext translation files
Images (OCR)
  • .jpg / .jpeg - Εικόνες JPEG (OCR)
  • .png - PNG εικόνες (OCR)
  • .tiff / .tif - Εικόνες TIFF (OCR)
  • .bmp - Εικόνες BMP (OCR)
  • .webp - Εικόνες WebP (OCR)
Παράδειγμα (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"
Απάντηση
{
    "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"
}
Υποστήριξη OCR: Τα αρχεία εικόνας και τα σαρωμένα PDF υποβάλλονται σε επεξεργασία με αναγνώριση οπτικού χαρακτήρα (OCR) για την εξαγωγή κειμένου πριν από τη μετάφραση. Για καλύτερα αποτελέσματα, χρησιμοποιήστε σαφείς εικόνες υψηλής ανάλυσης.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Ελέγξτε την κατάσταση μιας μετάφρασης εγγράφου ή ανακτήστε το URL λήψης.

Τιμές κατάστασης
pending Ανεβάστε το αρχείο, περιμένοντας να υποβληθεί σε επεξεργασία
processing Μετάφραση σε εξέλιξη
completed Μετάφραση πλήρης, λήψη διαθέσιμη
failed Αποτυχία μετάφρασης (check error_message)

Υποστηριζόμενες γλώσσες

Πάρτε τη λίστα όλων των υποστηριζόμενων γλωσσών.

GET https://api.translateapi.ai/api/v1/translate/languages/
Απάντηση
{
    "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/
Αιτούμενος φορέας
Parameter Τύπος Περιγραφή εμπορευμάτων
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!"
}'
Απάντηση
{
    "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).

Μοντέλα μετάφρασης

Χρησιμοποιούμε σύγχρονα μοντέλα μετάφρασης ανοικτού κώδικα που λειτουργούν με δική μας υποδομή GPU. Όλα τα μοντέλα είναι εμπορικά αδειοδοτημένα (Apache 2.0).

Υπόδειγμα Γλώσσες Το καλύτερο για
Helsinki-NLP/opus-mt 50+ ζεύγη γλωσσών Κοινές γλώσσες (EN, ES, FR, DE, IT, PT, RU, ZH, JA κ.λπ.)
Google MADLAD-400 400+ γλώσσες Σπάνιες γλώσσες, πλήρης κάλυψη

Το API επιλέγει αυτόματα το καλύτερο μοντέλο για το ζεύγος γλώσσας σας. engine παράμετρος:

Κινητήρας Περιγραφή εμπορευμάτων
"auto" Προκαθορισμένο. Δοκιμάζει HuggingFace πρώτα, πέφτει πίσω στο MDLAD-400
"huggingface" Δύναμη HuggingFace/MarianMT (γρήγορη, 50+ γλώσσες)
"madlad" Δύναμη MADLAD-400 (400+ γλώσσες)

Χειρισμός λάθους

Το API χρησιμοποιεί τυποποιημένους κωδικούς κατάστασης HTTP για να δείξει επιτυχία ή αποτυχία.

Κωδικός Περιγραφή εμπορευμάτων
200 Επιτυχία
202 Accepted — Batch job queued successfully
400 Bad Request — Invalid parameters (missing text, unsupported language, etc.)
401 Μη εξουσιοδοτημένη - Μη έγκυρη ή λείπει το πλήκτρο 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 Υπηρεσία Μη διαθέσιμος - Μεταφρασμένος κινητήρας προσωρινά προς τα κάτω
Μορφή απόκρισης λάθους
{
    "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:

Σχέδιο Χαρακτήρες/Μήνας Batch API Documents Τιμή
Ατελώς 250,000 $0 Εγγραφή δωρεάν
Εκκίνηση 2,500,000 $9/ου Εγγραφή
Pro 10,000,000 $29/ου Εγγραφή
Επιχειρήσεις 40,000,000 $79/ου Εγγραφή
Κλίμακα 125,000,000 $199/ου Εγγραφή
Enterprise Unlimited $499/ου Contact Sales

Όταν υπερβείς το όριό σου, θα λάβεις ένα 402 Payment Required ανταπόκριση μέχρι τον επόμενο μήνα ή αναβαθμιστείτε.

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

Βαθμολογήστε αυτή τη σελίδα
Σας ευχαριστώ για την βαθμολογία σας!
/5 με βάση αξιολογήσεις