Dokumentace API
Integrovat výkonný překlad do vašich aplikací s naší jednoduchou REST API.
Začínáme
TranslateAPI poskytuje jednoduché rozhraní REST pro překlad textu mezi 180+ jazyky. Všechny cílové parametry API vrací JSON odpovědi.
1. Získejte svůj API klíč
Vytvořte si volný účet a vygenerujte si API klíč z palubní desky:
- Zaregistrujte se na translateapi.ai/signup
- Přejít na Přístrojová deska → API klíče
- Klikněte na "Vytvořit API klíč" a zkopírujte svůj klíč
API klíče začít s ta_ Následuje 56 hex znaků.
https://api.translateapi.ai/api/v1/2. Vyžádejte si svou první žádost
Nahradit VAŠE_API_KEY klíčem z palubní desky:
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!"
Odpověď
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Ověření
Ověřit své požadavky pomocí API klíče. Můžete vytvořit API klíče ze svého přístrojová deska.
Autentizace záhlaví (doporučeno)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Parametr dotazu
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Přeložit text
Přeložte text do jednoho cílového jazyka.
POST https://api.translateapi.ai/api/v1/translate/
Požadovaný subjekt
| Parametr | Typ | Požadované | Popis zboží |
|---|---|---|---|
text |
string | Ano. | Text k překladu (maximálně 50 000 znaků) |
target_language |
string | Ano * | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Ne. | Source language code. Default: "auto" (auto-detect) |
engine |
string | Ne. | Translation engine: "auto" (přednastaveno), "objímání" nebo "madlad." Viz Translation Models. Překladatelské modely. |
* Použití target_language (řetězec) pro jeden jazyk nebo target_languages (array) pro vícenásobný. Viz Multi-Target Translation.
Odpověď
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language nebo ji nastavit na "auto" automaticky detekovat zdrojový jazyk. Detekovaný jazyk je vrácen v source_language Odpovědní pole.
Multi-Target Translation
Přeložit text do více jazyků v jedné žádosti. Používá stejný cíl jako jeden překlad.
POST https://api.translateapi.ai/api/v1/translate/
Požadovaný subjekt
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Použití target_languages (array) místo target_language (řetězec) pro více cílů.
Odpověď
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Překlad č. š.:
Přeložit více textů najednou s async zpracování. Odešlete dávku a anketu o výsledky.
POST https://api.translateapi.ai/api/v1/translate/batch/
Krok 1: Odevzdat č. š.:
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"
}'
Odpověď (HTTP 202 přijata)
{
"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/"
}
Krok 2: Poll pro výsledky
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Příklad aplikace (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)
Odpověď (dokončena)
{
"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
}
}
Sledování pokroku v reálném čase
| Pole | Popis zboží |
|---|---|
status |
pending (odkázaná, čekající na pracovníka GPU), processing (aktivní překlad), completed, failed |
processed_texts |
Dosud dokončen počet jednotlivých překladů. Aktualizace v reálném čase jako každý text je přeložen. |
progress_percentage |
Procento dokončení (-100). Vypočteno ze zpracovávaných_textů / celkem_textů. |
queue_position |
Vaše pozice ve frontě, kdy je stav "trápení" (1 = další nahoru). Při zpracování nebo dokončení null. Použijte toto k odhadu čekací doby a zobrazit stav fronty pro své uživatele. |
processing_time |
Celková doba zpracování v sekundách (k dispozici po dokončení). |
Vícejazyčná č. š.:
Přeložit více textů do více jazyků najednou:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Ukončené výsledky_data
{
"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
}
Požadovat parametry
| Parametr | Typ | Požadované | Popis zboží |
|---|---|---|---|
texts |
array | Ano. | Array řetězců k překladu |
target_language |
string | Ano * | Kód cílového jazyka pro jeden jazyk |
target_languages |
array | Ano * | Pole cílových jazykových kódů pro více jazyků |
source_language |
string | Ne. | Source language code. Default: "auto" |
* Uveďte buď target_language nebo target_languagesNe obojí.
Nejlepší praxe pro velké pracovní zatížení
- Poslat 1 cílový jazyk na žádost o dávku. To udržuje každou dávku rychle a dělá pokrok snadno sledovat.
- Udržujte šarže na 50-100 textech. Menší šarže dokončit rychleji a dát vám častější aktualizace pokroku.
- Odevzdejte tolik dávkových pracovních míst, kolik budete potřebovat, naše GPU klastrové automatické stupnice zvládnout poptávku. Práce jsou zpracovávány paralelně v několika případech.
- Při timeoutu přepollujte stejnou práci_id místo odevzdání nové dávky. Původní práce může být stále zpracovávána na GPU.
- Vyhledejte každých 3-5 sekund. Častější průzkumy nezrychlují zpracování.
Překlad dokumentu
Přeložit celé dokumenty při zachování formátování. Podporuje více formátů souborů.
POST https://api.translateapi.ai/api/v1/translate/document/
Žádost (multipart/form-data)
| Parametr | Typ | Požadované | Popis zboží |
|---|---|---|---|
file |
file | Ano. | Dokument k překladu (max. 10MB) |
target_language |
string | Ano. | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Ne. | Source language code. Default: "auto" (auto-detect) |
Podporované typy souborů
Dokumenty
.txt- Jednoduché textové soubory.docx- Slovní dokumenty.pdf- PDF dokumenty (včetně naskenovaných)
Data a lokalizace
.json- JSON soubory (překládá hodnoty řetězce).xml- XML soubory.srt- Soubory titulků.po/.pot- Soubory pro překlad Gettextu
Obrázky (OCR)
.jpg/.jpeg- JPEG obrázky (OCR).png- PNG obrázky (OCR).tiff/.tif- TIFF obrázky (OCR).bmp- BMP obrázky (OCR).webp- WebP obrázky (OCR)
Příklad (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"
Odpověď
{
"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}/
Zkontrolujte stav překladu dokumentu nebo najděte adresu URL ke stažení.
Hodnoty stavu
pending |
Soubor nahraný, čekající na zpracování |
processing |
Probíhá překlad |
completed |
Překlad kompletní, ke stažení k dispozici |
failed |
Překlad selhal (kontrola chyb_zpráva) |
Podporované jazyky
Získejte seznam všech podporovaných jazyků.
GET https://api.translateapi.ai/api/v1/translate/languages/
Odpověď
{
"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"},
...
]
}
Překladatelské modely
Používáme nejmodernější open source překlady modely běžící na naší vlastní GPU infrastruktury. Všechny modely jsou komerčně licencovány (Apache 2.0).
| Vzor | Jazyky | Nejlepší pro |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ párů jazyků | Společné jazyky (EN, ES, FR, DE, IT, PT, RU, ZH, JA atd.) |
| Google MADLAD-400 | 400+ jazyků | Vzácné jazyky, komplexní pokrytí |
API automaticky vybere nejlepší model vašeho jazykového páru. engine parametr:
| Motor | Popis zboží |
|---|---|
"auto" |
Default. Try HuggingFace první, padá zpět na MADLAD-400 |
"huggingface" |
Force HuggingFace/MarianMT (nejrychlejší, 50+ jazyky) |
"madlad" |
Síla MADLAD-400 (400+ jazyků) |
Chyba při manipulaci
API používá standardní HTTP stavové kódy k označení úspěchu nebo selhání.
| Kód | Popis zboží |
|---|---|
| 200 | Úspěch |
| 202 | Akceptováno: Batch pracovních míst úspěšně ve frontě |
| 400 | Špatná žádost Neplatné parametry (chybí text, nepodporovaný jazyk, atd.) |
| 401 | Nepovolený - Neplatný nebo chybějící API klíč |
| 402 | Platba Požadované Charakterové kredity vyčerpány. Upgrade svůj plán nebo koupit nahoru. |
| 403 | Zakázané API klíč postrádá požadovaný rozsah nebo IP není ve whitelistu |
| 503 | Servis Nedostupný - Translation engine dočasně dolů |
Formát odpovědi na chybu
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Omezení použití
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:
| Plán | Znaky/Měsíc | Č. šarže API | Dokumenty | Cena | |
|---|---|---|---|---|---|
| Volné | 250,000 | — | — | $0 | Zaregistrovat se zdarma |
| Starter | 2,500,000 | $9/ne | Přihlásit | ||
| Pro | 10,000,000 | $29/ne | Přihlásit | ||
| Obchod | 40,000,000 | $79/ne | Přihlásit | ||
| Měřítko | 125,000,000 | $199/ne | Přihlásit | ||
| Enterprise | Unlimited | $499/ne | Contact Sales |
Když překročíte limit, dostanete 402 Payment Required odpověď do příštího měsíce nebo si upgrade.
Auto-Scaling Cloud Infrastructure
TranslateAPI běží na specializovaných NVIDIA A100 GPU instancí s automatickým horizontálním škálováním. Při zvyšování poptávky jsou do několika minut spuštěny další GPU instance, aby se udržely rychlé časy odezvy. Všechny žádosti jsou ve frontě a zpracovány. Pošlete stovky souběžných požadavků a všechny budou řešeny. V reálném čase překlady mají přednost, dávkové práce proces v pozadí.
Potřebujete více kreditů?
Došly postavy v polovině měsíce? Koupit jednorázový úvěr dolít bez změny plánu. Zobrazit balení pro doplnění