Ka palapala API

Hoʻohui i ka hoʻololi ikaika i kāu mau noi me kā mākou REST API maʻalahi.

E hoʻomaka ana

ʻO ka TranslateAPI e hāʻawi ana i kahi interface REST maʻalahi no ka hoʻololi ʻana i nā huaʻōlelo ma waena o nā ʻōlelo 180+.

1. Get Your API Key

Create a free account and generate your API key from the dashboard:

  1. Sign up at translateapi.ai/signup
  2. Go to Dashboard → Nā kī API
  3. Click "Create API Key" and copy your key

API keys start with ta_ followed by 56 hex characters.

URL kumu: https://api.translateapi.ai/api/v1/
2. Make Your First Request

Replace YOUR_API_KEY with the key from your dashboard:

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

Ka hoʻomanaʻo

E hōʻoia i kāu noi e hoʻohana ana i kahi kī API. Hiki iā ʻoe ke hana i nā kī API mai kāu Dashboard.

Hōʻoiaʻiʻo Hōʻailona (Hoʻohanohano)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Parameter Query
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
E mālama i kāu mau kī API palekana! ʻAʻole e hōʻike iā lākou i ke kānāwai client-side a i ʻole nā ​​ʻaoʻao lehulehu.

Hoʻololi i ka hua'ōlelo

Hoʻololi i ka hua'ōlelo i loko o kahi'ōlelo kikokikona.

POST https://api.translateapi.ai/api/v1/translate/
Ke kino o ka noi
Parameter ʻAno Pono Ka wehewehe ʻana
text string ʻAe Ka hua'ōlelo e hoʻohuli (max 50,000 characters)
target_language string ʻAe* Target language code (e.g., "es", "fr", "de")
source_language string ʻAʻole Source language code. Default: "auto" (auto-detect)
engine string ʻAʻole Translation engine: "auto" (default), "huggingface", or "madlad". See Translation Models. Pākuʻi.

Hoʻohana target_language (string) no ka'ōlelo wale nō a iʻole target_languages (array) no ka nui. E nānā Multi-Target Translation.

Ka pane
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Auto-Detection: Omit source_language or set it to "auto" to automatically detect the source language. The detected language is returned in the source_language response field.

Multi-Target Translation

Hoʻohuli i ka hua'ōlelo i nā'ōlelo he nui i loko o kahi noi hoʻokahi. Hoʻohana i ka hopena like e like me ka hoʻohuli hoʻokahi.

POST https://api.translateapi.ai/api/v1/translate/
Ke kino o ka noi
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Hoʻohana target_languages (array) e like me target_language (string) no nā pahuhopu he nui.

Ka pane
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Lūkini: Hiki iā ʻoe ke hoʻohuli i nā ʻōlelo he 50 i kahi noi hoʻokahi.

Hoʻololi

Hoʻohuli i nā hua'ōlelo he nui i kahi manawa me ka hoʻoili async. E hoʻouna i kahi pūʻulu a me ka hoʻokolohua no nā hopena.

