API dokumentacija

Integrirajte moćan prijevod u vaše aplikacije s našim jednostavnim REST API.

Započinjemo

TranslateAPI pruža jednostavno REST sučelje za prevođenje teksta između 180+ jezika. Svi API ishodi vraća JSON odgovore.

1. Uzmite svoj API ključ

Napravite besplatan račun i generirajte API ključ iz panela:

  1. Upišite se na translateapi.ai/signup
  2. Idi na Deska ploče → API tipke
  3. Kliknite "Create API ključ" i kopirajte svoj ključ

API tipke počinju sa ta_ Zatim 56 hex znakova.

Osnovni URL: https://api.translateapi.ai/api/v1/
2. Prvo zatražite

Zamijeni VAŠ_API_KEY sa ključem iz vaše ploče:

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!"
Odgovor
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Ovjera

Ovjerite svoje zahtjeve korištenjem API ključa. Možete stvoriti API tipke iz vašeg Tabela s pločama.

Ovjera zaglavlja (preporučena)
Authorization: Bearer ta_your_api_key_here
ApiKey zaglavlje
Authorization: ApiKey ta_your_api_key_here
Parametr upita
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Držite API ključeve sigurno! Ne razotkrivajte ih kodom klijenta ili javnim repozitorijima.

Prevedi tekst

Prevedite tekst na jedan ciljni jezik.

POST https://api.translateapi.ai/api/v1/translate/
Zahtjevno tijelo
Parametri Vrsta Potrebno Opis
text string -Da. -Da. Tekst za prevođenje (najviše 50.000 znakova)
target_language string Da, da. Target language code (e.g., "es", "fr", "de")
source_language string Ne. Source language code. Default: "auto" (auto-detect)
engine string Ne. Prijevodni motor: "auto" (uobičajeno), "huggingface" ili "madlad". Pogledajte modele prijevoda. Modeli prijevoda.

* Koristi target_language (string) za jedan jezik ili target_languages (Marie) za višestruke. Vidi Višestruki prijevod.

Odgovor
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Automatsko otkrivanje: Opusti source_language ili ga postaviti na "auto" automatski otkriti izvorni jezik. Otkriveni jezik se vraća u source_language Polje odgovora.

Višestruki prijevod

Prevedite tekst na više jezika u jednom zahtjevu. Koristi isti ishod kao i jedan prijevod.

POST https://api.translateapi.ai/api/v1/translate/
Zahtjevno tijelo
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Koristi target_languages (marsij) umjesto target_language (string) za više meta.

Odgovor
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Savjet: Možete prevesti do 50 jezika u jednom zahtjevu.

Parsirani prijevod

Prevedite više tekstova odjednom s asinc obradom. Pošaljite seriju i anketu za rezultate.

Ograničenja: Max. 100 tekstova po seriji, max 300 ukupnih stavki (teksti × ciljni jeziki). Zaposlivanje vrijeme od 45 minuta nakon početka obrade.
Brzina: Zajednički jezici (ES, FR, DE) koriste brze modele (~0.1s/text). Manje uobičajeni jezici koriste naš višejezični model (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
Korak 1: Odaberite parcelu
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"
}'
Odgovor (HTTP 202 prihvaćeno)
{
    "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/"
}
Korak 2: Istraživanje rezultata
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Primjer ispitivanja (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)
Odgovor (dovršen)
{
    "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
    }
}
Praćenje napretka u realnom vremenu
Polje Opis
status pending (Naručeno, čeka na GPU radnika), processing (aktivno prevođenje), completed, failed
processed_texts Broj pojedinačnih prijevoda završen do sada. Ažuriranja u realnom vremenu kao svaki tekst je preveden.
progress_percentage Postotak dovršetka (0-100). Izračunano iz procesiranih_ teksta / total_teksta.
queue_position Vaš položaj u redu kada je status "panding" (1 = sljedeća gore). Null prilikom obrade ili završetka. Koristite ovo za procjenu vremena čekanja i prikazivanje statusa reda svojim korisnicima.
processing_time Ukupno vrijeme obrade u sekundama (dostupno nakon završetka).
Višejezični paket

Prevedi više tekstova na više jezika odjednom:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Dovršeni rezultati
{
    "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
}
Parametri zatraži
Parametri Vrsta Potrebno Opis
texts array -Da. -Da. Raspored stringova za prevođenje
target_language string Da, da. Šifra ciljnog jezika za jedan jezik
target_languages array Da, da. Raspored ciljnih kodova jezika za više jezika
source_language string Ne. Source language code. Default: "auto"

* Osigurajte bilo koji target_language ili target_languages, ne oboje.

Najbolje prakse za velike radne opterećenja
  • Pošaljite 1 ciljni jezik po zahtjevu za serijom. Ovo održava svaku seriju brzo i olakšava praćenje napretka.
  • Držite serije na 50-100 tekstova. Manje serije kompletiraju brže i daju vam češće napretke ažuriranja.
  • Pošaljite koliko god serijskih radnih mjesta trebate – naše GPU klaster auto-skale za rješavanje potražnje. Posao se obrađuje paralelno u više slučajeva.
  • Pri vremenskom prekidu, ponavljanje iste job_id umjesto odašiljanja nove serije. Izvorni posao još uvijek može biti obrada na GPU.
  • Anketa svakih 3-5 sekundi. Češće anketa ne ubrzava obradu.

