API dokumentatsioon

Integreerida võimas tõlkimine oma rakendustesse meie lihtne REST API.

Alustamine

TõlkeAPI annab lihtsa REST liidese tõlkimiseks teksti vahel 180+ keeles. Kõik API tulemusnäitajad tagasi JSON vastused.

Baas URL: https://api.translateapi.ai/api/v1/
Kiirkäivitus

Tee oma esimene tõlkepäring:

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

Autentimine

Oma päringute autentimine API võtme abil. API võtmeid saab luua oma Armatuurlaud.

Päise autentimine (soovitatav)
Authorization: Bearer ta_your_api_key_here
Päringu parameeter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Hoidke oma API võtmed kaitstud! Ärge paljastage neid kliendipoolses koodis ega avalikes hoidlates.

Teksti tõlkimine

Teksti tõlkimine ühte sihtkeelde.

POST https://api.translateapi.ai/api/v1/translate/
Taotluse esitanud asutus
Parameeter Tüüp Nõutav Kirjeldus
text string Jah Tõlketekst (maksimaalselt 50 000 tähemärki)
target_language string Jah * Target language code (e.g., "es", "fr", "de")
source_language string Ei. Source language code. Default: "auto" (auto-detect)

* Kasutamine target_language (string) ühe keele või target_languages (massiiv) mitmekordne. Vaata Multi- Targeti tõlge.

Vastus
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Multi- Targeti tõlge

Teksti tõlkimine mitmesse keelde ühes palves. Kasutab sama tulemust kui ühe tõlke puhul.

Näpunäide: Ühe palvega võid tõlkida kuni 50 keelt.
POST https://api.translateapi.ai/api/v1/translate/
Taotluse esitanud asutus
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Kasutamine target_languages (massiiv) target_language (string) mitme eesmärgi puhul.

Vastus
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}

Partii tõlge

Tõlkida mitu teksti korraga async töötlemine. Saada partii ja küsitlus tulemusi.

Piirväärtused: maksimaalselt 500 teksti partii kohta, maksimaalselt 750 toodet (tekstid × sihtkeeled). Tööd aeguvad 30 minutit pärast töötlemise algust (queue ooteaega ei arvestata).
Töötlemisaeg varieerub keele järgi: ühised keeled (Hispaania, prantsuse, saksa jne) kasutavad kiirmudeleid (~0,1s teksti kohta), vähem levinud keeled kasutavad meie suurt mitmekeelset mudelit (~1-3s teksti kohta). 100-tekstiline partii lõpeb tavaliselt 10-30 sekundiga ühiste keelte puhul või 2-5 minutit vähem levinud keelte puhul. Parimate tulemuste saamiseks saatke 1 sihtkeel partii taotluse kohta ja hoidke partii suurused alla 50 teksti.
POST https://api.translateapi.ai/api/v1/translate/batch/
Samm 1: Saatke partii
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"
}'
Ravivastus (HTTP 202 vastu võetud)
{
    "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. etapp: tulemuste kontroll
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Valimisnäidis (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)
Vastus (järjekorral, GPU ootel)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Vastus (töötlemise ajal)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
Ravivastus (lõpetatud)
{
    "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
    }
}
Reaalajas edusammude jälgimine

Iga küsitluse vastus sisaldab reaalajas edu väljad, et saate jälgida täpselt, mis toimub oma partii:

Väli Kirjeldus
status Praegune tööolek: pending (queued, oodates GPU töötaja), processing (aktiivselt tõlkimine), completed, failed
processed_texts Seni tehtud üksikute tõlgete arv. Uuendused reaalajas, kui iga tekst on tõlgitud.
total_texts Tõlkete koguarv selles partiis (tekstid × sihtkeeled).
progress_percentage Lõpetamise protsent (0-100). Arvutatud töödeldud_tekstidest / kokku_tekstidest.
queue_position Sinu positsioon järjekorras, kui staatus on "pending" (1 = järgmine üles). Null töötlemise või lõpetatud. Kasuta seda ooteaja hindamiseks ja näidata oma kasutajatele järjekorra olekut.
processing_time Kogu töötlemisaeg sekundites (kättesaadav pärast lõpetamist).
Näpunäide: Millal status on "pending", GPU töötajad on hõivatud teiste partiidega. Kontrollige queue_position et näha, kui palju töökohti on teie ees (1 = te olete järgmine). Teie töö hakkab automaatselt ~ mingit tegevust vaja, lihtsalt jätka küsitlust.
Parimad tavad suurte töökoormuste jaoks
  • Saada 1 sihtkeel partii taotluse. See hoiab iga partii kiire ja teeb edusammud lihtne jälgida.
  • Hoidke partiid 50-100 teksti juures. Väiksemad partiid komplekteeruvad kiiremini ja annavad teile sagedamini edasiarendusi.
  • Käivitatakse maksimaalselt 2 samaaegset partii tööd. GPU töötleb 2 partiid paralleelselt ~ lisatööde järjekorda ja ei alusta kiiremini.
  • Aegumisel taaskäivita sama töö_ id uue partii esitamise asemel. Algne töö võib olla GPU- s.
  • Küsitlus iga 3-5 sekundi järel. Sagedane küsitlus ei kiirenda töötlemist.
Mitme keelega pakk

Mitme teksti tõlkimine korraga mitmesse keelde:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Lõpptulemus_andmed
{
    "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
}
Nõude parameetrid
Parameeter Tüüp Nõutav Kirjeldus
texts array Jah Kaare stringid tõlkida
target_language string Jah * Ühe keele sihtkeele kood
target_languages array Jah * Mitmekeelsete sihtkeelekoodide osakaal
source_language string Ei. Source language code. Default: "auto"

