Zolemba za API

Kuphatikiza zothandiza kutanthauzira m'mapulogalamu anu ndi REST API yathu yosavuta.

Kuyamba

The TranslateAPI amapereka yosavuta REST interface kwa kutanthauzira malemba pakati 180 + zinenero.All API endpoints kubwezera JSON mayankho.

Base URL: https://api.translateapi.ai/api/v1/
Kuyamba Kwamfupi

Pangani zosowa zanu zoyamba zomasulira:

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!"
    }
}

Kutsimikizira

Authenticate zosowa zanu pogwiritsa ntchito chida cha API. Mukhoza kupanga chida cha API kuchokera patsamba lanu dashboard.

Kutsimikizika kwa Header (Kuloledwa)
Authorization: Bearer ta_your_api_key_here
Query Parameter
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Gwiritsani ntchito zilembo zanu za API motetezeka! Musawawonetse mu code ya client-side kapena ma repositories a anthu.

Kutanthauzira Malemba

Kutanthauzira malemba ku mtundu wina woyenera.

POST https://api.translateapi.ai/api/v1/translate/
Mtima wa funso
Paramita Chizindikiro: Zofunika Kufotokozera
text string Yes Text kutanthauzira (max 50,000 characters)
target_language string Inde* Target language code (e.g., "es", "fr", "de")
source_language string Palibe Source language code. Default: "auto" (auto-detect)

Kugwiritsa ntchito target_language (mzere) kwa zinenero imodzi kapena target_languages (array) kwa multiple. Onani Multi-Target Translation.

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

Multi-Target Translation

Kutanthauzira malemba kwa zilankhulo zambiri m'modzi akufuna. Amagwiritsa ntchito chimodzimodzi endpoint monga kutanthauzira imodzi.

Chitsanzo: Mukhoza kutanthauzira mpaka 50 zinenero m'modzi m'modzi zosowa.
POST https://api.translateapi.ai/api/v1/translate/
Mtima wa funso
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

Kugwiritsa ntchito target_languages (array) m'malo target_language (mzere) kwa ziyembekezo zambiri.

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

Batch Kutanthauzira

Kutanthauzira malemba ambiri pamodzi ndi async processing. Submit a batch ndi poll kwa zotsatira.