_Dokumenti

Prevodi čitave dokumente pri očuvanju formatiranja. Podržava više formata datoteka.

POST https://api.translateapi.ai/api/v1/translate/document/
Zahtjev (multipartmentalni/formalni podaci)
Parametri Vrsta Potrebno Opis
file file -Da. -Da. Dokument koji će se prevesti (max. 10MB)
target_language string -Da. -Da. Target language code (e.g., "es", "fr", "de")
source_language string Ne. Source language code. Default: "auto" (auto-detect)
Podržani tipovi datoteka
Dokumenti
  • .txt - Obične tekstualne datoteke
  • .docx - Riječni dokumenti
  • .pdf - PDF dokumenti (uključujući skeniranje)
& Lokalizacija podataka
  • .json - JSON datoteke (vrijednosti niza prevodi)
  • .xml - XML datoteke
  • .srt - Datoteke podnaslova
  • .po / .pot - Gettext translation datoteke
Slike (OCR)
  • .jpg / .jpeg - JPEG slike (OCR)
  • .png - PNG slike (OCR)
  • .tiff / .tif - TIFF slike (OCR)
  • .bmp - BMP slike (OCR)
  • .webp - WebP slike (OCR)
Primjer (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"
Odgovor
{
    "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"
}
Podrška za OCR: Slike datoteke i skenirani PDF-ovi obrađuju se s optičkim prepoznavanjem znakova (OCR) za ekstrakt teksta prije prijevoda. Za najbolje rezultate, koristite jasne, visoke razlučivost slike.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Provjerite stanje prijevoda dokumenta ili dohvatite URL preuzimanja.

Vrijednosti stanja
pending Datoteka uploadirana, čeka na obradu
processing Prijevod u tijeku
completed Prijevod završen, preuzimanje dostupno
failed Prijevod nije uspio (provjeri pogrešku_poruka)

Podržani jezici

Dobavi popis svih podržanih jezika.

GET https://api.translateapi.ai/api/v1/translate/languages/
Odgovor
{
    "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"},
        ...
    ]
}

Pogledaj sve 186 jezika

Modeli prijevoda

Koristimo najmodernije modele prevođenja otvorenog izvora koji rade na vlastitoj GPU infrastrukturi. Svi modeli su komercijalno licencirani (Apache 2.0).

Uzorak Jezici Najbolje za
Helsinki-NLP/opus-mt 50+ Jezikovni parovi Zajednički jezici (EN, ES, FR, DE, IT, PT, RU, ZH, JA, itd.)
Google MADLAD-400 400+ jezika Rijetki jezici, sveobuhvatna pokrivenost

API automatski odabire najbolji model za vaš jezični par. Možete opcionalno navesti engine parametar:

Pogon Opis
"auto" Podrazumijevano. Pokušava prvo HuggingFace, pada natrag na MADLAD-400
"huggingface" Force HuggingFace/MarianMT (najbrže, 50+ jezika)
"madlad" Sila MADLAD-400 (400+ jezika)

Rukovanje greškama

API koristi standardne HTTP kodove statusa kako bi pokazao uspjeh ili neuspjeh.

Oznaka Opis
200 Uspjeh
202 Prihvaćeno — Uspješno u nizu zadatka
400 Loš zahtjev – neispravni parametri (nedostatak teksta, nepodržan jezik, itd.)
401 Neovlašteni - neispravan ili nedostaje API ključ
402 Plaćanje obavezno — Znakovni krediti iscrpljeni. Nadogradite svoj plan ili kupite top-up.
403 Zabranjeno — API ključ nedostaje potreban opseg ili IP nije u bijeloj listi
503 Servis nedostupan - Prijevod motor privremeno dolje
Format odgovora na grešku
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Ograničenja korištenja

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:

Plan Znakovi/Mjesec Serija API Dokumenti Cijena
Slobodno 250,000 $0 Slobodno se prijavite
Pokretanje 2,500,000 $9/Mo Pretplati se
Profesionalno 10,000,000 $29/Mo Pretplati se
Poslovno 40,000,000 $79/Mo Pretplati se
Skaliraj 125,000,000 $199/Mo Pretplati se
Enterprise Unlimited $499/Mo Contact Sales

Kada pređeš granicu, primit ćeš 402 Payment Required odgovor do sljedećeg mjeseca ili nadogradite.

Infrastruktura oblaka za automatsko mjerenje oblaka

TranslateAPI radi na posebnom NVIDIA A100 GPU primjeraka s automatskim horizontalnim skaliranjem. Kada se potražnja povećava, dodatni GPU primjerci se pokreću u roku od nekoliko minuta za održavanje brz odgovor vremena. Svi zahtjevi su u redu i obrađeni – poslati stotine istodobnih zahtjeva i svi će biti obrađeni. Realnovremenski prijevodi dobivaju prioritet, serijska radna mjesta proces u pozadini.

Trebaš još zasluga?

Ponestaje znakova sredinom mjeseca? Kupiti jednokratnu kreditnu top-up bez mijenjanja plana. Pogledaj top-up pakete

Ocijeni ovu stranicu
Hvala na ocjeni!
/5 bazirano na rejting