Senedler

Biziň ýönekeý REST API bilen programmalaryňyza güýçli terjimeleri birleşdiriň.

Başlanç

TranslateAPI 180+ diller arasyndaky metinleri terjime etmek üçin ýönekeý bir REST interfeýsini hödürleýär. Hepsi API soň noktalary JSON jogaplary gaýtarýar.

Esas URL: https://api.translateapi.ai/api/v1/
Tiz Başlanç

Ilkinji terjime islegiňizi ediň:

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!"
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add(
            "Authorization", "Bearer YOUR_API_KEY"
        );

        var content = new StringContent(
            JsonConvert.SerializeObject(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 = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);
        Console.WriteLine(data.translated_text);  // "Hola, mundo!"
    }
}

Tanyşdyrma

Siziň soraglaryňyzy bir API adyny ulanyp ykrar ediň. Siz öziňizden API adyny döredip bilersiňiz daş taby.

Header Authentication (Recommended)
Authorization: Bearer ta_your_api_key_here
Sorag Parametrleri
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
API açarlaryňy gorap sakla! Olary ulanyjy tarapy kodda ýa-da halk repozytorynda açma.

Metini Terjime Et

Metini bir maksat diline terjime et

POST https://api.translateapi.ai/api/v1/translate/
Sorag Bedeni
Parametr _Typ: Islendik _Çykar
text string Terjime ediljek metin (maksimum 50,000 karakter)
target_language string Eý* Target language code (e.g., "es", "fr", "de")
source_language string _Ýok Source language code. Default: "auto" (auto-detect)

Ullan target_language (string) for single language or target_languages (array) multiple for. See Birnäçe maksatly terjime.

Jawa
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Birnäçe maksatly terjime

Metini bir soragda birnäçe dillere terjime et. Aynı son noktasını tek terjime olarak kullanır.

Ulylyk: Siz bir soragda 50 dilde terjime edip bilersiňiz.
POST https://api.translateapi.ai/api/v1/translate/
Sorag Bedeni
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Ullan target_languages (array) yerine target_language (string) multiple targets for

Jawa
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}

Terjime

Birnäçe metinleri bir wagtyň özünde asynch işleme bilen terjime et. Bir bölek we netijeler üçin soragy iber.

Limitler: 500 metin bir bölekde, 750 metin bir bölekde (metinler × maksat dilleri). Işler işlemek başlanandan soň 30 minut geçýär (wagt saýlanmaýar).
İşleýiş wagty dillere görä üýtgeýär: meşhur diller (Ispança, Fransuzça, Almança, we ş.m.) tiz modelleri ulanýar (~0.1s bir metin üçin), az meşhur diller bolsa biziň uly köp dilli modelimizi ulanýar (~1-3s bir metin üçin). 100 metinden ybarat bir bölek 10-30 sekunt içinde meşhur diller üçin, ýa-da 2-5 minutda az meşhurlar üçin tamamlanýar. Iň gowy netijeler üçin, bir bölek islegde 1 maksat dili iberiň we bölek ululygyny 50 metinden az saklaň.
POST https://api.translateapi.ai/api/v1/translate/batch/
1-nji ädim:
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"
}'
Jawa
{
    "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-nji ädim: netijeler üçin soraň
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Polling Example (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"Completed: {processed}/{total} texts in {result.get('processing_time', 0):.1f}s")
        translations = result["result_data"]["translations"]
        break
    elif status == "failed":
        print(f"Failed at {processed}/{total}: {result.get('error_message', 'unknown')}")
        raise Exception(result.get("error_message", "Translation failed"))
    elif status == "pending":
        queue_pos = result.get("queue_position", "?")
        print(f"Queued (position {queue_pos}) — waiting for GPU worker...")
    else:
        print(f"[{status}] {processed}/{total} ({progress:.0f}%)")

    time.sleep(3)
Jawa (wagtlaýyn — nobatda, GPU üçin garaşýar)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
jogap (işleniş wagty)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
Jawa (bitdi)
{
    "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
    }
}
Işiň Ykjarnykly Ýönedilşini Gözle

