Τεκμηρίωση API

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

Ξεκίνησις

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

Βάση URL: https://api.translateapi.ai/api/v1/
Γρήγορη εκκίνηση

Κάντε το πρώτο σας αίτημα μετάφρασης:

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!"
    }
}

Ταυτοποίηση

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

Ταυτοποίηση κεφαλίδας (Προτεινόμενη)
Authorization: Bearer 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)

* Χρήση 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
}

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

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

Συμβουλή: Μπορείτε να μεταφράσετε έως και 50 γλώσσες σε ένα μόνο αίτημα.
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. Υποβάλετε μια παρτίδα και δημοσκόπηση για τα αποτελέσματα.

Όρια: max 500 κείμενα ανά παρτίδα, max 750 συνολικά στοιχεία (κείμενα × γλώσσες-στόχους). Χρόνος εργασίας 30 λεπτά μετά την έναρξη της επεξεργασίας (δεν υπολογίζεται ο χρόνος αναμονής).
Ο χρόνος επεξεργασίας ποικίλλει ανάλογα με τη γλώσσα: οι κοινές γλώσσες (Ισπανικά, Γαλλικά, Γερμανικά κ.λπ.) χρησιμοποιούν γρήγορα μοντέλα (~0.1 ανά κείμενο), ενώ οι λιγότερο κοινές γλώσσες χρησιμοποιούν το μεγάλο πολύγλωσσο μοντέλο μας (~1-3 ανά κείμενο).
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"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)
Απάντηση (που ξοδεύει σε ουρά, περιμένει για GPU)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Απάντηση (ενώ η επεξεργασία)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
Απάντηση (ολοκληρώθηκε)
{
    "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 Ο αριθμός των μεμονωμένων μεταφράσεων ολοκληρώθηκε μέχρι στιγμής. Ενημερώσεις σε πραγματικό χρόνο όπως κάθε κείμενο μεταφράζεται.
total_texts Συνολικός αριθμός μεταφράσεων σε αυτή την παρτίδα (κείμενα × γλώσσες-στόχους).
progress_percentage Ποσοστό ολοκλήρωσης (0-10). Υπολογίζεται από επεξεργαστές_κείμενα / συνολικά_κείμενα.
queue_position Η θέση σας στην ουρά όταν η κατάσταση είναι "έξοδος" (1 = επόμενο up). Καθυστέρηση κατά την επεξεργασία ή ολοκλήρωση. Χρησιμοποιήστε αυτό για την εκτίμηση του χρόνου αναμονής και την εμφάνιση της κατάστασης της ουράς στους χρήστες σας.
processing_time Συνολικός χρόνος επεξεργασίας σε δευτερόλεπτα (διατίθεται όταν συμπληρώνεται).
Συμβουλή: Πότε status ί ας "pending", οι εργαζόμενοι GPU είναι απασχολημένοι με άλλες παρτίδες. queue_position για να δείτε πόσες δουλειές είναι μπροστά από τη δική σας (1 = είστε επόμενοι). Η δουλειά σας θα ξεκινήσει αυτόματα δεν χρειάζεται καμία ενέργεια, απλά συνεχίστε τις δημοσκοπήσεις.
Βέλτιστες Πρακτικές για Μεγάλες Δούλειες
  • Αποστολή 1 γλώσσα-στόχος ανά αίτηση παρτίδας. Αυτό κρατάει κάθε παρτίδα γρήγορα και κάνει την πρόοδο εύκολη στην παρακολούθηση.
  • Κρατήστε παρτίδες σε 50-100 κείμενα. Μικρότερες παρτίδες ολοκληρώνουν γρηγορότερα και σας δίνουν πιο συχνές ενημερώσεις προόδου.
  • Η GPU επεξεργάζεται 2 παρτίδες παράλληλα με την ουρά επιπλέον θέσεων εργασίας και δεν θα ξεκινήσει γρηγορότερα.
  • Με το τάιμ-άουτ, επανατοποθετήστε την ίδια εργασία_id αντί να υποβάλετε μια νέα παρτίδα. Η αρχική εργασία μπορεί να εξακολουθεί να επεξεργάζεται στην GPU.
  • Πιο συχνές δημοσκοπήσεις δεν επιταχύνουν την επεξεργασία.
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Όχι και τα δύο.

Επεξεργασία Async: Τα αιτήματα της παρτίδας επιστρέφουν αμέσως με ένα job_id. ΠόλιCity name (optional, probably does not need a translation) GET /api/v1/jobs/{job_id}/ έως status ί ας "completed", στη συνέχεια διαβάστε result_data για μεταφράσεις. Χρήση progress_percentage για να παρακολουθείτε την πρόοδο.

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

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

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
  • .jpg / .jpeg - Εικόνες JPEG (OCR)
  • .png - PNG εικόνες (OCR)
  • .tiff / .tif - Εικόνες TIFF (OCR)
  • .bmp - Εικόνες BMP (OCR)
  • .webp - Εικόνες WebP (OCR)
Υποστήριξη OCR: Τα αρχεία εικόνας και τα σαρωμένα PDF υποβάλλονται σε επεξεργασία με αναγνώριση οπτικού χαρακτήρα (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"
Τα αρχεία εικόνας υποβάλλονται σε επεξεργασία με OCR για την εξαγωγή κειμένου πριν από τη μετάφραση. .txt Φάκελος.
Απάντηση
{
    "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"
}
Τιμές κατάστασης
pending Ανεβάστε το αρχείο, περιμένοντας να υποβληθεί σε επεξεργασία
processing Μετάφραση σε εξέλιξη
completed Μετάφραση πλήρης, λήψη διαθέσιμη
failed Αποτυχία μετάφρασης (check error_message)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

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

Απάντηση
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

Ανίχνευση γλώσσας

Η ανίχνευση γλώσσας είναι ενσωματωμένη σε κάθε μεταφραστικό αίτημα. source_language to "auto" (ή να την παραλείψετε) και η ανιχνεύσιμη γλώσσα επιστρέφεται στην απάντηση.

POST https://api.translateapi.ai/api/v1/translate/
Αιτούμενος φορέας
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Απάντηση
{
    "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
}

Η source_language πεδίο στην απάντηση δείχνει την ανιχνεύσιμη γλώσσα όταν χρησιμοποιείται αυτόματη προστασία.

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

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

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 Επιτυχία
400 Κακή αίτηση - Άκυρες παράμετροι
401 Μη εξουσιοδοτημένη - Μη έγκυρη ή λείπει το πλήκτρο API
402 Απαιτούμενη πληρωμή - Καθημερινή ποσόστωση χαρακτήρα υπέρβαση
429 Υπερβολικά Πολλά Αιτήματα - Το όριο του Επιταχυντή Ξεπέρασε
503 Υπηρεσία Μη διαθέσιμος - Μεταφρασμένος κινητήρας προσωρινά προς τα κάτω
Μορφή απόκρισης λάθους
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Όρια ποσοστών

Τα όρια ποικίλλουν ανάλογα με το σχέδιο. τιμές για πλήρεις λεπτομέρειες:

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

Όταν υπερβείς το όριό σου, θα λάβεις ένα 429 Too Many Requests ανταπόκριση μέχρι τον επόμενο μήνα ή αναβαθμιστείτε.

Auto-Scaling Cloud Infrastructure

ΜετάφρασηAPI τρέχει σε ειδικές περιπτώσεις NVIDIA A100 GPU με αυτόματη οριζόντια κλιμάκωση. Όταν αυξάνεται η ζήτηση, επιπλέον περιπτώσεις GPU ξεκινήσει μέσα σε λίγα λεπτά για να διατηρήσει τους χρόνους ταχείας απόκρισης.

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