API құжаттамасы

Біздің қарапайым REST API көмегімен қолданбаларға күшті аудармаларды енгізіңіз.

Бастау

TranslateAPI мәтіндерді 180- ден астам тілге аудару үшін қарапайым REST интерфейсін ұсынады. Барлық API аяқтау нүктелері JSON жауаптарын қайтарады.

1. API кілтін алу

Тіркелгіні құрып, API кілтін басқару панелінен құрыңыз:

  1. Жазылу translateapi.ai/signup
  2. Келесіге өту Аспаптар панеліComment → API кілттер
  3. "API кілтін құру" дегенді басып, кілтіңізді көшіріп алыңыз

API кілттер басталуы ta_ содан кейін 56 оналтылық таңба.

Негізгі URL: https://api.translateapi.ai/api/v1/
2. Бірінші сұранысыңыз

YOUR_ API_ KEY дегенді басқару панеліндегі кілтпен алмастыру:

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 кілті арқылы аутентификациялау. Сіз өзіңіздің басқару панелі.

Айдар аутентификациясы (Жәрдемдесу)
Authorization: Bearer ta_your_api_key_here
API кілт айдары
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 Жоқ Аудару тетігі: "auto" (әдетті), "huggingface" немесе "madlad". Аудару үлгілерін қараңыз. Аудару үлгілері.

* Пайдалану target_language (string) бір тіл үшін немесе 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 Бірнеше мақсаттар үшін (string).

Жауап
{
    "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. 1с/ мәтін). Еш қолданылмайтын тілдер көп тілді үлгіні қолданады (~1- 3с/ мәтін).
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 (кезегі, GPU жұмысшысын күтуде), processing (активті аудару), completed, failed
processed_texts Қазірге дейін орындалған жеке аудармалар саны. Әрбір мәтін аударылған сайын жаңартылып отырады.
progress_percentage Аяқталу пайызы (0- 100). processed_ texts / total_ texts бойынша есептеледі.
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, екеуі де емес.

Үлкен жүктемелер үшін ең жақсы тәжірибелер
  • Бір тапсырма үшін бір тіл жіберілсін. Бұл әрбір тапсырманы жылдам етіп, орындалуын қадағалауды жеңілдетеді.
  • 50- 100 мәтіннен тұратын дестелерді сақтаңыз. Кішірек дестелер тезірек аяқталады және орындалу барысын жиірек жаңартады.
  • Негізгі процессордың кластері қажеттілікке қарай автоматты түрде масштабталады. Тапсырмалар бірнеше данасы арқылы параллельді түрде өңделеді.
  • Күту уақыты аяқталғанда, жаңа тапсырма пакетін жіберудің орнына сол job_ id үшін қайта сұрау. Бастапқы тапсырма әлі де графикалық процессорда өңделуі мүмкін.
  • Әрбір 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 - Word құжаттары
  • .pdf - PDF құжаттары (сканерлеу де кіреді)
Деректер мен елдеу
  • .json - JSON файлдары (жол мәндерін аударады)
  • .xml - XML файлдары
  • .srt - Субтитр файлдары
  • .po / .pot - Gettext аударма файлдары
Кескіндерді (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"
}
OCR қолдауы: Кескін файлдары мен сканерлеуден өткен PDF файлдары аударудан бұрын мәтінін шығару үшін оптикалық таңбаны танумен өңделеді. Ең жақсы нәтижеге жету үшін, ажыратымдылығы жоғары, анық суреттерді қолданыңыз.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Құжаттың аудармасының күй- жайын тексеру немесе жүктеп алу URL- сілтемесін алу.

Күй- жай мәндері
pending Файл жүктеп берілді, өңдеуді күтуде
processing Аударуда
completed Аударма аяқталды, жүктеп алу мүмкін
failed Аудару жаңылысы (error_ message тексеру)

Қолданатын тілдер

Қолдау табатын тілдер тізімі.

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 тілдерді қарау

Аудару үлгілері

Біз өз GPU инфрақұрылымымызда жұмыс істейтін ең соңғы ашық кодты аударма модельдерін қолданамыз. Барлық модельдер коммерциялық лицензиямен (Apache 2. 0) берілген.

Үлгі Тілдер Ең қолайлысы
Helsinki-NLP/opus-mt 50+ тіл жұбы Жалпы тілдер (EN, ES, FR, DE, IT, PT, RU, ZH, JA, т.б.)
Google MADLAD-400 400+ тіл Жетіспейтін тілдер, толық қамтылу

API сіздің тіл жұбы үшін ең жақсы үлгіні автоматты түрде таңдайды. Сіз тіл жұбы параметрін келтіре аласыз engine параметрі:

Тетігі Сипаттамасы
"auto" Әдетті. Алдымен HuggingFace қолданылады, содан кейін MADLAD- 400 қолданылады
"huggingface" HuggingFace/MarianMT-ті мәжбүрлеу (ең жылдам, 50+ тіл)
"madlad" Force MADLAD-400 (400+ тілдер)

Қателерді өңдеу

API сәтті немесе сәтсіздікті көрсету үшін стандартты HTTP күй- жай кодтарын қолданады.

Код Сипаттамасы
200 Сәттілік
202 Қабылданды - дестелік тапсырма сәтті кезекке қойылды
400 Жарамсыз сұрау — Жарамсыз параметрлер (мәтін жоқ, қолдауы жоқ тіл, т. б.)
401 Рұқсат етілмеген - API кілті дұрыс емес не жоқ
402 Қолданбаны жаңарту керек — Таңбалар кредиті бітті. Бағдарламаңызды жаңартыңыз немесе қосымшасын сатып алыңыз.
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 графикалық процессорының данасында орындалады. Талап артқанда, қосымша графикалық процессордың данасы минуттар ішінде жегіліп, жауап беру уақытын тездетеді. Барлық сұраныстарды кезекке қояды да өңдейді - бір мезгілде жүздеген сұраныс жіберсеңіз, олардың барлығы өңделеді. Тікелей аударма артықшылық алады, пакеттік тапсырмалар фонында өңделеді.

Кредиттер керек пе?

Айдың ортасына дейін таңбаларыңыз бітіп қалды ма? Бір реттік кредитті сатып алып, жоспарыңызды өзгертпей-ақ қоя беріңіз. Қосымша дестелерді көрсету

Парақты бағалау
Бағалағаныңыз үшін рахмет!
/5 негізінде Бағалау