* Esitada kas target_language või target_languages, mitte mõlemat.

Async Processing: Partii taotlused naasta kohe koos job_id. Pollitamine GET /api/v1/jobs/{job_id}/ kuni status on "completed", siis lugeda result_data tõlgete jaoks. Kasutada progress_percentage jälgida edusamme.

Dokumendi tõlkimine

Kogu dokumentide tõlkimine vormindamisel. Toetab mitut failivormingut.

POST https://api.translateapi.ai/api/v1/translate/document/
Taotlus (mitmeosaline/vormandmed)
Parameeter Tüüp Nõutav Kirjeldus
file file Jah Tõlgitav dokument (maksimaalselt 10MB)
target_language string Jah Target language code (e.g., "es", "fr", "de")
source_language string Ei. Source language code. Default: "auto" (auto-detect)
Toetatud failitüübid
  • .txt - Klaartekstifailid
  • .docx - Sõnadokumendid
  • .pdf - PDF-dokumendid (sh skaneeritud)
  • .json - JSON- failid (tõlgib stringiväärtused)
  • .xml - XML- failid
  • .srt - Subtiitrifailid
  • .po / .pot - Gettexti tõlkefailid
  • .jpg / .jpeg - JPEG pildid (OCR)
  • .png - PNG pildid (OCR)
  • .tiff / .tif - TIFF-pildid (OCR)
  • .bmp - BMP pildid (OCR)
  • .webp - WebP pildid (OCR)
OMT toetus: Pildifaile ja skaneeritud PDF-e töödeldakse optilise märgituvastusega (OCR) teksti eraldamiseks enne tõlkimist. Parimate tulemuste saavutamiseks kasuta selgeid, suure resolutsiooniga pilte.
Näide (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"
Pildifailid töödeldakse OCR eraldada teksti enne tõlkimist. Tõlgitud väljund tagastatakse .txt fail.
Vastus
{
    "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"
}
Olekuväärtused
pending Fail üles laaditud, ootab töötlemist
processing Käimasolev tõlge
completed Tõlkimine lõpetatud, allalaadimine saadaval
failed Tõlkimine nurjus (kontrolli viga_sõnumeid)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Kontrollige dokumendi tõlke staatust või saate allalaadimise URL- i.

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

Keele tuvastamine

Keeletuvastus on ehitatud igasse tõlkepäringusse. source_language to "auto" (või selle ärajätmine) ja tuvastatud keel saadetakse vastusena tagasi.

POST https://api.translateapi.ai/api/v1/translate/
Taotluse esitanud asutus
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Vastus
{
    "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 vastuse väli näitab tuvastatud keelt automaatse tuvastamise kasutamisel.

Toetatud keeled

Kõigi toetatud keelte nimekirja hankimine.

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

Tõlkemudelid

Me kasutame state-of-the-art avatud lähtekoodiga tõlkemudeleid, mis töötavad meie enda GPU infrastruktuuris. Kõik mudelid on kaubanduslikult litsentseeritud (Apache 2.0).

Näidis Keeled Parim
Helsinki-NLP/opus-mt 50+ keelepaari Ühised keeled (EN, ES, FR, DE, IT, PT, RU, ZH, JA jne)
Google MADLAD-400 400+ keelt Haruldased keeled, ulatuslik katvus

API valib automaatselt oma keelepaarile parima mudeli. Valikuliselt saab määrata engine parameeter:

Mootor Kirjeldus
"auto" Vaikimisi. Proovib HuggingFace esimene, langeb tagasi MADLAD- 400
"huggingface" Force HuggingFace/MarianMT (kiireim, 50+ keeles)
"madlad" Sunni MADLAD-400 (400+ keeled)

Vigade käsitlemine

API kasutab standard HTTP olekukoode, et näidata edu või ebaõnnestumist.

Kood Kirjeldus
200 Edukas
400 Halb päring - vigased parameetrid
401 Loata - vigane või puuduv API võti
402 Nõutav makse - päeva kirjakvoodi ületamine
429 Liiga palju taotlusi - piirmäära ületamine
503 Teenus Ei ole kättesaadav - Tõlkemootor ajutiselt alla
Veareageerimise vorming
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Hinnapiirangud

Piirmäärad on plaaniti erinevad. Vaata hinnakujundus täielik teave:

Plaan Märgid/kuud Hind
Vaba 250,000 $0 Registreeru tasuta
Starter 2,500,000 $9/munit description in lists Telli
Pro 10,000,000 $29/munit description in lists Telli
Äri 40,000,000 $79/munit description in lists Telli
Skaleerimine 125,000,000 $199/munit description in lists Telli

Kui sa ületad oma piiri, saad sa 429 Too Many Requests vastus järgmise kuuni või sa uuendada.

Automaatne pilvandmetöötluse infrastruktuur

Tõlgi API töötab spetsiaalne NVIDIA A100 GPU juhtudel automaatse horisontaalse tagi. Kui nõudlus suureneb, täiendavaid GPU juhtudel käivitatakse minutites säilitada kiire reaktsiooni korda. See tähendab, et meie API saab hakkama praktiliselt piiramatu samaaegsete taotluste ilma lagunemine ~ ühe taotluse tuhandeid minutis.

Hinda seda lehekülge
Tänan teid reitingu eest!
/5 based on reitingud