Her bir soragyň jogaplary hakykatdanam wagtyň ilerleme meýdançalaryny içer, sebäbi siz öz toparyňyz bilen hakykatdanam näme bolup geçýänini gözläp bilersiňiz:

Faýl _Çykar
status Häzirki iş ýagdaýy: pending (gpu işçini garaşyp, nobatda), processing (aktiv terjime), completed, failed
processed_texts Häzirçe tamamlanan terjimeleriň sany. Her bir metin terjime edilende hakyky wagtda täzelenýär.
total_texts Bu bölekdäki terjimeleriň jemi sany (metinler × maksat dilleri).
progress_percentage Taýýarlyk göterimi (0-100). processed_texts / total_texts'den hasaplanýar.
queue_position "wagtlaýyn" (1 = ýene bir gezek) ýagdaýynda nobatdakyda siziň ýerleşdirmäňiz. işleme ýa tamamlananda boş. Buny garaşmak wagtyny hasaplamak we ulanyjylaryňyza nobatdakynyň ýagdaýyny görkezmek üçin ullan.
processing_time Sekundiň içinde jemleýji işleme wagty (dogry tamamlanandan soň elýeterli).
_Täze Ulançy _Wagt status _Işle "pending", GPU işçileri başga bölekler bilen meşgul. Barla queue_position Sizden näçe iş öňdedigini görmek üçin (1 = siz soňsunuz). Sizin işiňiz awtomatik başlar — hiç bir herekete gerek ýok, diňe soramagy dowam etdiriň.
Beýik iş ýükleri üçin iň gowy usul
  • Bir bölek soraga 1 maksat dili iber. Bu her bir bölek çalt saklaýar we ilerleme gözlemek aňsatlaşdyrýar.
  • 50-100 metinden bölekler sakla. Kiçi bölekler tiz tamamlanýar we size has köp dowamly täzeleme berýär.
  • Ençeme 2 bir wagtyň içinde batch işleri işlet. GPU 2 batchleri paralel işledýär - goşmaça işler nobatda durýar we çalt başlamaz.
  • Zaman aşan wagty, täze bir bölek ibermek yerine şol bir iş_idni tekrar sora. Asly iş GPUda hala işlenip durmak mümkin.
  • Her 3-5 sekuntda sora. Çogalyp soramak işleme çaltlaşdyrmaz.
Birnäçe Diller

Birnäçe metinleri birnäçe dillere terjime et:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
_Soňky netije
{
    "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
}
Sorag Parametrleri
Parametr _Typ: Islendik _Çykar
texts array Terjime ediljek zanlaryň arşiwi
target_language string Eý* Bir dil üçin maksat diliniň ködi
target_languages array Eý* Birnäçe diller üçin maksat diliniň ködleriniň arşiwi
source_language string _Ýok Source language code. Default: "auto"

* Ikisinden birini ber target_language ýa target_languages, ikisi hem däl.

Async Processing: Batch soraglar derhal a bilen gaýtýarlar job_id. Düýp GET /api/v1/jobs/{job_id}/ töweregi status meňzeş "completed", soňra oka result_data Ullan progress_percentage progress to track

Sened Terjime

Senediň ählisini terjime et we formatlamagy sakla. Birnäçe faýl formatlary goldaýar.

POST https://api.translateapi.ai/api/v1/translate/document/
Sorag (birnäçe bölekli/form-data)
Parametr _Typ: Islendik _Çykar
file file Terjime ediljek sened (maksimum 10MB)
target_language string Target language code (e.g., "es", "fr", "de")
source_language string _Ýok Source language code. Default: "auto" (auto-detect)
Saýlanan faýl görnüşleri
  • .txt - Kadaly metin faýllary
  • .docx - Word senedleri
  • .pdf - PDF senedler (skan edilişi bilen)
  • .json - JSON faýllary (gat mykdarlary terjime edýär)
  • .xml - XML faýllary
  • .srt - Subtitles faýllary
  • .po / .pot - Terjime faýllary
  • .jpg / .jpeg - JPEG Resimler
  • .png - PNG Resimler
  • .tiff / .tif - TIFF Resimler
  • .bmp - BMP resimler
  • .webp - WebP Resimler
