Dokumen

Saliyané iku, basa iki uga bisa digunakaké ing aplikasi-aplikasi komputer.

Diwiwiti

TranslateAPI nawakake antarmuka REST sederhana kanggo nerjemahake teks ing antarane 180+ basa. Kabeh titik pungkasan API mbalekaké tanggapan JSON.

1. Get API Key sampeyan

Nggawé akun gratis lan ngasilake kunci API saka dashboard:

  1. Langganan ing translateapi.ai/signup
  2. Pindhah menyang Dashboard → Kunci API
  3. Klik "Create API Key" lan salin kuncimu

Kunci API wiwitan karo ta_ diikuti déning 56 aksara heks.

URL Dasar: https://api.translateapi.ai/api/v1/
2. Lakukan Panggonan Kapisan

Ngganti YOUR_API_KEY karo kunci saka dashboardmu:

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!"
Balasan
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Otentikasi

Otentikasi pitakonan sampeyan nganggo kunci API. Sampeyan bisa nyipta kunci API saka dashboard.

Otentikasi Kepala (Dianjurake)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Parameter pitakonan
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Priksa manawa kunci API sampeyan aman! Nanging, ora ana sing bisa ditemokaké ing situs-situs resmi.

Terjemahake Teks

Terjemah teks ing siji basa target.

POST https://api.translateapi.ai/api/v1/translate/
Badan pitakonan
Paramèter Tipe Diperlukan Keterangan
text string Ya Teks kanggo diterjemahake (maksimum 50,000 karakter)
target_language string Ya* Target language code (e.g., "es", "fr", "de")
source_language string Ora Source language code. Default: "auto" (auto-detect)
engine string Ora Mesin terjemahan: "auto" (piranti lunak pitados), "huggingface", utawa "madlad". Lihat Model terjemahan. Transliterasi.

* Nggunakake target_language (string) kanggo basa tunggal utawa target_languages (array) kanggo multiple. Lihat Multi-Target Translation.

Balasan
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Deteksi Otomatis: Lebet source_language utawa atur dadi "auto" kanggo kanthi otomatis ndeteksi basa sumber. Basa sing ditemokaké bakal dikembalikan ing source_language Jawaban

Multi-Target Translation

Nerjemahaké teks menyang pirang-pirang basa ing pitakon tunggal. Nggunakaké titik pungkasan sing padha kaya terjemahan tunggal.

POST https://api.translateapi.ai/api/v1/translate/
Badan pitakonan
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Nggunakake target_languages (array) ngganti target_language (string) kanggé sapérangan target.

Balasan
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Tip: Sampeyan bisa nerjemahaké nganti 50 basa ing siji panjaluk.

Pangertèn

Terjemahaké tèks kang akèh ing wektu kang padha karo pamrosesan async. Kirimi batch lan poll kanggo asil.

Batas: Maks. 100 teks saben batch, maks. 300 item (teks × basa target). Tugas timeout 45 menit sawisé pamrosesan wiwitan.
Kecepatan: Basa-basa umum (ES, FR, DE) nggunakake model cepet (~0.1s/teks). Basa-basa kurang umum nggunakake model multibasa kita (~1-3s/teks).
POST https://api.translateapi.ai/api/v1/translate/batch/
Step 1: Submit Batch
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"
}'
Balasan (HTTP 202 Diterima)
{
    "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/"
}
Langkah 2: Poll for Results
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Contoh Polling (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)
Balasan (karampungan)
{
    "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
    }
}
Real-Time Progress Tracking
Lapangan Keterangan
status pending (ing gulungan, ngarep-arep GPU worker), processing (aktif nerjemahake), completed, failed
processed_texts Jumlah terjemahan individu sing wis rampung nganti saiki. Dioptimalake ing wektu nyata nalika saben teks diterjemahaké.
progress_percentage Persentase rampung (0-100). Dikalkulake saka processed_texts / total_texts.
queue_position Posisi sampeyan ing gulungan nalika status "ngadhepi" (1 = sabanjuré). Null nalika diproses utawa rampung. Gunakaké iki kanggo ngitung wektu ngenteni lan nyritakaké status gulungan marang pangguna.
processing_time Total wektu pamrosesan ing detik (bisa nalika rampung).
Multi-Basa Batch

Terjemahaké akèh teks menyang akèh basa bebarengan:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Hasil_data rampung
{
    "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
}
Parameter pitakonan
Paramèter Tipe Diperlukan Keterangan
texts array Ya Array strings kanggo diwaca
target_language string Ya* Kode basa target kanggo basa tunggal
target_languages array Ya* Array saka kodhe basa target kanggo pirang-pirang basa
source_language string Ora Source language code. Default: "auto"

* Nyawiji salah sijine target_language utawa target_languages, ora loro.

Best Practices for Large Workloads
  • Kirim 1 basa target saben panjaluk batch. Iki tetep saben batch cepet lan ndadèkaké kemajuan gampang dilacak.
  • Njaga batches ing 50-100 teks. Batches sing luwih cilik rampung luwih cepet lan menehi sampeyan pembaharuan kemajuan sing luwih asring.
  • Sebar akèh tugas batch kaya sing dibutuhaké - GPU cluster kita otomatis-skala kanggo ngontrol permintaan. Tugas diproses kanthi paralel liwat pirang-pirang instansi.
  • Nalika timeout, polling maneh job_id kang padha tinimbang ngirim batch anyar. Tugas asli bisa isih diproses ing GPU.
  • Polling saben 3-5 detik. Polling kang luwih kerep ora bakal ningkataké pamrosesan.

