Τεκμηρίωση API
Ενσωμάτωση ισχυρή μετάφραση στις εφαρμογές σας με μας απλή REST API.
Ξεκίνησις
Το TranslateAPI παρέχει μια απλή διεπαφή REST για τη μετάφραση κειμένου μεταξύ 180+ γλωσσών.
1. Πάρτε το κλειδί API σας
Δημιουργήστε ένα δωρεάν λογαριασμό και δημιουργήστε το πλήκτρο API σας από το ταμπλό:
- Εγγραφείτε στο translateapi.ai/signup
- Πήγαινε στο... Ταχυδρόμος → Κλειδιά API
- Κάντε κλικ στο "Δημιουργήστε το κλειδί API" και αντιγράψτε το κλειδί σας
Τα πλήκτρα API ξεκινούν με ta_ Ακολούθησαν 56 ηδονοβλεψίαι χαρακτήρες.
https://api.translateapi.ai/api/v1/2. Κάντε το πρώτο σας αίτημα
Αντικαταστήστε το _API_KEY με το κλειδί από το ταμπλό σας:
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
Μετάφραση κειμένου
Μεταφράστε το κείμενο σε μία μόνο γλώσσα-στόχο.
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 | Όχι. | Κινητήρας μετάφρασης: "auto" (προκαθορισμένο), "αγκάλιασμα προσώπου" ή "madlad." Μοντέλα μετάφρασης. |
* Χρήση 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
}
source_language ή να το ρυθμίσετε σε "auto" να ανιχνεύσει αυτόματα τη γλώσσα προέλευσης. Η γλώσσα που ανιχνεύθηκε επιστρέφεται στην source_language πεδίο απόκρισης.
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
}
Μετάφραση παρτίδας
Μεταφράστε πολλαπλά κείμενα ταυτόχρονα με την επεξεργασία async. Υποβάλετε μια παρτίδα και δημοσκόπηση για τα αποτελέσματα.
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
}
}
Παρακολούθηση προόδου σε πραγματικό χρόνο
| Πεδίο | Περιγραφή εμπορευμάτων |
|---|---|
status |
pending (καταργήθηκε, περιμένει για έναν εργαζόμενο GPU), processing (ενεργώς μεταφράζοντας), completed, failed |
processed_texts |
Ο αριθμός των μεμονωμένων μεταφράσεων ολοκληρώθηκε μέχρι στιγμής. Ενημερώσεις σε πραγματικό χρόνο όπως κάθε κείμενο μεταφράζεται. |
progress_percentage |
Ποσοστό ολοκλήρωσης (0-10). Υπολογίζεται από επεξεργαστές_κείμενα / συνολικά_κείμενα. |
queue_position |
Η θέση σας στην ουρά όταν η κατάσταση είναι "έξοδος" (1 = επόμενο up). Καθυστέρηση κατά την επεξεργασία ή ολοκλήρωση. Χρησιμοποιήστε αυτό για την εκτίμηση του χρόνου αναμονής και την εμφάνιση της κατάστασης της ουράς στους χρήστες σας. |
processing_time |
Συνολικός χρόνος επεξεργασίας σε δευτερόλεπτα (διατίθεται όταν συμπληρώνεται). |
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Όχι και τα δύο.
Βέλτιστες Πρακτικές για Μεγάλες Δούλειες
- Αποστολή 1 γλώσσα-στόχος ανά αίτηση παρτίδας. Αυτό κρατάει κάθε παρτίδα γρήγορα και κάνει την πρόοδο εύκολη στην παρακολούθηση.
- Κρατήστε παρτίδες σε 50-100 κείμενα. Μικρότερες παρτίδες ολοκληρώνουν γρηγορότερα και σας δίνουν πιο συχνές ενημερώσεις προόδου.
- Υποβάλετε όσες δουλειές παρτίδα όπως χρειάζεστε μας GPU cluster auto-scales για να χειριστεί τη ζήτηση.
- Με το τάιμ-άουτ, επανατοποθετήστε την ίδια εργασία_id αντί να υποβάλετε μια νέα παρτίδα. Η αρχική εργασία μπορεί να εξακολουθεί να επεξεργάζεται στην GPU.
- Πιο συχνές δημοσκοπήσεις δεν επιταχύνουν την επεξεργασία.
Μετάφραση εγγράφου
Μεταφράστε ολόκληρα έγγραφα κατά τη διατήρηση της μορφοποίησης. Υποστηρίζει πολλαπλές μορφές αρχείων.
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) |
Υποστηριγμένοι τύποι αρχείων
Έγγραφα
.txt- Απλά αρχεία κειμένου.docx- Έγγραφα λέξεων.pdf- Έγγραφα PDF (συμπεριλαμβανομένων των σαρωμένων)
Εντοπισμός δεδομένων
.json- Αρχεία JSON (μεταφράζει τις τιμές συμβολοσειράς).xml- Αρχεία XML.srt- Αρχείο υπότιτλου.po/.pot- Gettext translation files
Εικόνες (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"
}
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"},
...
]
}
Μοντέλα μετάφρασης
Χρησιμοποιούμε σύγχρονα μοντέλα μετάφρασης ανοικτού κώδικα που λειτουργούν με δική μας υποδομή 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 | Αποδεκτή δουλειά παρτίδα quailed με επιτυχία |
| 400 | Άκυρες παράμετροι (λείπει κείμενο, μη υποστηριζόμενη γλώσσα κ.λπ.) |
| 401 | Μη εξουσιοδοτημένη - Μη έγκυρη ή λείπει το πλήκτρο API |
| 402 | Πληρωμή Απαιτούμενα Πίστωση Χαρακτήρας εξαντλημένος. Αναβαθμίστε το σχέδιό σας ή αγοράστε ένα top-up. |
| 403 | Απαγορευμένο □ Το κλειδί API στερείται απαιτούμενου πεδίου εφαρμογής ή IP που δεν είναι στη λευκή λίστα |
| 503 | Υπηρεσία Μη διαθέσιμος - Μεταφρασμένος κινητήρας προσωρινά προς τα κάτω |
Μορφή απόκρισης λάθους
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Όρια χρήσης
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:
| Σχέδιο | Χαρακτήρες/Μήνας | Παρτίδα API | Έγγραφα | Τιμή | |
|---|---|---|---|---|---|
| Ατελώς | 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
ΜετάφρασηAPI τρέχει σε ειδικές περιπτώσεις NVIDIA A100 GPU με αυτόματη οριζόντια κλιμάκωση. Όταν αυξάνεται η ζήτηση, επιπλέον περιπτώσεις GPU ξεκινήσει μέσα σε λίγα λεπτά για να διατηρήσει τους χρόνους γρήγορης απόκρισης. Όλα τα αιτήματα είναι σε σειρά αναμονής και επεξεργασία
Χρειάζεσαι κι άλλες πιστώσεις;
Αγόρασε ένα top-up εφάπαξ πίστωσης χωρίς να αλλάξεις το σχέδιό σου. Προβολή πακέτων από πάνω προς τα πάνω