АПИ документација
Интегриши моћни превод у ваше апликације са нашим једноставним РЕСТ АПИ.
Започињем
Превод АПИ пружа једноставно РЕСТ сучеље за превођење текста између 180+ језика. Сви АПИ исходни тачки враћају ЈСОН одговоре.
1. Узми свој АПИ кључ
Направите бесплатни налог и направите АПИ кључ са табле:
- Пријави се на translateapi.ai/signup
- Иди на Табло → АПИ тастери
- Кликните на „ Направи АПИ кључ “ и копирајте кључ
АПИ тастери почињу са ta_ Затим 56 хекс знакова.
https://api.translateapi.ai/api/v1/2. Направите свој први захтев
Зам› ијени кључем из табле:
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!"
Одговор
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Аутентификација
Аутентификујте захтеве помоћу АПИ кључа. Можете направити АПИ кључеве из вашег табла.
Аутентификација заглавља (препоручена)
Authorization: Bearer ta_your_api_key_here
заглавље ~@ ¦АпиКеј¦ApiKey¦
Authorization: ApiKey ta_your_api_key_here
Параметар упита
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Преведи текст
Преведи текст на један циљни језик.
POST https://api.translateapi.ai/api/v1/translate/
захт› ијевано тело
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
text |
string | Да. | Текст за превођење (максимум 50.000 знакова) |
target_language |
string | Да. | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Не. | Source language code. Default: "auto" (auto-detect) |
engine |
string | Не. | Мотор превођења: „ ауто “ (подразум› ијевано), „ прилогно лице “ или „ мадлад “. Погледајте моделе превођења. модели превођења. |
* Користи target_language (ниска) за један језик или target_languages (масив) за вишеструке. Види Преведи вишеструки.
Одговор
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language или га поставите на "auto" да аутоматски открије изворни језик. Откривени језик се враћа на source_language Поље одговора.
Преведи вишеструки
Преведи текст на више језика у једном захт› јеву. Користи исти крајњи крај као један превод.
POST https://api.translateapi.ai/api/v1/translate/
захт› ијевано тело
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Користи target_languages (масив) уместо target_language (ниска) за више циљева.
Одговор
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Пакетни превод
Преведите више текста одједном помоћу синхронизације. Пошаљите серију и анкету за резултате.
POST https://api.translateapi.ai/api/v1/translate/batch/
Корак 1: предај пакетно
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"
}'
Одговор (ХТТП 202 прихваћен)
{
"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: анкета резултата
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Пример анкетирања (Питон)
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)
Одзив (допуњен)
{
"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
}
}
праћење напретка у реалном времену
| Поље | Опис |
|---|---|
status |
pending (Куеуед, чекајући за ГПУ радник), processing (активно превођење), completed, failed |
processed_texts |
Број до сада завршених појединачних превода. Ажурирања у реалном времену док се сваки текст преводи. |
progress_percentage |
Проценат допуне (0- 100). Израчунато из обрађених_ текста / укупног_ текста. |
queue_position |
Положај у реду када је стање „ пендеринг “ (1 = следећи). Нул при обрађивању или довршавању. Користите ово да процените време чекања и приказује стање реда корисницима. |
processing_time |
Укупно време обраде у секунди (доступно по завршетку). |
пакет вишејезичког
Преведи више текста на више језика одједном:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Завршени резултати_ података
{
"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
}
Захт› јев параметара
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
texts |
array | Да. | Превођење низова |
target_language |
string | Да. | Код циљног језика за један језик |
target_languages |
array | Да. | Пренос циљних кодова језика за више језика |
source_language |
string | Не. | Source language code. Default: "auto" |
* Осигурајте било target_language или target_languages, не обоје.
Најбоље праксе за велике радне оптерећења
- Пошаљи 1 циљни језик по пакетном захт› јеву. Ово држи сваку партију брзо и олакшава праћење.
- Држите пакете на 50-100 текста. Мањи пакети довршавају брже и дају вам чешће ажурирање напретка.
- Пошаљите колико год вам је потребно пакетних послова — наше ГПУ кластера аутоматске скале за руковање потражњом. Посао се обрађује паралелно у више случајева.
- При прекиду рада, поновите исти идентификатор уместо подношења нове серије. Оригинални посао може и даље да се обрађује на ГПУ‐ у.
- Прати сваких 3-5 секунди, чешће анкете не убрзавају обраду.
Превођење документа
Преводи целе документе при сачувању форматирања. Подржава вишеструке формате фајлова.
POST https://api.translateapi.ai/api/v1/translate/document/
Захт› јев (мултипартални/формални подаци)
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
file |
file | Да. | Документ који се преводи (максимум 10МБ) |
target_language |
string | Да. | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Не. | Source language code. Default: "auto" (auto-detect) |
подржани типови фајлова
Документи
.txt- Обични текстуални фајлови.docx- Речни документи.pdf- ПДФ документи (укључујући и скениране)
& Локализација података
.json- ~@ ¦ЈСОН¦JSON¦ фајлови (вредности ниске преводи).xml- ~@ ¦ИксМЛ¦XML¦ фајлови.srt- Фајлови поднаслова.po/.pot- Добављање текстуалних преводилачких фајлова
Слике (ОЦР)
.jpg/.jpeg- ЈПЕГ слике (ОЦР).png- ПСИП слике (ОЦР).tiff/.tif- ТИФФ слике (ОЦР).bmp- БМП слике (ОЦР).webp- ~@ ¦ВебП¦WebP¦ слике (OCR)
Пример (цУРЛ)
# 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"
Одговор
{
"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}/
Пров› јерите стање превода документа или дохватите УРЛ преузимања.
Вредности стања
pending |
Фајл послат, чека да се обради |
processing |
Превод у току |
completed |
Превођење завршено, преузимање доступно |
failed |
Превођење није усп› јело (пров› јери грешку_ поруке) |
подржани језици
Добавља списак свих подржаних језика.
GET https://api.translateapi.ai/api/v1/translate/languages/
Одговор
{
"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"},
...
]
}
модели превођења
Користимо најмодерније моделе превођења отвореног извора који раде на нашој ГПУ инфраструктури. Сви модели су комерцијално овлашћени (Апаче 2.0).
| Модел | језици | Најбоље за |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ парова језика | Заједнички језици (EN, ES, FR, DE, IT, PT, RU, ZH, JA, итд.) |
| Google MADLAD-400 | 400+ језика | Ретки језици, свеобухватна покривеност |
АПИ аутоматски бира најбољи модел за ваш пар језика. Опционо можете задати један engine параметар:
| мотор | Опис |
|---|---|
"auto" |
Подразум› ијевано. Покушава прво ХуггингФаце, пада назад на МАДЛАД-400 |
"huggingface" |
Притисни лице/МаријанМТ (најбрже, 50+ језика) |
"madlad" |
Приморај МАДЛАД-400 (400+ језика) |
Рашчлањивање грешака
АПИ користи стандардне ХТТП кодове стања за указивање успеха или неуспеха.
| Кôд | Опис |
|---|---|
| 200 | Усп› јех |
| 202 | Усп› јешно прихваћено — пакетни посао у реду |
| 400 | Лош захт› јев — неисправни параметри (недостаје текст, неподржан језик итд.) |
| 401 | Неовлашћен — неисправан или недостаје АПИ кључ |
| 402 | Неопходно је плаћање — знаковни кредити исцрпљени. Надоградите план или купите врхунски. |
| 403 | Забрањено — АПИ кључу недостаје неопходни опсег или ИП није у белој листи |
| 503 | Сервис недоступан — привремено искључен превођачки мотор |
Формат одговора на грешку
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Ограничења за коришћење
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:
| План | Знакови/м› јесец | Пакетно АПИ | Документи | цена | |
|---|---|---|---|---|---|
| слободни | 250,000 | — | — | $0 | Слободно се пријави |
| Покретач | 2,500,000 | $9/мо | Претплати се | ||
| Проф. | 10,000,000 | $29/мо | Претплати се | ||
| пословни | 40,000,000 | $79/мо | Претплати се | ||
| Скалирај | 125,000,000 | $199/мо | Претплати се | ||
| Enterprise | Unlimited | $499/мо | Contact Sales |
Када пређете границу, добићете 402 Payment Required Одговор до следећег месеца или надоградите.
Инфраструктура облака за аутоматско скалирање
Преводи АПИ ради на посвећеним примерцима ~@ ¦НВИДИА А100¦GPU¦ са аутоматским хоризонталним скалирањем. Када се захт› јев повећава, додатни примерци ГПУ‐ а се покрећу у року од минута за одржавање времена брзог одговора. Сви захт› јеви су у реду и обрађени — пошаљи стотине истовремених захт› јева и сви ће бити обрађени. Преводи у реално време добију приоритет, пакетни процес рада у позадини.
Потребно више кредита?
Понестало нам је знакова у месецу? Приказ врхунски пакети