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.
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
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.
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.
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). |
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.
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)
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"
.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.