Dokumentacija API

Integrirajte močan prevod v vaše aplikacije z našim preprostim REST API.

Začetek

TranslateAPI zagotavlja preprost vmesnik REST za prevajanje besedila med 180+ jeziki. Vsi končni dogodki API vrnejo JSON odgovore.

1. Dobite svoj API ključ

Ustvarite brezplačni račun in ustvarite svoj API ključ iz plošče:

  1. Vpišite se na translateapi.ai/signup
  2. Pojdi na Deska za desko → API ključi
  3. Kliknite na » Ustvarite ključ API « in kopirajte svoj ključ

API tipke se začnejo z ta_ Sledi 56 hex znakov.

Osnovni URL: https://api.translateapi.ai/api/v1/
2. Najprej zahtevajte

Zamenjava VAŠI_API_KEY s 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!"
Odziv
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Avtentifikacija

Avtentifikacija vaših zahtev z API ključem. Iz svojih ključev lahko ustvarite API tipke Tablo.

Overitev glave (recommended)
Authorization: Bearer ta_your_api_key_here
Glava ApiKey
Authorization: ApiKey ta_your_api_key_here
Parameter poizvedbe
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Držite API ključe varne! Ne razkrivajte jih v kodi stranke ali v javnih skladiščih.

Prevedi besedilo

Prevedite besedilo v en ciljni jezik.

POST https://api.translateapi.ai/api/v1/translate/
Telo zahtevka
Parameter Vrsta Zahtevana Opis
text string Da, da. Besedilo za prevajanje (največ 50.000 znakov)
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 Pogon za prevajanje: "avto" (privzeto), "prevajanje" ali "madlad". Glej prevajanje modelov. Prevajalni modeli.

* Uporaba target_language (vrstica) za en jezik ali target_languages Za večkratno razporeditev. Glej Prevajanje z več targeti.

Odziv
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Samodejno odkrivanje: Opusti source_language ali ga nastavite na "auto" za samodejno odkrivanje jezika vira. Zaznani jezik se vrne v source_language odzivno polje.

Prevajanje z več targeti

Besedilo prevedite v več jezikih v enem zahtevku. Uporablja isti opazovani dogodek kot en sam prevod.

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

Uporaba target_languages (vrsta) namesto target_language (vrstica) za več tarč.

Odziv
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Nasvet: V enem zahtevku lahko prevedete do 50 jezikov.

Serija prevajanja

Prevedite več besedil naenkrat z async obdelavo. Predložite serijo in anketo za rezultate.

Omejitve: Največ 100 besedil na serijo, max 300 skupnih predmetov (teksti × ciljni jeziki). Čas dela od 45 minut po začetku obdelave.
Hitrost: Skupni jeziki (ES, FR, DE) uporabljajo hitre modele (~0.1s/text). Manj pogosti jeziki uporabljajo naš večjezični model (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
Korak 1: Pošljite serijo
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"
}'
Odziv (HTTP 202 sprejet)
{
    "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: Analiza rezultatov
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Primer raziskovanja (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)
Odziv (dopolnjen)
{
    "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
    }
}
Sledenje napredku v realnem času
Polje Opis
status pending (Naslednja, čaka na delavca GPU), processing (aktivno prevajanje), completed, failed
processed_texts Število posameznih prevodov doslej končano. Posodobitve v realnem času, kot je vsako besedilo prevedeno.
progress_percentage Odstotek zaključka (0-100). Izračunano iz procesed_ texts / total_texts.
queue_position Vaš položaj v vrstici, ko je status "panding" (1 = naslednji navzgor). Null ob obdelavi ali končani. Uporabite to, da ocenite čas čakanja in prikažite status vrstice za svoje uporabnike.
processing_time Skupni čas obdelave v sekundah (na voljo po zaključku).
Večjezična serija

Prevedi več besedil v več jezikov naenkrat:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Dokončani rezultat_podatki
{
    "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
}
Zahtevajte parametre
Parameter Vrsta Zahtevana Opis
texts array Da, da. Popravek nizov za prevajanje
target_language string Da, da. Koda ciljnega jezika za en jezik
target_languages array Da, da. Popravek ciljnih jezikovnih kod za več jezikov
source_language string Ne Source language code. Default: "auto"

* Poskrbi, da bodisi target_language ali target_languages, ne oboje.

Najboljše prakse za veliko delovno obremenitev
  • Pošljite 1 ciljni jezik na zahtevo po seriji. To ohranja vsako serijo hitro in omogoča enostavno sledenje napredka.
  • Držite serije na 50-100 besedila. Manjše serije se zaključijo hitreje in vam pogosteje posodabljajo napredek.
  • Pošljite toliko serij delovnih mest, kolikor potrebujete – naše GPU grozdne avtomatične skale za obravnavo povpraševanja. Delovna mesta se obdelujejo vzporedno v več primerih.
  • Ob časovnem zaporedju ponovite isto job_id namesto oddaje nove serije. Izvirna naloga je morda še vedno obdelana na GPU.
  • Raziskava vsakih 3-5 sekund. Pogosto anketiranje ne pospešuje predelave.

