API dokumentācija

Integrējiet jaudīgu tulkojumu jūsu lietojumprogrammās ar mūsu vienkāršo REST API.

Iesākšana

Tulkot API nodrošina vienkāršu REST saskarni teksta tulkošanai starp 180+ valodām. Visi API galamērķi atgriež JSON atbildes.

Pamata URL: https://api.translateapi.ai/api/v1/
Ātrā palaišana

Pirmā tulkojuma pieprasījums:

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

Autentificēšana

Autentificēt pieprasījumus, izmantojot API atslēgu. Jūs varat izveidot API taustiņus no jūsu paneļa.

Galvenes autentifikācija (ieteicama)
Authorization: Bearer ta_your_api_key_here
Vaicājuma parametrs
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Saglabājiet savas API atslēgas drošas! Neiepazīstiet tos ar klienta kodu vai publiskiem repozitorijiem.

Tulkot tekstu

Izgriezt tekstu vienā mērķa valodā.

POST https://api.translateapi.ai/api/v1/translate/
Pieprasījuma iesniedzēja iestāde
Parametrs Veids Vajadzīgs Apraksts
text string Teksts tulkot (maksimāli 50,000 rakstzīmes)
target_language string Target language code (e.g., "es", "fr", "de")
source_language string Source language code. Default: "auto" (auto-detect)

* Lietošana target_language (rinda) par vienu valodu vai target_languages (array) par vairākiem. Skatīt Vairāku pazīmju tulkojums.

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

Vairāku pazīmju tulkojums

Tulkot tekstu uz vairākām valodām vienā pieprasījumā. Izmanto to pašu mērķa kritēriju kā viens tulkojums.

Padoms: Vienā pieprasījumā varat tulkot līdz pat 50 valodām.
POST https://api.translateapi.ai/api/v1/translate/
Pieprasījuma iesniedzēja iestāde
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Lietot target_languages (array) target_language (rinda) vairākiem mērķiem.

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

Sērijas tulkojums

Tulkot vairākus tekstus uzreiz ar async apstrādi. Iesniegt partiju un aptauju par rezultātiem.

Robežas: ne vairāk kā 500 tekstus partijā, ne vairāk kā 750 kopējās vienības (teksti × mērķa valodas). Darbu laiks 30 minūtes pēc apstrādes sākuma (neskaita gaidīšanas laiku).
[Error: UNIQUE constraint failed: translations_translation.textbase_id, translations_translation.language_id]
POST https://api.translateapi.ai/api/v1/translate/batch/
1. posms: Iesniegt sēriju
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"
}'
Atbilde (HTTP 202 akceptēta)
{
    "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/"
}
posms: šūna pēc rezultātiem
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Piemērs polling (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)
Reaģēšana (sūtīšana – rindā, GPU gaidīšana)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Atbilde (apstrādes laikā)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
Atbilde (pabeigta)
{
    "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
    }
}
Reālā laika progresa izsekošana

Katra aptaujas atbilde ietver reāllaika progresa jomas, lai jūs varētu uzraudzīt tieši to, kas notiek ar jūsu partiju:

Lauks Apraksts
status Pašreizējais darba stāvoklis: pending (paredzēts, gaidot GPU darbinieku), processing (aktīvi tulkojot), completed, failed
processed_texts Atsevišķu līdz šim pabeigto tulkojumu skaits. Atjauninājumi reāllaikā, kad katrs teksts ir tulkots.
total_texts Kopējais tulkojumu skaits šajā sērijā (teksti × mērķa valodas).
progress_percentage Pabeigšanas procentuālais (0- 100). Aprēķināts no apstrādātajiem_ tekstiem / kopējā_ tekstiem.
queue_position Jūsu pozīcija rindā, kad statuss ir "pieteikts" (1 = nākamais uz augšu). Null, apstrādājot vai pabeidzot. Izmantojiet šo, lai noteiktu nogaidīšanas laiku un parādītu rindas statusu saviem lietotājiem.
processing_time Kopējais apstrādes laiks sekundēs (pieejams pēc pabeigšanas).
Padoms: Kad status s ta "pending", GPU darbinieki ir aizņemti ar citām partijām. queue_position lai redzētu, cik daudz darbu ir priekšā jūsu darbam (1 = jūs esat nākamais). Jūsu darbs sāksies automātiski — nekādas darbības nav nepieciešamas, vienkārši turpiniet vēlēšanu.
Paraugprakse lielai darba slodzei
  • Sūtīt 1 mērķa valodu par partijas pieprasījumu. Tas uztur katru partiju ātri un padara progresu viegli izsekot.
  • Saglabāt partijas pie 50-100 tekstiem. Mazākas partijas pabeigt ātrāk un sniegt jums biežāk progress atjauninājumus.
  • Palaist vairākums 2 vienlaicīgi sērijas darbi. GPU apstrādā 2 partijas paralēli — papildu darbu rindu un nesākas ātrāk.
  • Par noildze, atkārtoti izdrukāt to pašu darbu_id, nevis iesniegt jaunu partiju. Sākotnējais darbs joprojām var būt apstrādes uz GPU.
  • Apsūkt ik pēc 3-5 sekundēm. Biežākas vēlēšanas nepaātrina apstrādi.
Daudzvalodu sērija

Tulkot vairākus tekstus uz vairākām valodām vienlaicīgi:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Pabeigtais rezultāts_dati
{
    "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
}
Pieprasījuma parametri
Parametrs Veids Vajadzīgs Apraksts
texts array Pārtulkojamās virknes
target_language string Mērķvalodas kods vienai valodai
target_languages array Mērķvalodu kodu meklēšana vairākām valodām
source_language string Source language code. Default: "auto"

* Norāda vai nu target_language vai target_languages, ne abi.

