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.
1. Hangi oma API võti
Loo vaba konto ja genereerida oma API võti armatuurlaud:
- Registreeru translateapi.ai/signup
- Mine DashboardCity in Ontario Canada → API võtmed
- Klõpsa "Loo API võti" ja kopeeri oma võti
API võtmed algavad ta_ millele järgneb 56 nõiamärki.
https://api.translateapi.ai/api/v1/2. Tee oma esimene taotlus
Asenda oma_API_ KEY armatuurlaua võtmega:
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!"
Vastus
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
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
ApiKey päis
Authorization: ApiKey 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) |
engine |
string | Ei. | Tõlkemootor: "auto" (vaikimisi), "kiisunägu" või "madlad." Vaata Tõlkemudeleid. Tõlkemudelid. |
* 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
}
source_language või seada see "auto" lähtekeele automaatseks tuvastamiseks. Tuvastatud keel tagastatakse source_language Reageerimisväli.
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"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)
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
| Väli | Kirjeldus |
|---|---|
status |
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. |
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). |
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.
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.
- Esita nii palju partii töökohti kui sa vajad meie GPU klaster automaatselt scales tegeleda nõudlus. Tööd töödeldakse paralleelselt mitmel juhul.
- 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.
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
Dokumendid
.txt- Klaartekstifailid.docx- Sõnadokumendid.pdf- PDF-dokumendid (sh skaneeritud)
Andmete lokaliseerimine
.json- JSON- failid (tõlgib stringiväärtused).xml- XML- failid.srt- Subtiitrifailid.po/.pot- Gettexti tõlkefailid
Pildid (OCR)
.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"
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"
}
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
Kontrollige dokumendi tõlke staatust või saate allalaadimise URL- i.
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) |
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 |
| 202 | Aktsepteeritud ® Partii töö järjekord edukalt |
| 400 | Halb päring ~ Vigased parameetrid (puudub tekst, toetamata keel jne) |
| 401 | Loata - vigane või puuduv API võti |
| 402 | Maksmine Nõutav ~ Character krediiti ammendatud. Uuenda oma plaani või osta top-up. |
| 403 | Keelatud ~ API võti puudub nõutav ulatus või IP ei ole valgesse nimekirja |
| 503 | Teenus Ei ole kättesaadav - Tõlkemootor ajutiselt alla |
Veareageerimise vorming
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Kasutuspiirangud
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:
| Plaan | Märgid/kuud | Partii API | Dokumendid | 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 | ||
| Enterprise | Unlimited | $499/munit description in lists | Contact Sales |
Kui sa ületad oma piiri, saad sa 402 Payment Required vastus järgmise kuuni või sa uuendada.
Automaatne pilvandmetöötluse infrastruktuur
Tõlgi API töötab pühendatud NVIDIA A100 GPU juhtudel automaatne horisontaalne tagi. Kui nõudlus suureneb, täiendavaid GPU juhtudel käivitatakse minuti jooksul säilitada kiire vastuse korda. Kõik taotlused on järjekorras ja töödeldud ~ Saatke sadu samaaegseid päringuid ja nad kõik käideldakse. Reaalajas tõlked saavad prioriteet, partii tööd protsessi taustal.
Vajad rohkem krediiti?
Osta ühekordne krediidilisa ilma plaani muutmata. Ülemiste pakkide vaatamine