Dokumentasyon ng API

> Isama ang malakas na pagsasalin sa iyong mga aplikasyon sa aming simpleng REST API.

Getting Started

Ang TranslateAPI ay nagbibigay ng isang simpleng REST interface para sa pagsasalin ng teksto sa pagitan ng 180+ wika. Lahat ng API endpoints bumalik JSON tugon.

1. Kumuha ng iyong API Key

> Lumikha ng isang libreng account at bumuo ng iyong API key mula sa dashboard:

  1. Mag-sign up sa translateapi.ai/signup
  2. Pumunta sa Dashboard → Mga API key
  3. > I-click ang "Lumikha ng API Key" at kopyahin ang iyong key

> API key simulan sa ta_ Ang bayan ng Taal ay nahahati sa 56 na mga barangay.

Base URL: https://api.translateapi.ai/api/v1/
2. Gumawa ng Iyong Unang Paghiling

> Palitan ang YOUR_API_KEY sa susi mula sa iyong 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!"
Tugon
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Pag-authenticate

> Authenticate ang iyong mga kahilingan gamit ang isang API key. Maaari mong lumikha ng mga API key mula sa iyong > dashboard.

> Header Authentication (Inirerekumenda)
Authorization: Bearer ta_your_api_key_here
Padron:ApiKey header
Authorization: ApiKey ta_your_api_key_here
Query Parameter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Keep your API keys secure! tl> Huwag ihayag ang mga ito sa client-side code o pampublikong repositoryo.

Isalin ang Teksto

> Isalin ang teksto sa isang solong target na wika.

POST https://api.translateapi.ai/api/v1/translate/
> Hugis ng kahilingan
Parameter Uri Kinakailangan Paglalarawan
text string Oo > Teksto upang isalin (max 50,000 mga character)
target_language string Oo* Target language code (e.g., "es", "fr", "de")
source_language string Hindi Source language code. Default: "auto" (auto-detect)
engine string Hindi > Translation engine: "auto" (default), "huggingface", o "madlad". Tingnan ang mga Modelo ng Pagsasalin. Mga Modelo ng Pagsasalin.

* Gamitin target_language tl> (string) para sa solong wika o target_languages > (array) para sa maramihang. Tingnan Multi-Target na Pagsasalin.

Tugon
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Auto-detection: Iwasan source_language o itakda ito sa "auto" tl> upang awtomatikong matukoy ang wikang pinagmulan. Ang wika na natuklasan ay ibabalik sa source_language > tugon patlang.

Multi-Target na Pagsasalin

> Isalin ang teksto sa maramihang mga wika sa isang solong kahilingan. Ginagamit ang parehong endpoint bilang solong pagsasalin.

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

Gamitin target_languages > (array) sa halip ng target_language tl> (string) para sa maraming mga target.

Tugon
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Tip: > Maaari mong isalin sa hanggang sa 50 wika sa isang solong kahilingan.

Pagsasalin ng batch

> Isalin ang maramihang mga teksto nang sabay-sabay sa async processing. Ipadala ang isang batch at poll para sa mga resulta.

