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.

Alap URL: https://api.translateapi.ai/api/v1/
Gyors indítás

Készítse el az első fordítási kérését:

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

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
Lekérdezési paraméter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Tartsd biztonságban az API kulcsaidat! Ne fedje fel őket az ügyfél oldali kódban vagy a nyilvános adattárban.

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)

* 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
}

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.

Tipp: Egyetlen kéréssel akár 50 nyelvig is lefordítható.
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.

Határértékek: max. 500 szöveg tételenként, max. 750 darab össztermék (szövegek × célnyelvek). A munkaidő 30 perccel a feldolgozás megkezdése után (a várakozási idő nem számít).
A feldolgozás időtartama nyelvenként változik: a közös nyelvek (spanyol, francia, német, stb.) gyors modelleket használnak (~0.1s/szöveg), míg a kevésbé gyakori nyelvek a nagy többnyelvű modellünket használják (~1-3s/szöveg). A 100-szöveges tétel általában 10-30 másodperc alatt fejeződik be a közös nyelvekre, vagy 2-5 perc kevésbé gyakoriakra. A legjobb eredményekért küldjön 1 célnyelvet kötegenként, és tartsa a kötegméreteket 50 szöveg alatt.
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"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)
Válasz (a GPU-ra várakozó sorban állástól függően)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Válasz (feldolgozás közben)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
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

Minden közvélemény-kutatási válasz tartalmazza a valós idejű haladási mezőket, így pontosan nyomon követheti, hogy mi történik a tételekkel:

Mező Leírás
status Jelenlegi állás állapota: 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.
total_texts A fordítások száma ebben a tételben (szövegek × célnyelvek).
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).
Tipp: Mikor status ng "pending", a GPU dolgozói elfoglaltak más tételekkel. Ellenőrizze queue_position hogy lássa, hány munka előtt áll (1 = te következel). A munkád automatikusan elkezdődik. Nincs szükség cselekvésre, csak folytasd a közvélemény-kutatást.
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.
  • Fuss legfeljebb 2 egyidejű gyártási munkák. A GPU folyamatok 2 tételek párhuzamos • további állások sorban, és nem indul gyorsabban.
  • 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.
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ő.

Async Processing: Gy. sz.: {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} {hónap/ év} job_id. Szavazás GET /api/v1/jobs/{job_id}/ egészen addig, amíg status ng "completed", majd olvassa el result_data Fordításhoz. progress_percentage nyomon követni a fejlődé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
  • .txt - Egyszerű szövegfájlok
  • .docx - Szódokumentumok
  • .pdf - PDF-dokumentumok (beleértve a szkenneltet is)
  • .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
  • .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)
OCR támogatás: A képfájlokat és a beszkennelt PDF-eket optikai karakterfelismeréssel (OCR) dolgozzuk fel a szöveg fordítás előtti kivonatolásához. A legjobb eredményekhez használjon tiszta, nagy felbontású képeket.
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"
A képfájlok feldolgozása OCR kivonat szöveg fordítás előtt. A lefordított kimenetet visszaadja, mint egy .txt Akta.
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"
}
Á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)
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.

Válasz
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

Nyelvfelismerés

A nyelvfelismerés minden fordítási kérésbe be van építve. source_language to "auto" (vagy kihagyja) és az észlelt nyelv visszakerül a válaszban.

POST https://api.translateapi.ai/api/v1/translate/
Kérelmező szerv
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Válasz
{
    "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
}

A source_language a válasz mezője az automatikus észlelés során észlelt nyelvet mutatja.

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
400 Rossz kérés - Érvénytelen paraméterek
401 Jogosítatlan - Érvénytelen vagy hiányzó API-kulcs
402 Fizetés szükséges - A napi karakterkvótát túllépték
429 Túl sok kérés - az adókulcs túllépése
503 Szolgáltatás Nem elérhető - Fordítási motor ideiglenesen le
Hibaelhárítási formátum
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Rate limitek

A határértékek tervenként változnak. árképzés a teljes részletességgel:

Terv Karakterek/Hónap Á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

Ha túlléped a határt, kapsz egy 429 Too Many Requests 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 perceken belül, hogy fenntartsa a gyors válaszidőket. Ez azt jelenti, hogy az API képes kezelni gyakorlatilag korlátlan párhuzamos kérések nélkül bomlás • egyetlen kéréstől több ezer per perc.

Szavazz erre az oldalra
Köszönjük a minősítését!
/5 amount in units (real) minősítések