OCR goldawy: Resim faýllary we skan edlen PDF'ler terjimeden öň metini çykarmak üçin optiki karakter tanamak (OCR) bilen işlenilýär. Iň gowy netijeler üçin, açyk, ýokary çözüwlilikli resimleri ullan.
Mysal (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"
Resim faýllary terjime edilmezden öň metini çykarmak üçin OCR bilen işlenilýär. Terjime edilen çykdajy bir .txt faýl
Jawa
{
    "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"
}
Durum Mykdarlary
pending Faýl ýüklendi, işlemek üçin garaşýar
processing Terjime edilýär
completed Terjime tamamlandy, indi indirmek mümkin
failed Terjime hata boldy (check error_message)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Bir senediň terjime halyny barla ýa-da URL'i ýükle.

Jawa
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

Dil Aýdyşy

Set source_language to "auto" (ýa-da goýber) we tapylan dil jogapda gaýtarylýar.

POST https://api.translateapi.ai/api/v1/translate/
Sorag Bedeni
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Jawa
{
    "translated_text": "Hello, how are you?",
    "source_language": "fr",
    "target_language": "en",
    "translations": {
        "en": "Hello, how are you?"
    },
    "character_count": 28,
    "translation_time": 0.52
}

_Dur source_language bu meýdança jogapda awtomatik tapmak ulanylanda tapylan dili görkezer.

Saýlanan Diller

Ehli goldanýan dilleriň sanawyny al.

GET https://api.translateapi.ai/api/v1/translate/languages/
Jawa
{
    "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"},
        ...
    ]
}

Terjime

Biz öz GPU infrastrukturamyzda işleýän iň täze açyk çeşme terjime modellerini ulanýarys. Hepsi modeller söwda lisenziýasyna eýedir (Apache 2.0).

Mody Diller Saýlawlar
Helsinki-NLP/opus-mt 50+ dil Umumy diller (EN, ES, FR, DE, IT, PT, RU, ZH, JA, we ş.m.)
Google MADLAD-400 Diller Nadir diller, giňişleýin örtgi

API özüçe siziň diliňiz üçin iň gowy modely saýlar. Siz islendik modeli bellep bilersiňiz. engine parametr:

Enjam _Çykar
"auto" Öň bellenen. Öň HuggingFace'i synla, soň MADLAD-400'e gaýt
"huggingface" HuggingFace/MarianMT-ni mejbur et (en çalt, 50+ dil)
"madlad" Force MADLAD-400 (400+ dil)

Hata Dolandyryjy

API üstünlik ýa-da betbagtçylygy görkezmek üçin standart HTTP hal kody ulanýar.

Kod _Çykar
200 Başgaça
400 Erbet soragy - ýalan parametrler
401 Ýagtylanmadyk - ýalňyş ýa-da ýok API adyny görkez
402 Ödemek Gerek - Her günki karkater kvotasy aşyldy
429 Ençeme soraglar - tizlik çäkden aşyldy
503 Hizmet elýeterli däl - terjime enjamy wagtlaýyn çökdi
Hata jogap hili
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Raýt çäkleri

Limitler plandan plana üýtgeýär. Seret pricing details:

Plan Karakterler/Aý Nyrhy
Boş 250,000 $0 Beýiklik
Başlançy 2,500,000 $9/ms Abon et
Pro 10,000,000 $29/ms Abon et
40,000,000 $79/ms Abon et
_Öňki 125,000,000 $199/ms Abon et

Siziň çäkiňizi aşsaňyz, siz bir 429 Too Many Requests response until next month or you upgrade.

Auto-Scaling Cloud Infrastructure

TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. This means our API can handle virtually unlimited concurrent requests without degradation — from a single request to thousands per minute.

Bu sahypany bahala
Reýtingiňiz üçin minnetdarlyk!
/5 esaslanan bahalar