API документација

Интегрирајте моќен превод во вашите апликации со нашиот едноставен REST API.

Започнување

Во TranslateAPI се обезбедува едноставен REST интерфејс за преведување на текст меѓу 180+ јазици. Сите API крајни точки ги враќаат JSON одговорите.

1. Земи си го API клучот

Креирајте бесплатна сметка и генерирајте го вашиот API клуч од таблата со инструменти:

  1. Пријавете се. translateapi.ai/signup
  2. Оди на Табла со табла → API- тастери
  3. Кликнете на „ Креирај API- клуч“ и копирајте го вашиот клуч

API копчињата почнуваат со ta_ По него следат 56 хекс знаци.

Основен URL: 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
}

Аутентификација

Автентифицирајте ги вашите барања користејќи API- клуч. Може да креирате API клучеви од вашите копчиња Табла со табла.

Автентификација на заглавјето (препорачана)
Authorization: Bearer ta_your_api_key_here
АпиКеј заглавје
Authorization: ApiKey ta_your_api_key_here
Параметр за испрашување
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Држете ги вашите API клучеви безбедни! Не ги разоткривајте во кодот на клиентот или јавните складишта.

Преведи текст

Преведи го текстот на еден од целите.

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
}
Совет: Можеш да преведеш до 50 јазици во едно барање.

Пакетен превод

Преведи повеќе текстови одеднаш со синхронизација. Пренеси го пакетот и анкетирај за резултати.

Ограничувања: Макс. 100 текстови по серија, макс. 300 вкупни ставки (текстови × целни јазици). Работните места се намалат 45 минути по започнувањето на процесот.
Брзина: Заедничките јазици (ES, FR, DE) користат брзи модели (~0.1s/text). Помалку вообичаени јазици користат нашиот многојазичен модел (~1-3s/text).
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"
}'
Одговор (HTTP 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}/
Пример за анкетирање (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)
Одговор (довршен)
{
    "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 одреден јазик по барање за партида. Ова ја одржува секоја партида брзо и прави напредок лесен за следење.
  • Помалите серија завршуваат побрзо и ви даваат почесто ажурирање на напредокот.
  • Поднесете колку што ви треба — нашите GPU кластери автоматски маштаби за справување со побарувачката. Работата се обработува паралелно во повеќе случаи.
  • При тајм- аут, повторно пополнете го истиот job_ id наместо да испратите нова серија. Оригиналната задача можеби сѐ уште се обраќа на GPU.
  • Почестите анкети не го забрзуваат процесот.

Преведување на документ

Преведување на цели документи при зачувување на форматирањето. Подржува повеќе формати на датотеки.

POST https://api.translateapi.ai/api/v1/translate/document/
Барање (многу делови/формални податоци)
Параметр Тип Неопходно Опис
file file Да. Документот за преведување (максимум 10MB)
target_language string Да. Target language code (e.g., "es", "fr", "de")
source_language string Не. Source language code. Default: "auto" (auto-detect)
Поддржани типови на датотеки
Документи
  • .txt - Обични текстуални датотеки
  • .docx - Речни документи
  • .pdf - PDF документи (вклучително и скенирани)
& Локализација на податоци
  • .json - JSON датотеки (вредности на низите во преведување)
  • .xml - XML датотеки
  • .srt - Датотеки со субтитри
  • .po / .pot - Датотеки со преведување на текст
Слики (OCR)
  • .jpg / .jpeg - JPEG слики (OCR)
  • .png - PNG слики (OCR)
  • .tiff / .tif - TIFF слики (OCR)
  • .bmp - BMP слики (OCR)
  • .webp - WebP слики (OCR)
Пример (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"
Одговор
{
    "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"
}
Поддршка за ОПЗ: Датотеки со слики и скенирани PDF се обраќаат со оптичко препознавање на знаци (OCR) за да го извади текстот пред преведувањето. За најдобри резултати, користете ги сликите со јасна, висока резолуција.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Проверете го статусот на преведувањето на документот или довлечете го URL за симнување.

Вредности на статусот
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"},
        ...
    ]
}

Види ги сите 186 јазици

Модели на преведување

Сите модели се комерцијално лиценцани (Apache 2.0).

Модел Јазици Најдобро за
Helsinki-NLP/opus-mt 50+ парови на јазик Заеднички јазици (EN, ES, FR, DE, IT, PT, RU, ZH, JA итн.)
Google MADLAD-400 400+ јазици Ретки јазици, сеопфатно покривање

API автоматски го избира најдобриот модел за вашиот пар на јазик. Опционо можете да го наведете engine параметар:

Двигач Опис
"auto" Стандардно. Прво се обидува да се врати на МАДЛАД-400
"huggingface" Форсирај го лицето/МаријанМТ (најбрзо, 50+ јазици)
"madlad" Форсирај МАДЛАД-400 (400+ јазици)

Раководење со грешки

API користи стандардни HTTP- кодови за статус за да покаже успех или неуспех.

Код Опис
200 Успех
202 Прифатено — пакетна задача е успешно прифатена
400 Лошо барање — невалидни параметри (недостасува текст, неподдржан јазик итн.)
401 Неовластен - невалиден или недостасува API- клуч
402 Потребна е исплата — карактерни кредити исцрпени. Надоградете го вашиот план или купите топ-up.
403 Забрането — API- клучот недостасува потребен опсег или IP не е во белата листа
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:

План Знаци/месеци Пакетна API Документи Цена
Слободен 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 Одговор до следниот месец или ќе го надоградите.

Автоскалирање на облачната инфраструктура

TranslateAPI работи на дефинирани примероци на NVIDIA A100 GPU со автоматско хоризонтално скалирање. Кога се зголемува побарувачката, се лансираат дополнителни случаи на GPU во рок од минути за одржување на брзите одговори. Сите барања се поставени во редица и обработени — испраќаат стотици истовремени барања и сите тие ќе бидат справувани. Преведувачите во реално време добиваат приоритет, процес на пакетни задачи во позадината.

Потребни се уште заслуги?

Купувај еднократен кредит без да го смениш планот. Прикажи ги врвните пакети

Оцени ја оваа страница
Ви благодарам за оценката!
/5 базирано на рејтинг