Async apstrāde: Partijas pieprasījumi atgriežas nekavējoties ar job_id. Apelsīni GET /api/v1/jobs/{job_id}/ līdz status s ta "completed"pēc tam lasīt result_data tulkojumiem. Izmantojiet progress_percentage sekot progresam.

Dokumentu tulkojums

Tulkot visus dokumentus, saglabājot formatējumu. Atbalsta vairākus failu formātus.

POST https://api.translateapi.ai/api/v1/translate/document/
Pieprasījums (daudzkārtēji/formas dati)
Parametrs Veids Vajadzīgs Apraksts
file file Tulkojamais dokuments (maks. 10MB)
target_language string Target language code (e.g., "es", "fr", "de")
source_language string Source language code. Default: "auto" (auto-detect)
Atbalstīto failu tipi
  • .txt - Vienkārši teksta faili
  • .docx - Vārda dokumenti
  • .pdf - PDF dokumenti (ieskaitot skenētos)
  • .json - JSON faili (tulko virknes vērtības)
  • .xml - XML faili
  • .srt - Apakšvirsrakstu faili
  • .po / .pot - Gettext tulkošanas faili
  • .jpg / .jpeg - JPEG attēli (OCR)
  • .png - PNG attēli (OCR)
  • .tiff / .tif - TIFF attēli (OCR)
  • .bmp - BMP attēli (OCR)
  • .webp - WebP attēli (OCR)
OCR atbalsts: Attēlu faili un skenēti PDF tiek apstrādāti ar optisko rakstzīmju atpazīšanu (OCR), lai iegūtu tekstu pirms tulkošanas. Lai iegūtu labākos rezultātus, izmantojiet skaidrus, augstas izšķirtspējas attēlus.
Piemērs (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"
Attēlu faili tiek apstrādāti ar OCR, lai iegūtu tekstu pirms tulkošanas. Iztulkotā izvade tiek atgriezta kā .txt datne.
Atbildes reakcija
{
    "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"
}
Statusa vērtības
pending Fails augšupielādēts, gaidot tiks apstrādāts
processing Tulkojums notiek
completed Tulkojums pabeigts, lejupielāde pieejama
failed Tulkojums neizdevās (pārbaudīt kļūdu_ message)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Pārbaudiet dokumenta tulkojuma statusu vai ielādējiet lejupielādes URL.

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

Valodas detektēšana

Valodas atklāšana ir iebūvēta katrā tulkošanas pieprasījumā. Komplekts source_language to "auto" (vai to neizlaiž) un atklātā valoda tiek atdota atbildē.

POST https://api.translateapi.ai/api/v1/translate/
Pieprasījuma iesniedzēja iestāde
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Atbildes reakcija
{
    "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
}

T s k a ls t ī b ā source_language Atbildē lauks parāda atklāto valodu, kad tiek izmantota automātiska detektēšana.

Atbalstītās valodas

Iegūst visu atbalstīto valodu sarakstu.

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

Tulkošanas modeļi

Mēs izmantojam mūsdienīgus atvērtā koda tulkošanas modeļus, kas darbojas uz mūsu pašu GPU infrastruktūras. Visi modeļi ir komerciāli licencēti (Apache 2.0).

Paraugs Valodas Labākais par
Helsinki-NLP/opus-mt 50+ valodu pāri Kopīgās valodas (EN, ES, FR, DE, IT, PT, RU, ZH, JA u.c.)
Google MADLAD-400 400+ valodas Retas valodas, visaptverošs pārklājums

API automātiski izvēlas labāko jūsu valodas pāra modeli. engine parametrs:

Motors Apraksts
"auto" Noklusētais. Tries HuggingFace pirmais, krīt atpakaļ uz MADLAD- 400
"huggingface" Piespiest huggingFace/MarianMT (steidzamākais, 50+ valodas)
"madlad" Piespiest MADLAD- 400 (400+ valodas)

Kļūdu apstrāde

API izmanto standarta HTTP statusa kodus, lai norādītu uz panākumiem vai neveiksmi.

Kods Apraksts
200 Panākumi
400 Nederīgs pieprasījums - nederīgi parametri
401 Nederīga - nepareiza vai iztrūkst API taustiņš
402 Maksājums nepieciešamais - Dienas rakstzīmju kvota pārsniegta
429 Pārāk daudz pieprasījumu - likmes limits pārsniegts
503 Serviss nav pieejams - Tulkojums dzinējs uz laiku uz leju
Kļūdas atbildes formāts
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Likmju robežvērtības

Robežas atšķiras pēc plāna. Skatīt cenu noteikšana pilnīgai informācijai:

Plāns Rakstzīmes/mēnesis Cena
Bezmaksas 250,000 $0 Pierakstīties brīvībā
Palaist 2,500,000 $9/s ta Parakstīties
Pro 10,000,000 $29/s ta Parakstīties
Bizness 40,000,000 $79/s ta Parakstīties
Mērogs 125,000,000 $199/s ta Parakstīties

Kad pārsniegsi limitu, jūs saņemsiet 429 Too Many Requests atbildes reakcija līdz nākamajam mēnesim vai jūs uzlabot.

Automātiska mākoņdatošanas infrastruktūra

TulkotAPI darbojas uz dedikēta NVIDIA A100 GPU instanču ar automātisku horizontālu mērogošanu. Pieaugot pieprasījumam, dažu minūšu laikā tiek palaisti papildu GPU gadījumi, lai uzturētu ātru atbildes laiku. Tas nozīmē, ka mūsu API var apstrādāt praktiski neierobežotu vienlaicīgi pieprasījumus bez sairšanas — no viena pieprasījuma līdz tūkstošiem minūtē.

Novērtēt šo lapu
Paldies par jūsu vērtējumu!
/5 pamatojoties uz reitingi