Dokumen

Nerjemahaké kabèh dokumèn kanthi nglestariaké formating. Ndukung macem-macem format file.

POST https://api.translateapi.ai/api/v1/translate/document/
Panggonan (multipart/form-data)
Paramèter Tipe Diperlukan Keterangan
file file Ya Dokumen kang kudu disalin (maksimum 10MB)
target_language string Ya Target language code (e.g., "es", "fr", "de")
source_language string Ora Source language code. Default: "auto" (auto-detect)
Tipe Berkas sing Didhukung
Dokumen
  • .txt - Berkas teks biasa
  • .docx - Dokumen Word
  • .pdf - Dokumen PDF (kalebu sing wis disain)
Data & Lokalisasi
  • .json - Berkas JSON (ngerjemahake nilai string)
  • .xml - XML
  • .srt - Berkas subtitle
  • .po / .pot - Berkas terjemahan Gettext
Gambar (OCR)
  • .jpg / .jpeg - JPEG (OCR)
  • .png - Gambar PNG (OCR)
  • .tiff / .tif - Gambar TIFF
  • .bmp - Gambar BMP (OCR)
  • .webp - Gambar WebP (OCR)
Conto (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"
Balasan
{
    "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"
}
Dukungan OCR: Berkas gambar lan PDF sing dipindai diproses nganggo optical character recognition (OCR) kanggo ngekstrak teks sadurunge terjemahan. Kanggo asil paling apik, gunakake gambar kang jelas, resolusi dhuwur.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Priksa status terjemahan dokumèn utawa njaluk URL ngunduh.

Nilai Status
pending Fayl diundhuh, ngarep-arep diproses
processing Pangertèn
completed Terjemahan rampung, unduh kasedhiya
failed Penerjemahan gagal (cek error_message)

Basa kang didhukung

Njupuk dhaptar saka kabèh basa sing didhukung.

GET https://api.translateapi.ai/api/v1/translate/languages/
Balasan
{
    "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 basa

Transliterasi

Kita nggunakake model terjemahan sumber terbuka paling anyar sing dioperasikaké ing infrastruktur GPU kita dhewe. Sampeyan model lisensi komersial (Apache 2.0).

Model Basa Paling apik kanggo
Helsinki-NLP/opus-mt 50+ pasangan basa Tembung-tembung ing basa Inggris (EN, ES, FR, DE, IT, PT, RU, ZH, JA, lsp.)
Google MADLAD-400 400+ basa Basa Indonésia, basa kang paling akèh dipigunakaké.

API kanthi otomatis milih model kang paling apik kanggo pasangan basamu. Sampeyan bisa nyedhiyani pilihan engine Paramèter:

Mesin Keterangan
"auto" Panggonan piawai. Ngupaya HuggingFace pisanan, bali menyang MADLAD-400
"huggingface" Force HuggingFace/MarianMT (paling cepet, 50+ basa)
"madlad" Dhèwèké duwé 400+ lagu.

Ngatur Kesalahan

API iki nggunakake kode status HTTP standar kanggo nyritakaké sukses utawa gagal.

Kode Keterangan
200 Sukses
202 Diterima — tugas batch wis sukses diunggah ing gulungan
400 Panggonan ora bener - Paramèter ora sah (teks kang ilang, basa kang ora didhukung, lsp.)
401 Ora sah - Kunci API ora sah utawa ilang
402 Pembayaran Diperlukan — Karakter kredit wis rampung. Upgrade rencanamu utawa tuku tambahan.
403 Dilarang — Kunci API ora ana ing skop sing dibutuhake utawa IP ora ana ing daftar putih
503 Service Unavailable - Translation engine temporarily down
Format Balasan Kesalahan
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Batas Pangguna

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:

Planit Karakter/wulan Batch API Dokumen Regane
Bebas 250,000 $0 Sign Up Free
Starter 2,500,000 $9/mnt Langganan
Pro 10,000,000 $29/mnt Langganan
Bisnis 40,000,000 $79/mnt Langganan
Skala 125,000,000 $199/mnt Langganan
Enterprise Unlimited $499/mnt Contact Sales

Nalika sampeyan ngluwihi watesan, sampeyan bakal nampa 402 Payment Required respon nganti wulan sabanjuré utawa sampeyan nganyari.

Infrastruktur awan kanthi otomatis-skala

TranslateAPI dijalanaké ing instansi GPU NVIDIA A100 kanthi skala horisontal otomatis. Nalika panjaluk tambah, instansi GPU tambahan diluncuraké sajrone menit kanggo njaga wektu tanggapan cepet. Sedaya pitakonan diurutake lan diproses — kirim ratusan pitakonan sing padha lan bakal ditangani. Penerjemahan real-time entuk prioritas, proses tugas batch ing latar mburi.

Keperluan kredit luwih?

Ketok karakter ing tengah wulan? Tuku kredit tambahan siji-wektu tanpa ngganti rencanamu. Papan top-up

Rangking kaca iki
Matur nuwun kanggé rating sampeyan!
/5 dumadi saka ratings