Mga Limitasyon: > Max 100 teksto sa bawat batch, max 300 kabuuang mga item (texts × target na wika). Mga trabaho oras out 45 minuto pagkatapos ng pagpoproseso nagsisimula.
Bilis: > Ang mga karaniwang wika (ES, FR, DE) ay gumagamit ng mabilis na modelo (~0.1s/text). Ang mga hindi karaniwang wika ay gumagamit ng aming multilingual na modelo (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
> Hakbang 1: Ipadala ang 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"
}'
> Tugon (HTTP 202 Tinanggap)
{
    "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/"
}
> Hakbang 2: Poll para sa mga Resulta
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
tl> Polling Halimbawa (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)
Tugon (natapos)
{
    "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 pagsubaybay
Patlang Paglalarawan
status pending > (na-queued, naghihintay para sa isang GPU manggagawa), processing (aktibong pagsasalin), completed, failed
processed_texts > Bilang ng mga indibidwal na pagsasalin natapos kaya malayo. Update sa real time bilang bawat teksto ay isinalin.
progress_percentage > Pagkumpleto porsyento (0-100). Kinakalkula mula sa processed_texts / total_texts.
queue_position > Ang iyong posisyon sa queue kapag ang katayuan ay "pending" (1 = susunod na up). Null kapag pagpoproseso o nakumpleto. Gamitin ito upang asahan ang oras ng paghihintay at ipakita ang katayuan ng queue sa iyong mga gumagamit.
processing_time > Total oras ng pagpoproseso sa segundo (na magagamit kapag nakumpleto).
Multi-Language batch

> Isalin ang maraming mga teksto sa maraming mga wika nang sabay-sabay:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Natapos na result_data
{
    "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
}
tl> Humingi ng Parameter
Parameter Uri Kinakailangan Paglalarawan
texts array Oo > Array ng mga string upang isalin
target_language string Oo* > Target na wika code para sa solong wika
target_languages array Oo* > Array ng target na mga code ng wika para sa maramihang mga wika
source_language string Hindi Source language code. Default: "auto"

* Magbigay ng alinman sa target_language o target_languages, hindi ang dalawa.

> Pinakamahusay na Practices para sa Malaking Workloads
  • > Ipadala 1 target na wika bawat batch na kahilingan. Ito ay nananatiling bawat batch mabilis at ginagawang progreso madaling subaybayan.
  • > Keep batches sa 50-100 mga teksto. Mas maliit na batches makumpleto mas mabilis at magbigay sa iyo ng mas madalas na mga update ng progreso.
  • > Mag-submit ng bilang ng mga batch trabaho bilang kailangan mo - ang aming GPU cluster auto-scales upang hawakan ang demand. Mga trabaho ay pinoproseso sa parallel sa maraming mga kaso.
  • > Sa timeout, muling-poll ang parehong job_id sa halip ng pagsusumite ng isang bagong batch. Ang orihinal na trabaho ay maaaring pa rin ang pagpoproseso sa GPU.
  • > Poll bawat 3-5 segundo. Mas madalas na polling ay hindi mapabilis ang pagpoproseso.

Pagsasalin ng Dokumento

tl> Isalin buong mga dokumento habang pinapanatili ang pag-format. Suporta sa maraming mga format ng file.

POST https://api.translateapi.ai/api/v1/translate/document/
> Humingi (multipart / form-data)
Parameter Uri Kinakailangan Paglalarawan
file file Oo > Ang dokumento upang isalin (max 10MB)
target_language string Oo Target language code (e.g., "es", "fr", "de")
source_language string Hindi Source language code. Default: "auto" (auto-detect)
Suportahan Uri ng File
Mga dokumento
  • .txt - tl> Mga simpleng file ng teksto
  • .docx - Mga dokumento ng Word
  • .pdf - > PDF dokumento (kabilang ang scanned)
Data & Lokalisasyon
  • .json - > JSON file (nagsasalin string halaga)
  • .xml - Mga file ng XML
  • .srt - Mga file ng subtitle
  • .po / .pot - > Gettext mga file ng pagsasalin
Mga imahe (OCR)
  • .jpg / .jpeg - Mga imahe ng JPEG (OCR)
  • .png - Mga imahe ng PNG (OCR)
  • .tiff / .tif - Mga imahe ng TIFF (OCR)
  • .bmp - Mga imahe ng BMP (OCR)
  • .webp - Mga imahe ng WebP (OCR)
Halimbawa (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"
Tugon
{
    "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 Suporta: Ang mga file ng imahe at na-scan na PDF ay pinoproseso gamit ang optical character recognition (OCR) upang makuha ang teksto bago ang pagsasalin. Para sa pinakamahusay na mga resulta, gamitin ang malinaw, mataas na resolusyon na mga imahe.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

> Tingnan ang katayuan ng isang pagsasalin ng dokumento o makuha ang URL ng pag-download.

Mga halaga ng katayuan
pending tl> File na-upload, naghihintay na maproseso
processing Pagsasalin sa progreso
completed > Pagsasalin kumpleto, i-download ang magagamit
failed tl> Pagsasalin nabigo (tingnan ang error_message)

tl> Suportadong Wika

> Kumuha ng listahan ng lahat ng mga suportadong wika.

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

Tingnan ang Lahat ng 186 Wika

Mga Modelo ng Pagsasalin

> Ginagamit namin ang state-of-the-art na open source na mga modelo ng pagsasalin na tumatakbo sa aming sariling imprastraktura ng GPU. Lahat ng mga modelo ay komersyal na lisensyado (Apache 2.0).

Modelo Mga wika Pinakamahusay para sa
Helsinki-NLP/opus-mt > 50 + pares ng wika > Karaniwang wika (EN, ES, FR, DE, IT, PT, RU, ZH, JA, atbp.)
Google MADLAD-400 > 400+ wika > Bihirang wika, kumpletong coverage

> Ang API awtomatikong pumipili ng pinakamahusay na modelo para sa iyong pares ng wika. Maaari mong piliing tukuyin ang isang engine Parameter:

Engine Paglalarawan
"auto" > Default. Sinusubukan HuggingFace una, bumabalik sa MADLAD-400
"huggingface" > Puwersa HuggingFace / MarianMT (pinabilis, 50+ wika)
"madlad" > Puwersa MADLAD-400 (400+ wika)

Error Handling

Ang API ay gumagamit ng mga standard na HTTP status codes upang ipahiwatig ang tagumpay o kabiguan.

Kodigo Paglalarawan
200 Tagumpay
202 > Tinanggap — Batch trabaho natigil matagumpay
400 > Bad Request - Hindi wastong mga parameter (nawawalang teksto, hindi suportadong wika, atbp)
401 tl> Hindi pinahihintulutan - Hindi wasto o nawawala API key
402 > Pagbabayad na Kinakailangan — Naubos na ang mga credit ng character. I-upgrade ang iyong plano o bumili ng top-up.
403 > Pinahihintulutan — API key kakulangan kinakailangang saklaw o IP hindi sa whitelist
503 > Serbisyo Hindi magagamit - Translation engine pansamantalang down
Error sa Format ng Tugon
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Limitasyon sa Paggamit

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:

Plano Mga Karakter/Buwan Bagong API Mga dokumento Presyo
Libre 250,000 $0 Mag-sign up para sa libreng
Simula 2,500,000 $9/ML Mag-subscribe
Pro 10,000,000 $29/ML Mag-subscribe
Negosyo 40,000,000 $79/ML Mag-subscribe
Scale 125,000,000 $199/ML Mag-subscribe
Enterprise Unlimited $499/ML Contact Sales

> Kapag lumampas ka sa iyong limitasyon, makakatanggap ka ng 402 Payment Required > tugon hanggang sa susunod na buwan o i-upgrade mo.

Auto-Scaling Cloud Infrastructure

Ang TranslateAPI ay tumatakbo sa mga dedikadong NVIDIA A100 GPU instance na may awtomatikong pahalang na pag-scaling. Kapag tumaas ang demand, ang karagdagang mga GPU instance ay inilunsad sa loob ng ilang minuto upang mapanatili ang mabilis na oras ng tugon. Ang lahat ng mga kahilingan ay naka-queue at naproseso — magpadala ng daan-daang mga kaparehong kahilingan at lahat sila ay hahawakan.

Kailangan ng Higit pang mga Credits?

> Naubos ang mga character sa kalagitnaan ng buwan? Bumili ng isang beses na credit top-up nang hindi nagbabago ang iyong plano. Tingnan ang mga top-up pack

I-rate ang pahinang ito
Salamat sa iyong rating!
/5 tl> batay sa Mga rating