API dokumentáció
Integrated powerful translation into your applications with our simple REST API.
Kezdet
A TranslateAPI egy egyszerű REST felületet biztosít a 180+ nyelvek közötti szövegfordításhoz. Minden API végpont visszaadja a JSON válaszokat.
1. Szerezd meg az API kulcsot
Hozzon létre egy ingyenes fiókot és hozza létre az API kulcsot a műszerfalról:
- Jelentkezz! translateapi.ai/signup
- Menj! DashboardCity name (optional, probably does not need a translation) → API kulcsok
- Kattintson a "Create API Key" gombra és másolja le a kulcsot
Az API billentyűk ezzel kezdődnek: ta_ majd 56 hex karakter.
https://api.translateapi.ai/api/v1/2. Legyen az első kérésed
Cserélje ki a_API_KEY-t a műszerfal kulcsával:
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!"
Válasz
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Hitelesítés
Hitelesítse a kéréseket egy API-kulcs segítségével. Létrehozhatja az API-kulcsokat a DashboardCity name (optional, probably does not need a translation).
Fejléc-hitelesítés (ajánlott)
Authorization: Bearer ta_your_api_key_here
ApiKey fejléc
Authorization: ApiKey ta_your_api_key_here
Lekérdezési paraméter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Szöveg fordítása
A szöveg lefordítása egyetlen célnyelvre.
POST https://api.translateapi.ai/api/v1/translate/
Kérelmező szerv
| Paraméter | Típus | Szükséges | Leírás |
|---|---|---|---|
text |
string | Igen. | A lefordítandó szöveg (max. 50 000 karakter) |
target_language |
string | Igen. | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Nem. | Source language code. Default: "auto" (auto-detect) |
engine |
string | Nem. | Fordítás motor: "auto" (alapértelmezett), "Ölelkezős" vagy "őrült". Lásd Fordítás modellek. Fordítási modellek. |
* Használat target_language (húr) egy nyelven vagy target_languages Többes szám esetén lásd: Többcélú fordítás.
Válasz
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language vagy beállítja "auto" automatikusan észleli a forrásnyelvet. Az észlelt nyelv visszakerül a source_language válaszmező.
Többcélú fordítás
A szöveg lefordítása több nyelvre egyetlen kéréssel. Ugyanazt a végpontot használja, mint egyetlen fordítás.
POST https://api.translateapi.ai/api/v1/translate/
Kérelmező szerv
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Alkalmazás target_languages (Array) helyett target_language Több célpontra.
Válasz
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Gy. sz.: Fordítás
Fordítsa le egyszerre több szöveget az aszinkron feldolgozással. Küldjön be egy tételt és szavazzon az eredményekért.
POST https://api.translateapi.ai/api/v1/translate/batch/
lépés: Gy. sz. benyújtása
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"
}'
Válasz (HTTP 202 Elfogadva)
{
"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. lépés: Eredménykutatás
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Polling example (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)
Válasz (befejezett)
{
"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
}
}
Valós idejű haladás nyomon követése
| Mező | Leírás |
|---|---|
status |
pending (a GPU dolgozójára várva) processing (aktív fordítás), completed, failed |
processed_texts |
Az eddig befejezett egyéni fordítások száma. Az egyes szövegek fordításának valós időben történő frissítése. |
progress_percentage |
Befejezési százalék (0-100). Feldolgozott_texts / total_texts. |
queue_position |
Az Ön pozíciója a sorban, amikor a státusz "költés" (1 = következő). Null feldolgozáskor vagy befejezve. Használja ezt becsléséhez várakozási idő és show sor státuszt a felhasználók számára. |
processing_time |
Teljes feldolgozási idő másodpercben (a kitöltéskor rendelkezésre áll). |
Többnyelvű gyártási tétel
Egyszerre több szöveg lefordítása több nyelvre:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Befejezett eredmény_adat
{
"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
}
Paraméterek kérése
| Paraméter | Típus | Szükséges | Leírás |
|---|---|---|---|
texts |
array | Igen. | A sztringek megjelenítése a fordításhoz |
target_language |
string | Igen. | Célnyelvi kód egyetlen nyelvre |
target_languages |
array | Igen. | A célnyelvi kódok megjelenítése több nyelvre |
source_language |
string | Nem. | Source language code. Default: "auto" |
* Gondoskodj bármelyikről target_language vagy target_languagesNem mindkettő.
Legjobb gyakorlatok a nagy munkaterhelések számára
- Küldjön 1 célnyelv egy tétel kérés. Ez tartja az egyes tételek gyors és teszi a haladást könnyen nyomon követhető.
- Tartsa a tételeket 50-100 szövegben. Kisebb tételek gyorsabban teljesítenek, és több gyakori haladás frissítéseket.
- Küldjön be annyi tételes munkákat, amennyire szüksége van GPU klaszterünk auto-skála a kereslet kezelésére. Állásajánlatok feldolgozzák párhuzamosan több esetben.
- Időtúllépéskor ugyanabból az állásból/azonosítóból kell újratölteni, ahelyett, hogy új tételt adnánk be. Az eredeti feladat lehet, hogy még mindig a GPU-n dolgozunk.
- A közvélemény-kutatás 3-5 másodpercenként nem gyorsítja fel a feldolgozást.
Dokumentáció fordítása
A teljes dokumentumok lefordítása a formázás megőrzése mellett. Több fájlformátumot támogat.
POST https://api.translateapi.ai/api/v1/translate/document/
Kérelem (több rész/formaadatok)
| Paraméter | Típus | Szükséges | Leírás |
|---|---|---|---|
file |
file | Igen. | A lefordítandó dokumentum (maximum 10 MB) |
target_language |
string | Igen. | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Nem. | Source language code. Default: "auto" (auto-detect) |
Támogatott fájltípusok
Dokumentumok
.txt- Egyszerű szövegfájlok.docx- Szódokumentumok.pdf- PDF-dokumentumok (beleértve a szkenneltet is)
Adatok & lokalizálása
.json- JSON fájlok (lefordítja a string értékeket).xml- XML- fájlok.srt- Feliratfájlok.po/.pot- Gettext fordítási fájlok
Képek (OCR)
.jpg/.jpeg- JPEG képek (OCR).png- PNG képek (OCR).tiff/.tif- TIFF képek (OCR).bmp- BMP képek (OCR).webp- WebP képek (OCR)
Példa (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"
Válasz
{
"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}/
Ellenőrizze a dokumentum fordításának állapotát, vagy töltse le a letöltési URL-t.
Állapotértékek
pending |
Fájl feltöltése, a feldolgozásra várva |
processing |
Fordítás folyamatban |
completed |
Fordítás teljes, letölthető |
failed |
A fordítás nem sikerült (az error_message ellenőrzése) |
Támogatott nyelvek
Szerezd meg az összes támogatott nyelv listáját.
GET https://api.translateapi.ai/api/v1/translate/languages/
Válasz
{
"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"},
...
]
}
Fordítási modellek
A legkorszerűbb nyílt forráskódú fordítási modelleket használjuk a saját GPU infrastruktúránkban. Minden modell kereskedelmi engedéllyel rendelkezik (Apache 2.0).
| Minta | Nyelvek | Legjobb |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ nyelvpárok | Közös nyelvek (EN, ES, FR, DE, IT, PT, RU, ZH, JA stb.) |
| Google MADLAD-400 | 400+ nyelvek | Ritka nyelvek, átfogó lefedettség |
Az API automatikusan kiválasztja a legjobb modellt a nyelvpár számára. engine paraméter:
| Motor | Leírás |
|---|---|
"auto" |
Alapértelmezett. Tries HuggingFace először, visszaesik a MADLAD-400 |
"huggingface" |
Force HuggingFace/MarianMT (leggyorsabb, 50+ nyelvek) |
"madlad" |
Force MADLAD-400 (400+ nyelvek) |
Hibakezelés
Az API szabványos HTTP státuszkódokat használ a siker vagy hiba jelzésére.
| Kód | Leírás |
|---|---|
| 200 | Siker |
| 202 | Elfogadott állások száma sikeresen |
| 400 | Bad Request - Érvénytelen paraméterek (hiányzó szöveg, nem támogatott nyelv stb.) |
| 401 | Jogosítatlan - Érvénytelen vagy hiányzó API-kulcs |
| 402 | Fizetés Szükséges • Karakter kreditek kimerült. Frissítse a tervet, vagy vásárolni egy top-up. |
| 403 | Tiltott API kulcs hiányzik a szükséges hatókör vagy IP nem fehérlistán |
| 503 | Szolgáltatás Nem elérhető - Fordítási motor ideiglenesen le |
Hibaelhárítási formátum
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Használati határértékek
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:
| Terv | Karakterek/Hónap | Gy. sz.: API | Dokumentumok | Ár | |
|---|---|---|---|---|---|
| Ingyenes | 250,000 | — | — | $0 | Regisztráció Ingyenes |
| Indító | 2,500,000 | $9/unit description in lists | Feliratkozás | ||
| Pro | 10,000,000 | $29/unit description in lists | Feliratkozás | ||
| Üzleti tevékenység | 40,000,000 | $79/unit description in lists | Feliratkozás | ||
| Skála | 125,000,000 | $199/unit description in lists | Feliratkozás | ||
| Enterprise | Unlimited | $499/unit description in lists | Contact Sales |
Ha túlléped a határt, kapsz egy 402 Payment Required válasz a következő hónapig, vagy frissíteni.
Auto-Scaling Cloud Infrastructure
TranslateAPI fut a dedikált NVIDIA A100 GPU esetekben automatikus vízszintes méretezés. Amikor a kereslet növekszik, további GPU esetek indítanak el perceken belül, hogy fenntartsa a gyors válaszidő. Minden kérés sorba áll, és feldolgozott • küld több száz egyidejű kéréseket, és mind kezelni. Valós idejű fordítások kap elsőbbséget, kötegelt állások folyamat a háttérben.
Több kreditre van szükséged?
Vásárolj egy egyszeri hitelfeltöltést anélkül, hogy megváltoztatnád a terved. Töltőcsomagok megtekintése