Limits: Max 100 texts per batch, max 300 total items (texts × target languages). Jobs time out 45 minutes after processing starts.
Speed: Common languages (ES, FR, DE) use fast models (~0.1s/text). Less common languages use our multilingual model (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
KaʻAnuʻu 1: E hoʻouna i ka pūʻulu
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"
}'
Hoʻohou (HTTP 202 Accepted)
{
    "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/"
}
KaʻAnuʻu 2: Poll no nā hopena
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"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)
Hoʻohuli (hoʻopau)
{
    "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
Field Ka wehewehe ʻana
status pending (queued, waiting for a GPU worker), processing (actively translating), completed, failed
processed_texts Number of individual translations completed so far. Updates in real time as each text is translated.
progress_percentage Completion percentage (0-100). Calculated from processed_texts / total_texts.
queue_position Your position in the queue when status is "pending" (1 = next up). Null when processing or completed. Use this to estimate wait time and show queue status to your users.
processing_time Total processing time in seconds (available when completed).
Multi-Language Batch

Hoʻololi i nā hua'ōlelo he nui i nā ʻōlelo he nui i ka manawa like:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Hoʻopau i ka data_result
{
    "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
}
Nā hua'ōlelo noi
Parameter ʻAno Pono Ka wehewehe ʻana
texts array ʻAe Hoʻololi i nā hualoaʻa
target_language string ʻAe* Koho i kahi kānāwai'ōlelo no ka'ōlelo hoʻokahi
target_languages array ʻAe* Hoʻonohonoho o nā kānāwai'ōlelo'ōlelo no nā'ōlelo he nui
source_language string ʻAʻole Source language code. Default: "auto"

* E hāʻawi paha target_language aiʻole target_languages, ʻaʻole nāʻelua.

Best Practices for Large Workloads
  • Send 1 target language per batch request. This keeps each batch fast and makes progress easy to track.
  • Keep batches at 50-100 texts. Smaller batches complete faster and give you more frequent progress updates.
  • Submit as many batch jobs as you need — our GPU cluster auto-scales to handle demand. Jobs are processed in parallel across multiple instances.
  • On timeout, re-poll the same job_id instead of submitting a new batch. The original job may still be processing on the GPU.
  • Poll every 3-5 seconds. More frequent polling does not speed up processing.

Hoʻololi i ka palapala

Hoʻololi i nā palapala a pau me ka mālama ʻana i ka hoʻohālike. E kākoʻo i nā ʻano faila he nui.

POST https://api.translateapi.ai/api/v1/translate/document/
Ka noi (multipart/form-data)
Parameter ʻAno Pono Ka wehewehe ʻana
file file ʻAe Ka palapala e hoʻololi (max 10MB)
target_language string ʻAe Target language code (e.g., "es", "fr", "de")
source_language string ʻAʻole Source language code. Default: "auto" (auto-detect)
Nā ʻano faila i kākoʻo ʻia
Documents
  • .txt - Nā faila hua'ōlelo maʻamau
  • .docx - Nā hōʻike Word
  • .pdf - Nā palapala PDF (e like me ka scanned)
Data & Localization
  • .json - Nā faila JSON (hoʻololi i nā kumukūʻai hualoaʻa)
  • .xml - Nā faila XML
  • .srt - Nā faila hua'ōlelo
  • .po / .pot - Gettext nā faila hoʻololi
Images (OCR)
  • .jpg / .jpeg - Nā kiʻi JPEG (OCR)
  • .png - Nā kiʻi PNG (OCR)
  • .tiff / .tif - Nā kiʻi TIFF (OCR)
  • .bmp - Nā kiʻi BMP (OCR)
  • .webp - Nā kiʻi WebP (OCR)
Hōʻike (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"
Ka pane
{
    "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"
}
kākoʻo OCR: Hoʻokō ʻia nā faila kiʻi a me nā PDF scanned me ka ʻike ʻana i nā huaʻōlelo optic (OCR) e hoʻokaʻawale i ka huaʻōlelo ma mua o ka hoʻololi ʻana. No nā hopena maikaʻi loa, e hoʻohana i nā kiʻi hoʻonā kiʻekiʻe.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

E nānā i ke kūlana o ka hoʻololi ʻana i ka palapala a i ʻole e kiʻi i ka URL hoʻoiho.

Nā Waihoʻoluʻu
pending Hoʻouka ʻia ka faile, e noho ana e hoʻouna ʻia
processing Hoʻololi i ka hua'ōlelo
completed Hoʻokō ʻia ka unuhi, loaʻa ka hoʻoiho
failed Haʻalele ka unuhi (hoʻāʻo error_message)

Nā'ōlelo i kākoʻoʻia

E kiʻi i ka papa inoa o nā'ōlelo a pau i kākoʻoʻia.

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

View All 186 Languages

Submit Corrections

Suggest a better translation for a given source text. Corrections enter a moderation queue; once approved by our team they surface as "Community Verified" translations for that text.

Note: this endpoint is served from the main domain https://translateapi.ai/api/v1/ (not the api. translation host), and requires an API key.
POST https://translateapi.ai/api/v1/suggestions/
Ke kino o ka noi
Parameter ʻAno Ka wehewehe ʻana
source_text string The original text that was translated.
source_language string Source language code (e.g. "en").
target_language string Target language code (e.g. "es").
machine_translation string The machine translation you are correcting.
suggested_translation string Your improved translation (must differ from machine_translation).
Example Request
curl -X POST https://translateapi.ai/api/v1/suggestions/ \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "source_text": "Hello, world!",
    "source_language": "en",
    "target_language": "es",
    "machine_translation": "Hola, mundo!",
    "suggested_translation": "¡Hola, mundo!"
}'
Ka pane
{
    "id": 4213,
    "status": "pending",
    "created": true,
    "message": "Correction submitted for review."
}

Re-submitting the same source/language pair updates your existing suggestion instead of creating a duplicate (returns 200 with "created": false).

Pākuʻi

Hoʻohana mākou i nā ʻano hoʻololi ʻike ʻia e hoʻokō ana i kā mākou pono hana GPU ponoʻī. ʻO nā ʻano āpau he laikini kūʻai aku (Apache 2.0).

Moʻo ʻO nā ʻōlelo maikaʻi loa no
Helsinki-NLP/opus-mt 50+ mau'ōlelo Nā ʻōlelo maʻamau (EN, ES, FR, DE, IT, PT, RU, ZH, JA, a pēlā aku.)
Google MADLAD-400 400+ nā ʻōlelo ʻO nā ʻōlelo haʻahaʻa, ka hoʻopaʻa piha

ʻO ka API e koho i ka hōʻailona maikaʻi loa no kāu hui ʻōlelo. Hiki iā ʻoe ke hoʻonohonoho i kahi engine Parameter:

Ka mea hana Ka wehewehe ʻana
"auto" Paʻa. E hoʻāʻo i HuggingFace mua, e hoʻi i MADLAD-400
"huggingface" Force HuggingFace/MarianMT (ʻoi aku ka wikiwiki, 50+ mau'ōlelo)
"madlad" Force MADLAD-400 (400+ nā ʻōlelo)

Hoʻoponopono hewa

Hoʻohana ka API i nā kānāwai kūlana HTTP maʻamau e hōʻike i ka lanakila a i ʻole ka nalowale.

Kōkua Ka wehewehe ʻana
200 Hoʻomaikaʻi
202 Accepted — Batch job queued successfully
400 Bad Request — Invalid parameters (missing text, unsupported language, etc.)
401 ʻAʻole i hoʻopaʻa inoa ʻia - ʻAʻole maikaʻi a i ʻole he kī API ʻole
402 Payment Required — Character credits exhausted. Upgrade your plan or purchase a top-up.
403 Forbidden — API key lacks required scope or IP not in whitelist
503 Service Unavailable - Translation engine temporarily down
Ka hoʻohālike pane hewa
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Usage Limits

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:

Hoʻolālā Hōʻailona/ mahina Batch API Documents Kūlana
Hoʻolaha 250,000 $0 E hoʻopaʻa inoa
Hoʻomaka 2,500,000 $9/no Hoʻopaʻa inoa
Pro 10,000,000 $29/no Hoʻopaʻa inoa
ʻOihana 40,000,000 $79/no Hoʻopaʻa inoa
Scale 125,000,000 $199/no Hoʻopaʻa inoa
Enterprise Unlimited $499/no Contact Sales

Inā ʻoe e ʻoi aku i kāu palena, e loaʻa iā ʻoe 402 Payment Required ka pane a hiki i ka mahina e hiki mai ana a i ʻole e hoʻomaikaʻi ʻoe.

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. All requests are queued and processed — send hundreds of concurrent requests and they'll all be handled. Real-time translations get priority, batch jobs process in the background.

Need More Credits?

Run out of characters mid-month? Purchase a one-time credit top-up without changing your plan. View top-up packs

Waiho i kēia pou
Mahalo no kou manaʻo!
/5 Hoʻokumu ʻia ma Hoʻohālike