Dokumentazzjoni tal-API
Integra traduzzjoni qawwija fl-applikazzjonijiet tiegħek mal-REST API sempliċi tagħna.
Biex tibda
Il-TranslateAPI tipprovdi interfaċċa REST sempliċi għat-traduzzjoni tat-test bejn 180+ lingwa.L-endpoints kollha tal-API jirritornaw tweġibiet JSON.
1. Ikseb il-Klawsola API Tiegħek
Oħloq kont b'xejn u iġġenera ċ-ċavetta API tiegħek mid-dashboard:
- Irreġistra fuq translateapi.ai/signup
- Mur fil- Dashboard → Ċwievet API
- Ikklikkja "Oħloq API Key" u kopja ċ-ċavetta tiegħek
Iċ-ċwievet API jibdew b' ta_ segwit minn 56 karattru hex.
https://api.translateapi.ai/api/v1/2. Agħmel l-ewwel talba tiegħek
Ibdel YOUR_API_KEY bl-muftieħ mid-dashboard tiegħek:
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!"
Rispons
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
Awtentikazzjoni
Awtentika t-talbiet tiegħek billi tuża ċavetta API. Tista' toħloq ċwievet API mill- pannell tal-kontroll.
Awtentikazzjoni Header (Rakkomandat)
Authorization: Bearer ta_your_api_key_here
Intestatura ApiKey
Authorization: ApiKey ta_your_api_key_here
Parametru tal-mistoqsija
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Ittraduċi t-Test
Ittraduċi test għal lingwa waħda fil-mira.
POST https://api.translateapi.ai/api/v1/translate/
Korp tat-talba
| Parametru | Tip | Meħtieġa | Deskrizzjoni |
|---|---|---|---|
text |
string | Iva | Test li għandu jiġi tradott (massimu ta' 50,000 karattru) |
target_language |
string | Iva* | Target language code (e.g., "es", "fr", "de") |
source_language |
string | L-ebda | Source language code. Default: "auto" (auto-detect) |
engine |
string | L-ebda | Traduzzjoni magna: "awtomatiku" (default), "huggingface", jew "madlad". Ara Mudelli Traduzzjoni. Mudelli tat-Traduzzjoni. |
* Użu target_language (string) għal lingwa waħda jew target_languages (array) għal multipli. Ara Traduzzjoni b'ħafna miri.
Rispons
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
source_language jew issettjaha għal "auto" Il-lingwa misjuba tiġi rritornata fil-kaxxa tal-formola tal-formola. source_language qasam ta’ rispons.
Traduzzjoni b'ħafna miri
Ittraduċi test għal lingwi multipli f'talba waħda.Uża l-istess punt aħħari bħala traduzzjoni waħda.
POST https://api.translateapi.ai/api/v1/translate/
Korp tat-talba
{
"text": "Hello, world!",
"target_languages": ["es", "fr", "de", "ja"],
"source_language": "en"
}
Użu target_languages (array) minflok target_language (string) għal miri multipli.
Rispons
{
"source_language": "en",
"translations": {
"es": "Hola, mundo!",
"fr": "Bonjour, monde!",
"de": "Hallo, Welt!",
"ja": "こんにちは、世界!"
},
"character_count": 52,
"translation_time": 2.31
}
Traduzzjoni tal-lott
Ittraduċi testi multipli f'daqqa bl-ipproċessar async. jissottometti lott u l-istħarriġ għar-riżultati.
POST https://api.translateapi.ai/api/v1/translate/batch/
Pass 1: Ibgħat il-Lott
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"
}'
Rispons (HTTP 202 Aċċettat)
{
"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/"
}
Pass 2: Poll għall-Riżultati
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Polling Eżempju (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)
Tweġiba (ikkompletata)
{
"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
| Qasam | Deskrizzjoni |
|---|---|
status |
pending (fil-kju, stennija għal ħaddiem GPU), processing (jittraduċi b’mod attiv), completed, failed |
processed_texts |
Numru ta' traduzzjonijiet individwali kompluti s'issa.Aġġornamenti f'ħin reali hekk kif kull test jiġi tradott. |
progress_percentage |
Perċentwal ta’ tlestija (0-100). Ikkalkulat minn processed_texts / total_texts. |
queue_position |
Il-pożizzjoni tiegħek fil-kju meta l-istatus ikun "pendenti" (1 = li jmiss). Null meta jkun qed jiġi pproċessat jew lest. Uża dan biex tikkalkula l-ħin ta' stennija u turi l-istatus tal-kju lill-utenti tiegħek. |
processing_time |
Ħin totali tal-ipproċessar f'sekondi (disponibbli meta jitlesta). |
Lott b'ħafna lingwi
Ittraduċi testi multipli għal lingwi multipli f'daqqa:
{
"texts": ["Hello", "Goodbye"],
"target_languages": ["es", "fr"],
"source_language": "en"
}
Tlesta 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
}
Parametri tat-talba
| Parametru | Tip | Meħtieġa | Deskrizzjoni |
|---|---|---|---|
texts |
array | Iva | Array ta' kordi li għandhom jiġu tradotti |
target_language |
string | Iva* | Kodiċi tal-lingwa fil-mira għal lingwa waħda |
target_languages |
array | Iva* | Array tal-kodiċijiet tal-lingwa fil-mira għal lingwi multipli |
source_language |
string | L-ebda | Source language code. Default: "auto" |
* Ipprovdi jew target_language jew target_languages, mhux it- tnejn.
L-Aħjar Prattiki għal Tagħbijiet tax-Xogħol Kbar
- Ibgħat 1 lingwa fil-mira għal kull talba tal-lott.Dan iżomm kull lott veloċi u jagħmel il-progress faċli biex jiġi segwit.
- Żomm lottijiet ta’ 50-100 test, lottijiet iżgħar jitlestew aktar malajr u jagħtuk aġġornamenti aktar frekwenti dwar il-progress.
- Jippreżentaw bħala ħafna xogħlijiet lott kif għandek bżonn - tagħna GPU cluster auto-skali biex jimmaniġġjaw id-domanda.Xogħlijiet huma pproċessati b'mod parallel fuq istanzi multipli.
- Fuq timeout, re-poll l-istess job_id minflok tissottometti lott ġdid. Ix-xogħol oriġinali jista 'jkun għadu qed jiġi pproċessat fuq il-GPU.
- Poll kull 3-5 sekondi. Polls aktar frekwenti ma jħaffux l-ipproċessar.
Traduzzjoni tad-dokument
Ittraduċi dokumenti sħaħ filwaqt li jippreservaw ifformattjar. Jappoġġja formati tal-fajl multipli.
POST https://api.translateapi.ai/api/v1/translate/document/
Talba (multipart/form-data)
| Parametru | Tip | Meħtieġa | Deskrizzjoni |
|---|---|---|---|
file |
file | Iva | Id-dokument li għandu jiġi tradott (massimu ta' 10MB) |
target_language |
string | Iva | Target language code (e.g., "es", "fr", "de") |
source_language |
string | L-ebda | Source language code. Default: "auto" (auto-detect) |
Tipi tal-fajl appoġġjati
Dokumenti
.txt- Fajls ta' test sempliċi.docx- Dokumenti Word.pdf- Dokumenti PDF (inklużi dawk skenjati)
Data & Lokalizzazzjoni
.json- JSON fajls (jittraduċi valuri string).xml- Fajls XML.srt- Fajls tas-sottotitoli.po/.pot- Fajls tat-traduzzjoni Gettext
Immaġini (OCR)
.jpg/.jpeg- Immaġini JPEG (OCR).png- Immaġini PNG (OCR).tiff/.tif- Stampi TIFF (OCR).bmp- Immaġini BMP (OCR).webp- Immaġini WebP (OCR)
Eżempju (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"
Rispons
{
"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"
}
GET https://api.translateapi.ai/api/v1/translate/document/{id}/
Iċċekkja l-istatus ta' traduzzjoni ta' dokument jew irkupra l-URL tat-tniżżil.
Valuri tal-istatus
pending |
Fajl imtella', qed jistenna li jiġi pproċessat |
processing |
Traduzzjoni fil-proċess |
completed |
Traduzzjoni kompluta, download disponibbli |
failed |
Traduzzjoni naqset (iċċekkja error_message) |
Lingwi appoġġjati
Ikseb il-lista tal-lingwi kollha appoġġjati.
GET https://api.translateapi.ai/api/v1/translate/languages/
Rispons
{
"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"},
...
]
}
Mudelli tat-Traduzzjoni
Aħna nużaw mudelli ta’ traduzzjoni open source li jaħdmu fuq l-infrastruttura tal-GPU tagħna stess u l-mudelli kollha huma liċenzjati kummerċjalment (Apache 2.0).
| Mudell | Lingwi | Aħjar Għal |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ par ta’ lingwi | Lingwi komuni (EN, ES, FR, DE, IT, PT, RU, ZH, JA, eċċ.) |
| Google MADLAD-400 | 400 + lingwi | Lingwi rari, kopertura komprensiva |
L-API awtomatikament tagħżel l-aħjar mudell għall-par tal-lingwa tiegħek. Tista' tispeċifika engine parametru:
| Il-magna | Deskrizzjoni |
|---|---|
"auto" |
Default. Jipprova HuggingFace ewwel, jaqa lura għall-MADLAD-400 |
"huggingface" |
Forza HuggingFace/MarianMT (aktar mgħaġġel, 50+ lingwi) |
"madlad" |
Forza MADLAD-400 (400+ lingwi) |
Immaniġġjar tal-iżbalji
L-API tuża kodiċijiet standard tal-istatus HTTP biex tindika s-suċċess jew il-falliment.
| Kodiċi | Deskrizzjoni |
|---|---|
| 200 | Suċċess |
| 202 | Aċċettat — Xogħol tal-lott fil-kju b’suċċess |
| 400 | Talba ħażina — Parametri invalidi (test nieqes, lingwa mhux appoġġjata, eċċ.) |
| 401 | Mhux awtorizzat - Ċavetta API invalida jew nieqsa |
| 402 | Ħlas Meħtieġ — Karattru krediti eżawriti. Aġġorna l-pjan tiegħek jew jixtru top-up. |
| 403 | Projbit — Il-kodiċi tal-API m'għandux l-ambitu meħtieġ jew l-IP mhuwiex fil-whitelist |
| 503 | Servizz Mhux Disponibbli - Traduzzjoni magna temporanjament isfel |
Format tar-Rispons ta’ Żball
{
"error": "insufficient_credits",
"credits_remaining": 0
}
Limiti ta’ Użu
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:
| Pjan | Karattri/Xahar | API tal-lott | Dokumenti | Prezz | |
|---|---|---|---|---|---|
| Liberi | 250,000 | — | — | $0 | Irreġistra b'xejn |
| Starter | 2,500,000 | $9/6 xhur | Abbona | ||
| Għaliex | 10,000,000 | $29/6 xhur | Abbona | ||
| In-negozju | 40,000,000 | $79/6 xhur | Abbona | ||
| Skala | 125,000,000 | $199/6 xhur | Abbona | ||
| Enterprise | Unlimited | $499/6 xhur | Contact Sales |
Meta taqbeż il-limitu tiegħek, inti ser tirċievi 402 Payment Required rispons sakemm ix-xahar li jmiss jew inti taġġorna.
Infrastruttura tal-Cloud tal-Auto-Skaling
Meta d-domanda tiżdied, jiġu varati istanzi addizzjonali tal-GPU fi żmien ftit minuti biex jinżammu ħinijiet ta' rispons veloċi. It-talbiet kollha jiġu mqiegħda fil-kju u pproċessati — ibgħat mijiet ta' talbiet simultanji u dawn kollha jiġu ttrattati. It-traduzzjonijiet f'ħin reali jingħataw prijorità, il-proċess tax-xogħol tal-lott fl-isfond.
Għandek bżonn aktar Krediti?
Ixtri kreditu ta' darba biex tkompli tkabbar il-baġit tiegħek mingħajr ma tbiddel il-pjan tiegħek. Ara l-pakketti top-up