Uxwebhu lwe-API
Yongeza uguqulelo olunamandla kwiinkqubo zakho nge-REST API yethu elula.
Ukuqala
I-TranslateAPI ibonelela ngonxibelelwano olulula lwe-REST lokuguqulela umbhalo phakathi kweelwimi ezingaphezu kwe-180. Zonke iziphelo ze-API zibuyisela iimpendulo ze-JSON.
https://api.translateapi.ai/api/v1/
Qala ngokukhawuleza
Yenza isicelo sakho sokuqala soguqulelo:
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!"
}
}
Uqinisekiso
Qinisekisa izicelo zakho usebenzisa iqhosha le-API. Ungenza amaqhosha e-API ukusuka kwi- ibhodi eqhotyoshwayo.
Ububhali Bokubhaliweyo okuphezulu kwephepha (Kucetyiswa)
Authorization: Bearer ta_your_api_key_here
Iparamitha Yombuzo
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Guqulela Okubhaliweyo
Uguqulelo lomsebenzi kolunye ulwimi
POST https://api.translateapi.ai/api/v1/translate/
Isiqu Sesicelo
| Parameters | Udidi | Ifunekayo | Inkcazelo |
|---|---|---|---|
text |
string | Hayi | Umbhalo oza kuguqulelwa (max 50, 000 characters) |
target_language |
string | Ewe* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Akukho nanye | Source language code. Default: "auto" (auto-detect) |
* Sebenzisa target_language (uluhlu lwamagama) ulwimi olunye okanye target_languages (i-array) ye-multiple. Bona Uguqulelo lwe-Multi-Target.
Impendulo
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Uguqulelo lwe-Multi-Target
Guqulela umbhalo kwiilwimi ezininzi kwisicelo esisodwa. Isebenzisa incopho yesiphelo esifanayo njengoguqulelo olulodwa.
POST https://api.translateapi.ai/api/v1/translate/
Isiqu Sesicelo
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Sebenzisa target_languages (umqolo) endaweni ye target_language (umtya) kwiinjongo ezininzi.
Impendulo
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Uguqulelo lwe batch
Uguqulelo lomsebenzi kolunye ulwimi:
POST https://api.translateapi.ai/api/v1/translate/batch/
Inyathelo 1: Thumela Iqela
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"
}'
Impendulo (HTTP 202 Yamkelwe)
{
"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/"
}
Inyathelo lesi-2: Ukhetho lweeNkqubo
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Umzekelo wePolling (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)
Impendulo (ilindelwe — ifolokhwe, ilinde i-GPU)
{
"job_id": "67535b2b-...",
"status": "pending",
"processed_texts": 0,
"total_texts": 3,
"progress_percentage": 0.0,
"queue_position": 3
}
Impendulo (ngokuqhubekeka)
{
"job_id": "67535b2b-...",
"status": "processing",
"processed_texts": 1,
"total_texts": 3,
"progress_percentage": 33.33,
"queue_position": null
}
Impendulo (igqityiwe)
{
"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
}
}
Ukulandela Inkqubela yexesha eliNyanisiweyo
Iimpendulo ze poll zonke ziquka imihlaba yexesha elipheleleyo lokuqhubekeka ukuze ubone ngokucacileyo into ekwenzekayo kwiqela lakho:
| Iindawo | Inkcazelo |
|---|---|
status |
Imisebenzi yangoku: pending (ufolo, ulinde umsebenzi we-GPU), processing (ukuguqulela ngokusebenzayo), completed, failed |
processed_texts |
Inani lemiguqulelo yazo zonke ezigqityiwe ngoku. Ihlaziywa ngexesha elibonakalayo njengoko umbhalo ngamnye uguqulelwa. |
total_texts |
Inani elipheleleyo loguqulelo kolu luhlu (iimephu × iilwimi ezilindelweyo). |
progress_percentage |
Ipesenti yokugqitywa (0-100). Ibalo ukusuka kwi processed_texts / total_texts. |
queue_position |
Indawo yakho kufolo xa iimeko zi "zilinde" (1 = ezilandelayo phezulu). Akukho nto xa ziqhubekeka okanye zigqityiwe. Sebenzisa oku ukuqikelela ixesha lokulindela kwaye ubonakalise iimeko zofolo kubasebenzisi bakho. |
processing_time |
Ixesha lokuqhubekeka elipheleleyo ngemizuzwana (elifumaneka xa ligqityiwe). |
status i- "pending", abasebenzi be GPU baxakekile nezinye iziqendu. Khangela queue_position ubone ukuba kukho imisebenzi eninzi engaphambili kweyo (1 = ulandelayo). Umsebenzi wakho uzakuqala ngokuzenzekelayo — akukho msebenzi ofunekayo, qhubeka ukhetha.
Iinkqubo ezilungileyo zokusebenza okuninzi
- Thumela 1 iilwimi ezilindelweyo ngesicelo seqela ngalinye. Oku gcina iqela ngalinye likhawuleza kwaye kwenza inkqubela ilula ukulandelela.
- Gcina iqela kwi 50- 100 imibhalo. Iqela elincinci ligqiba ngokukhawuleza kwaye linika uhlaziyo lwenkqubo oluninzi.
- Sebenzisa ngaphezu kwemisebenzi emibini ehamba kunye. I-GPU iqhubekeka imisebenzi emibini ehamba kunye — imisebenzi engaphezulu ifolokhwe kwaye ayizukuqala ngokukhawuleza.
- Kwixesha lokuphuma, phinda ujonge i-job_id efanayo endaweni yokuthumela iqela elitsha. Umsebenzi wokuqala unokuqhubeka nokusebenza kwi-GPU.
- Iincoko nganye 3- 5 imizuzwana. Iincoko eziphindaphindwayo azikhawulezisi uqhubekeko.
Ulwimi oluninzi
Uguqulelo lomsebenzi kolunye ulwimi:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
I-_data yeziphumo ezigqityiweyo
{
"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
}
Iparameters Zesicelo
| Parameters | Udidi | Ifunekayo | Inkcazelo |
|---|---|---|---|
texts |
array | Hayi | Uluhlu lwamagama okuguqulela |
target_language |
string | Ewe* | Ikhowudi yoLwimi oluSebenzayo loLwimi olulodwa |
target_languages |
array | Ewe* | Udweliso lweekhowudi zolwimi lwesiphelo lweelwimi ezininzi |
source_language |
string | Akukho nanye | Source language code. Default: "auto" |
* Sebenzisa target_language okanye target_languages, hayi zombini.
job_id. Umngxunya GET /api/v1/jobs/{job_id}/ kude kube status yi "completed", ngoko funda result_data Ukusetyenziswa kweenkqubo progress_percentage ukulandela inkqubela phambili.
Uguqulelo loxwebhu
Iguqulela uxwebhu lonke ngelixa igcina ufomati. Ixhasa iifomati ezininzi zefayile.
POST https://api.translateapi.ai/api/v1/translate/document/
Isicelo (inxalenye eninzi/ifomu-data)
| Parameters | Udidi | Ifunekayo | Inkcazelo |
|---|---|---|---|
file |
file | Hayi | Uxwebhu lokuguqulela (max 10MB) |
target_language |
string | Hayi | Target language code (e.g., "es", "fr", "de") |
source_language |
string | Akukho nanye | Source language code. Default: "auto" (auto-detect) |
Udidi lwefayile oluxhaswayo
.txt- Iifayili zombhalo oqhelekileyo.docx- Uxwebhu lwe-Word.pdf- Amaxwebhu e-PDF (kuquka ashicilelwe phantsi).json- Iifayili ze-JSON (ziguqula amaxabiso omtya).xml- Iifayile ze XML
.srt- Iifayili zesicatshulwa esezantsi.po/.pot- Uguqulelo lomsebenzi kolunye ulwimi.jpg/.jpeg- Imifanekiso ye JPEG (OCR).png- Imifanekiso ye PNG (OCR).tiff/.tif- Imifanekiso ye-TIFF (OCR).bmp- Imifanekiso ye-BMP (OCR).webp- Imifanekiso ye-WebP (OCR)
Umzekelo (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"
.txt ifayile.
Impendulo
{
"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"
}
Amaxabiso emeko
pending |
Ifayile ilayishelwe phezulu, ilinde ukuqhubekekiswa |
processing |
Uguqulelo luyaqhubeka |
completed |
Uguqulelo lugqityiwe, ulayisho ezantsi lufumanekayo |
failed |
Uguqulelo aluphumelelanga (khangela umyalezo we-error) |
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
Khangela ubume boguqulelo loxwebhu okanye ubuyisele ulwaleko lwe URL.
Impendulo
{
"id": 123,
"original_filename": "document.docx",
"status": "completed",
"translated_file_url": "/media/translated/document_es.docx",
"character_count": 5420
}
Ubhaqo Lolwimi
Ukukhangela ulwimi kufakwe kwisicelo soguqulelo ngasinye. Cwangcisa source_language to "auto" (okanye uyishiye) kwaye ulwimi olufunyenweyo lubuyiselwa kwimpendulo.
POST https://api.translateapi.ai/api/v1/translate/
Isiqu Sesicelo
{
"text": "Bonjour, comment allez-vous?",
"target_language": "en"
}
Impendulo
{
"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
}
I- source_language Indawo kwimpendulo ibonisa ulwimi olufunyenweyo xa ukukhangela okuzenzekelayo kusetyenziswa.
Iilwimi ezixhaswayo
Fumana uluhlu lwazo zonke iilwimi ezixhaswayo.
GET https://api.translateapi.ai/api/v1/translate/languages/
Impendulo
{
"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"},
...
]
}
Iimodeli zoguqulelo
Sisebenzisa imodeli yoguqulelo oluvulekileyo lwe-state-of-the-art oluqhuba kwinkqubo yethu ye-GPU. Zonke iimodeli zinikezelwa ngelayisensi yorhwebo (i-Apache 2.0).
| Imodeli | Iilwimi | Elungileyo Ku |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ Iiperi zoLwimi | Iilwimi eziqhelekileyo (EN, ES, FR, DE, IT, PT, RU, ZH, JA, njl.) |
| Google MADLAD-400 | 400+ Iilwimi | Iilwimi ezingaqhelekanga, ukugubungela okupheleleyo |
I-API ikhetha ngokuzenzekelayo imodeli elungileyo yesibini sakho se-language. Ungakhankanya ngokuzenzekelayo imodeli ye- engine iparamitha:
| Injini | Inkcazelo |
|---|---|
"auto" |
Okumiselweyo. Izama i-HuggingFace kuqala, ibuyela umva kwi-MADLAD-400 |
"huggingface" |
Force HuggingFace/MarianMT (ekhawulezayo, 50+ ulwimi) |
"madlad" |
Force MADLAD-400 (400+ ulwimi) |
Uphatho Lwemposiso
I-API isebenzisa ikhowudi yesimo se-HTTP esiqhelekileyo sokubonisa ukuba uphumelele okanye awuphumelelanga.
| Ikhowudi | Inkcazelo |
|---|---|
200 |
Impumelelo |
400 |
Isicelo Esibi - Iparameters Ezingalunganga |
401 |
Ayigunyaziswanga - Isitshixo se-API esingasebenziyo okanye esilahlekileyo |
402 |
Imali ifuneka - Uphawu lwemihla ngemihla lugqityiwe |
429 |
Isicelo Esininzi Kakhulu - Umda wexabiso ugqityiwe |
503 |
Inkonzo Ayifumaneki - Injini Yokuguqula kolunye ulwimi iyasezantsi |
Ifomati Yempendulo Yemposiso
{
"error": "daily_limit_exceeded",
"credits_remaining": 0,
"daily_limit": 100000
}
Amagqabantshintshi
Imida itshintsha ngokwemimiselo. Bona iindleko inkcukacha ezipheleleyo:
| I-Plan | Iimpawu/Inyanga | Ixabiso | |
|---|---|---|---|
| Ekhululekileyo | 250,000 | $0 | Ubhaliso simahla |
| Isiqalisi | 2,500,000 | $9/inyanga( ii) | Buyisela okubhaliweyo |
| I-Pro | 10,000,000 | $29/inyanga( ii) | Buyisela okubhaliweyo |
| Ishishini | 40,000,000 | $79/inyanga( ii) | Buyisela okubhaliweyo |
| Umlinganiselo | 125,000,000 | $199/inyanga( ii) | Buyisela okubhaliweyo |
xa udlula umda wakho, uya kufumana 429 Too Many Requests unyaka olandelayo okanye uphucule.
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.