Mpaka: max 500 malemba per batch, max 750 zonse zinthu (malemba × cholinga zinenero). Jobs timeout 30 mphindi pambuyo processing amayamba (queue nthawi yoyembekezera sawerengedwa).
Nthawi yogwiritsira ntchito imasiyana malinga ndi zinenero: zilankhulo zofala (Chisipanishi, Chifalansa, Chijeremani, etc.) zimagwiritsa ntchito machitidwe ofulumira (~ 0.1s per text), pomwe zilankhulo zosadziwika bwino zimagwiritsa ntchito machitidwe athu osiyanasiyana a zinenero (~ 1-3s per text). A 100-text batch nthawi zambiri amamaliza mu 10-30 masekondi kwa zilankhulo zofala, kapena 2-5 mphindi kwa zomwe sizofala.
POST https://api.translateapi.ai/api/v1/translate/batch/
Gawo 1: Kutumiza 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"
}'
Kuyankha (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/"
}
Gawo 2: Poll kwa Results
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Polling Mfano (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)
Kuyankha (kuyembekezera — mzere, kuyembekezera kwa GPU)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Kuyankha (kapena kuyankha)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
Kuyankha (kumaliza)
{
    "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

Gawo lililonse yankho poll amaphatikizapo real-time chitukuko nyanja motero mukhoza kuyang'ana moyenera zimene zikuchitika ndi batch wanu:

Chigawo Kufotokozera
status Mtundu wa ntchito: pending (m'gulu, akuyembekezera wogwira ntchito wa GPU), processing (ogwira ntchito kutanthauzira), completed, failed
processed_texts Mtengo wa zomasulira wina ndi mzake anamaliza mpaka pano. Updates mu real nthawi monga aliyense malemba anamasulira.
total_texts Mtengo wa zomasulira zonse m'nkhaniyi (malemba × zinenero zofunikira).
progress_percentage Kumaliza peresenti (0-100). Kuwerengedwa kuchokera processed_texts / total_texts.
queue_position Malo anu m'gulu pamene khalidwe ndi "likuyembekezeredwa" (1 = lotsatira). Null pamene kuchitidwa kapena kumaliza. Mutha kugwiritsa ntchito izi kuti muwerenge nthawi yoyembekezera ndi kusonyeza khalidwe la gulu kwa ogwiritsa ntchito anu.
processing_time Total processing nthawi mu masekondi (kupezeka pamene anamaliza).
Chitsanzo: Pamene status ndi "pending", ogwira ntchito a GPU ndi ogwira ntchito ndi mabungwe ena. Sankhani queue_position kuti muwone ntchito zingati zomwe zili patsogolo panu (1 = inu ndinu wotsatira). Ntchito yanu idzayamba mwamsanga — palibe ntchito yofunika, chonde pitirizani kufunsa.
Best Practices kwa Large Workloads
  • Send 1 target language per batch request. This keeps each batch fast and makes progress easy to track.
  • Gwiritsani ntchito masamba a 50-100. Masamba ang'onoang'ono amamaliza mofulumira kwambiri ndipo amakupatsani zosintha zambiri.
  • GPU imachita ntchito 2 panthawi imodzimodziyo — ntchito zina zimalowa m'gulu ndipo siziyamba mofulumira.
  • Pa nthawi yochuluka, gwiritsani ntchitonso job_id yomweyo m'malo mwa kutumiza ntchito yatsopano. Ntchito yoyamba ikhozabe kuchitidwa pa GPU.
  • Poll nthawi iliyonse 3-5 masekondi. Polling nthawi zambiri si kufulumizitsa processing.
Multi-Chilankhulo Batch

Kutanthauzira malemba ambiri a mitundu yosiyanasiyana pamodzi:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Completed 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
}
Ma parameters a funso
Paramita Chizindikiro: Zofunika Kufotokozera
texts array Yes Array of strings to translate
target_language string Inde* Target chilankhulo code kwa chilankhulo chimodzi
target_languages array Inde* Array of target language codes for multiple languages
source_language string Palibe Source language code. Default: "auto"

* Pezani wina target_language kapena target_languages, si onse awiri.

Asynchronous Processing: Batch zopempha kubwezera mwamsanga ndi job_id. Phunziro GET /api/v1/jobs/{job_id}/ mpaka status ndi "completed", kenako kuwerenga result_data kwa zomasulira. Kugwiritsa progress_percentage kutsatira chitukuko.

Kutanthauzira kwa Document

Kutanthauzira onse mabuku pamene kuteteza formatting. Supports multiple file formats.

POST https://api.translateapi.ai/api/v1/translate/document/
Kupempha (multipart / form-data)
Paramita Chizindikiro: Zofunika Kufotokozera
file file Yes Fayilo yomasulira (max 10MB)
target_language string Yes Target language code (e.g., "es", "fr", "de")
source_language string Palibe Source language code. Default: "auto" (auto-detect)
Supported File Types
  • .txt - Fayilo ya malemba oyera
  • .docx - Makalata a Word
  • .pdf - PDF mafayilo (kuphatikizapo scanned)
  • .json - JSON mafayilo (amatanthauzira matanthauzo a string)
  • .xml - Fayilo ya XML
  • .srt - Fayilo ya ma subtitle
  • .po / .pot - Gettext kutanthauzira mafayilo
  • .jpg / .jpeg - JPEG zithunzi (OCR)
  • .png - PNG zithunzi (OCR)
  • .tiff / .tif - TIFF zithunzi (OCR)
  • .bmp - BMP zithunzi (OCR)
  • .webp - WebP zithunzi (OCR)
OCR Support: Fayilo ya zithunzi ndi mafayilo a PDF a scanned amachitidwa ndi Optical Character Recognition (OCR) kuti apange malemba asanatulutsidwe.
Mfano (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"
Fayilo ya chithunzi imathetsedwa ndi OCR kuti ichotse mawu a m'mawu a m'mawu a m'mawu. .txt fayilo.
Kuyankha
{
    "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"
}
Makhalidwe a khalidwe
pending Fayilo yatulutsidwa, ikuyembekezera kuchitidwa
processing Translation in progress
completed Kutanthauzira komaliza, kutsitsa kulipo
failed Kutanthauzira kulephera (onani error_message)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Onani mfundo za kutanthauzira kwa deta kapena bwererani ku download URL.

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

Kuzindikira zinenero

Chilankhulo kuzindikira ndi built-in pa chilichonse kutanthauzira funso. Set source_language to "auto" (kapena kupewa izo) ndi kupezeka zinenero ndi kubwezeredwa mu yankho.

POST https://api.translateapi.ai/api/v1/translate/
Mtima wa funso
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Kuyankha
{
    "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
}

The source_language field in the response shows the detected language when auto-detection is used.

Zilankhulo Zothandizidwa

Get the list of all supported languages.

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

Kutanthauzira Models

Timagwiritsa ntchito state-of-the-art open source translation models kuyendetsa pa GPU yathu yayikulu.Zosefera zonse ndi zovomerezeka (Apache 2.0).

Model Zilankhulo Best kwa
Helsinki-NLP/opus-mt 50+ zilankhulo zogwirizana Zilankhulo zofala (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etc.)
Google MADLAD-400 400 + zilankhulo Zilankhulo zosadziwika, zokhudzana mozama

The API mwamsanga amasankha yabwino model for your language pair. You may optionally specify an engine paramita:

Makina Kufotokozera
"auto" Default. Amayesetsa HuggingFace koyamba, amabwerera ku MADLAD-400
"huggingface" Kuletsa HuggingFace / MarianMT (mosavuta, 50 + zinenero)
"madlad" Force MADLAD-400 (400 + zinenero)

Kuyang'anira zolakwika

API amagwiritsa ntchito standard HTTP status codes kusonyeza kupambana kapena kulephera.

Kodi Kufotokozera
200 Kupambana
400 Bad Kupempha - Invalid parameters
401 Osaloledwa - Chofunikira cha API chosavomerezeka kapena chosapezeka
402 Kulipira Kufunika - Daily character quota exceeded
429 Mafunso Ochuluka - Mpaka wa mtengo wapatali unakwera
503 Service Unavailable - Kusintha injini nthawizonse pansi
Fayilo ya yankho la vuto
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Mipaka ya mtengo

Malamulo amasiyana malinga ndi ndondomeko. mtengo kwa zambiri zokwanira:

Phunziro Chizindikiro/mwezi Mtengo
_Yaulere 250,000 $0 Kulembetsa kwaulere
Woyamba 2,500,000 $9/mphindi Kulembetsa
Pro 10,000,000 $29/mphindi Kulembetsa
Zamalonda 40,000,000 $79/mphindi Kulembetsa
Kukula 125,000,000 $199/mphindi Kulembetsa

Pamene inu kupitilira malire anu, mudzalandira a 429 Too Many Requests yankho mpaka mwezi ukubwerawu kapena inu kuwonjezera.

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.

Kulemba patsamba lino
Zikomo chifukwa cha ndemanga yanu!
/5 Kuchokera pa ma ratings