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.

URL bażiku: https://api.translateapi.ai/api/v1/
Bidu mgħaġġel

Agħmel l-ewwel talba tiegħek għat-traduzzjoni:

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

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
Parametru tal-mistoqsija
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Żomm iċ-ċwievet API tiegħek siguri! Ma jesponuhom fil-kodiċi client-side jew repożitorji pubbliċi.

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)

* 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
}

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.

Tip: Tista' tittraduċi sa 50 lingwa f'talba 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.

Limiti: massimu ta’ 500 test għal kull lott, massimu ta’ 750 oġġett totali (testi × lingwi fil-mira) Ħin ta’ skadenza tax-xogħlijiet 30 minuta wara li jibda l-ipproċessar (il-ħin ta’ stennija fil-kju ma jingħaddx).
Il-ħin tal-ipproċessar ivarja skont il-lingwa: lingwi komuni (l-Ispanjol, il-Franċiż, il-Ġermaniż, eċċ.) jużaw mudelli veloċi (~0.1s għal kull test), filwaqt li lingwi inqas komuni jużaw il-mudell multilingwi kbir tagħna (~1-3s għal kull test). Lott ta’ 100 test tipikament jitlesta f’10-30 sekonda għal lingwi komuni, jew 2-5 minuti għal dawk inqas komuni.
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"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)
Rispons (pendenti — fil-kju, stennija għall-GPU)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
Rispons (matul l-ipproċessar)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
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

Kull tweġiba għall-istħarriġ tinkludi oqsma ta’ progress f’ħin reali sabiex tkun tista’ timmonitorja eżattament x’qed jiġri mal-lott tiegħek:

Qasam Deskrizzjoni
status Stat tax-xogħol attwali: 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.
total_texts In-numru totali ta’ traduzzjonijiet f’dan il-lott (testi × lingwi fil-mira).
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).
Tip: Meta status huwa "pending", il-ħaddiema GPU huma okkupati b'lottijiet oħra. Iċċekkja queue_position biex tara kemm hemm xogħlijiet qabel tiegħek (1 = int li jmiss).Xogħol tiegħek se jibda awtomatikament — l-ebda azzjoni meħtieġa, sempliċement ikomplu polling.
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.
  • Il-GPU tipproċessa 2 lottijiet b'mod parallel — impjiegi addizzjonali fil-kju u ma jibdewx aktar malajr.
  • 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.
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.

Ipproċessar asinkronu: Talbiet tal-lott jirritornaw immedjatament b’ job_id. Toqba GET /api/v1/jobs/{job_id}/ sakemm status huwa "completed", imbagħad aqra result_data għal traduzzjonijiet. Uża progress_percentage biex jintraċċaw il-progress.

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
  • .txt - Fajls ta' test sempliċi
  • .docx - Dokumenti Word
  • .pdf - Dokumenti PDF (inklużi dawk skenjati)
  • .json - JSON fajls (jittraduċi valuri string)
  • .xml - Fajls XML
  • .srt - Fajls tas-sottotitoli
  • .po / .pot - Fajls tat-traduzzjoni Gettext
  • .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)
OCR Appoġġ: Il-fajls tal-immaġini u l-PDFs skenjati jiġu pproċessati permezz tar-rikonoxximent ottiku tal-karattri (OCR) biex jiġi estratt it-test qabel it-traduzzjoni.Għall-aħjar riżultati, uża immaġini ċari b'riżoluzzjoni għolja.
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"
Il-fajls tal-immaġni huma pproċessati bl-OCR biex jiġi estratt it-test qabel it-traduzzjoni. .txt fajl.
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"
}
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)
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.

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

Sejbien tal-lingwa

Is-sejbien tal-lingwa huwa mibni f'kull talba għat-traduzzjoni. Set source_language to "auto" (jew tħallih barra) u l-lingwa misjuba tiġi rritornata fit-tweġiba.

POST https://api.translateapi.ai/api/v1/translate/
Korp tat-talba
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
Rispons
{
    "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
}

Il- source_language Il-qasam fit-tweġiba juri l-lingwa misjuba meta jintuża l-awto-sejbien.

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
400 Talba ħażina - Parametri invalidi
401 Mhux awtorizzat - Ċavetta API invalida jew nieqsa
402 Ħlas Meħtieġ - Kwota ta' karattri ta' kuljum maqbuża
429 Ħafna Talbiet - Limitu tar-rata maqbuż
503 Servizz Mhux Disponibbli - Traduzzjoni magna temporanjament isfel
Format tar-Rispons ta’ Żball
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

Limiti tar-rata

Il-limiti jvarjaw skont il-pjan. Ara prezzijiet għal dettalji sħaħ:

Pjan Karattri/Xahar 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

Meta taqbeż il-limitu tiegħek, inti ser tirċievi 429 Too Many Requests rispons sakemm ix-xahar li jmiss jew inti taġġorna.

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.

Ikklassifika din il-paġna
Grazzi għall-klassifikazzjoni tiegħek!
/5 ibbażata fuq klassifikazzjonijiet