Prevajanje dokumenta

Prevedite vse dokumente med ohranjanjem formatiranja. Podpira več formatov datotek.

POST https://api.translateapi.ai/api/v1/translate/document/
Zahtevek (več delov/podatki oblike)
Parameter Vrsta Zahtevana Opis
file file Da, da. Dokument za prevajanje (največ 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)
Podprte vrste datotek
Dokumenti
  • .txt - Običajne besedilne datoteke
  • .docx - Besedilni dokumenti
  • .pdf - Dokumenti PDF (vključno s skeniranimi)
& Lokalizacija podatkov
  • .json - Datoteke JSON (vrednosti nizov prevajalcev)
  • .xml - Datoteke XML
  • .srt - Datoteke podnaslovov
  • .po / .pot - Datoteke za prevajanje tekstov
Slike (OCR)
  • .jpg / .jpeg - JPEG slike (OCR)
  • .png - Slike PNG (OCR)
  • .tiff / .tif - TIFF slike (OCR)
  • .bmp - BMP slike (OCR)
  • .webp - WebP slike (OCR)
Primer (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"
Odziv
{
    "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"
}
Podpora OCR: Slike in skenirani PDF-ji so obdelani z optično prepoznavanje znakov (OCR) za izvleči besedilo pred prevajanjem. Za najboljše rezultate, uporabite jasne, visoko ločljivost slike.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Preverite stanje prevajanja dokumenta ali prevzemite URL prenosa.

Vrednosti stanja
pending Datoteka, ki čaka na obdelavo
processing Prevod v teku
completed Prevajanje končano, prenos na voljo
failed Prevajanje ni uspelo (preveri napako_ sporočilo)

Podprti jeziki

Dobite seznam vseh podprtih jezikov.

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

Poglej vse 186 jezikov

Prevajalni modeli

Uporabljamo najsodobnejše modele prevajanja odprtega vira, ki delujejo na lastno infrastrukturo GPU. Vsi modeli so komercialno licencirani (Apache 2.0).

Vzorec Jeziki Najboljše za
Helsinki-NLP/opus-mt 50+ jezikovni pari Skupni jeziki (EN, ES, FR, DE, IT, PT, RU, ZH, JA itd.)
Google MADLAD-400 400+ jezikov Redki jeziki, celovita pokritost

API samodejno izbere najboljši model za vaš jezikovni par. Izbirno lahko navedete engine parameter:

Motor Opis
"auto" Privzeto. Najprej poskusi HuggingFace, pade nazaj na MADLAD-400
"huggingface" Force HuggingFace/MarianMT (najhitrejši, 50+ jezikov)
"madlad" Sila MADLAD-400 (400+ jezikov)

Obvladovanje napak

API uporablja standardne kode stanja HTTP za navedbo uspeha ali neuspeha.

Oznaka Opis
200 Uspeh
202 Sprejeto – serija opravila v vrsti uspešno
400 Slaba zahteva – neveljavni parametri (manjkanje besedila, nepodprt jezik itd.)
401 Nepooblaščen - neveljaven ali manjka ključ API
402 Plačilo zahtevano – Znakovni krediti izčrpani. Nadgradite svoj načrt ali kupite top-up.
403 Prepovedano – ključ API ni potreben obseg ali IP ni v belem seznamu
503 Storitev Ni na voljo - Prevajalni motor začasno odpovedan
Format odziva na napake
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Omejitve uporabe

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:

Načrt Znaki/mesec Serija API Dokumenti Cena
Prosto 250,000 $0 Prosto se prijavite
Začetek 2,500,000 $9/Mo Naroči se
Prof. 10,000,000 $29/Mo Naroči se
Podjetje 40,000,000 $79/Mo Naroči se
Lestvica 125,000,000 $199/Mo Naroči se
Enterprise Unlimited $499/Mo Contact Sales

Ko boste presegli mejo, boste prejeli 402 Payment Required odziv do naslednjega meseca ali nadgradnjo.

Infrastruktura samodejnega odskakanja oblaka

TranslateAPI teče na specifične primere NVIDIA A100 GPU z avtomatskim horizontalnim skaliranjem. Ko povpraševanje poveča, se v nekaj minutah sprožijo dodatne primere GPU za vzdrževanje hitrih odzivnih časov. Vse zahteve so v vrsti in obdelani – pošljite na stotine sočasnih zahtev in bodo obravnavani. Prevodi v realnem času dobijo prednost, serija delovnih mest v ozadju.

Potrebuješ več zaslug?

Zmanjkalo znakov sredi meseca? Nakup enokratnega kreditnega top-up brez spremembe načrta. Oglejte si top-up pakete

Oceni to stran
Hvala za oceno!
/5 temelji na bonitetne ocene