API دستاويز

اسان جي سادي REST API سان پنهنجي ايپليڪيشنن ۾ طاقتور ترجمو شامل ڪريو.

شروع

The TranslateAPI provides a simple REST interface for translating text between 180+ languages. All API endpoints return JSON responses.

بنياد URL: https://api.translateapi.ai/api/v1/
جلد شروع

پنھنجو پھريون ترجمو درخواست ڪريو:

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

تصديق

API ڪُليءَ جي استعمال سان پنھنجي درخواستن کي تصديق ڪريو. توھان API ڪُليءَ کي پنھنجي ڊيش بورڊ.

هيڊر توثيق (تجويز ڪيل)
Authorization: Bearer ta_your_api_key_here
پڇا ڳاڇا
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
پنھنجي API کيڏن کي محفوظ رکو! انھن کي ڪلائنٽ پاسي جي ڪوڊ يا عوامي ذخيرن ۾ نه ڏيکاريو.

متن جو ترجمو

متن کي ھڪ مقصد ٻولي ۾ ترجمو ڪريو.

POST https://api.translateapi.ai/api/v1/translate/
درخواست جو جسم
پيراميڊ قسم لازمي بيان
text string ھائو ترجمو ڪرڻ لاءِ متن (وڌيڪ ۾ وڌي 50,000 نشان)
target_language string ھائو* Target language code (e.g., "es", "fr", "de")
source_language string نه Source language code. Default: "auto" (auto-detect)

* استعمال target_language (string) هڪڙي ٻولي يا target_languages (اريئر) گھڻن لاءِ. ڏسو ترجمو.

جواب
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

ترجمو

ھڪ درخواست ۾ ڪيترن ئي ٻولين ۾ متن جو ترجمو ڪريو. ھڪ ترجمي وانگر ھڪ ئي انڊي پوائنٽ استعمال ڪريو.

قسم: توهان هڪ درخواست ۾ 50 ٻولين تائين ترجمو ڪري سگهو ٿا.
POST https://api.translateapi.ai/api/v1/translate/
درخواست جو جسم
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

استعمال target_languages (اريئر) جي بدران target_language (string) ڪيترن ئي مقصدن لاءِ.

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

ترجمو

ڪيترن ئي متنن جو ترجمو هڪ ڀيري async پروسيس سان ڪريو. نتيجن لاءِ بيٽ ۽ پوئلڳ موڪليو.

حدون: وڌ ۾ وڌ 500 متن هر بيٽ ۾، وڌ ۾ وڌ 750 مجموعي شيون (Texts × Target languages). پروسيس شروع ٿيڻ کان پوءِ 30 منٽن کان پوءِ ڪم وقت کان ٻاهر ٿين ٿا (پيار واري وقت کي ڳڻپ نه ڪيو ويندو آهي).
پروسيسنگ جو وقت ٻوليءَ تي منحصر آهي: عام ٻوليون (سپايني، فرانسيسي، جرمن، وغيره) تيز ماڊل استعمال ڪن ٿيون (~0.1s per text)، جڏهن ته گهٽ عام ٻوليون اسان جو وڏو ٻن ٻولين وارو ماڊل استعمال ڪن ٿيون (~1-3s per text). عام ٻولين لاءِ 100- متن وارو بيٽ عام طور تي 10- 30 سيڪنڊن ۾ مڪمل ٿئي ٿو، يا گهٽ عام ٻولين لاءِ 2- 5 منٽن ۾. بهترين نتيجن لاءِ، هر بيٽ جي درخواست تي 1 مقصد ٻولي موڪليو ۽ بيٽ جي سائيز 50 متن کان گهٽ رکجو.
POST https://api.translateapi.ai/api/v1/translate/batch/
قدم 1: باچ داخل ڪريو
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"
}'
جواب (HTTP 202 قبول ٿيل)
{
    "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/"
}
مرحلو 2: نتيجن لاءِ ووٽ ڏيو
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
پولنگ مثال (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)
جواب (جاءِ تي — لسٽ ۾ ، GPU جي انتظار ۾)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
جواب (عملدرآمد دوران)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
جواب (پورو)
{
    "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
    }
}
ريئل-ٽائم ترقي جي پيروي

سڀئي پوئلڳن جا جواب حقيقي وقت جي ترقي جا ميدان شامل ڪن ٿا ته جيئن توھان پنھنجن ٽڪرن سان ڇا ٿي رهيو آھي سو ڏسي سگھو:

ميدان بيان
status موجوده ڪم جي حالت: pending (قطار ۾، جي پي يو ورڪرز جي انتظار ۾)، processing پوءِ (پنھنجي ڪم ۾) ڊوڙندڙن گھوڙن جو قسم آھي. completed, failed
processed_texts اڄ تائين مڪمل ڪيل انفرادي ترجمن جي ڳاڻيٽي. جڏھن هر متن جو ترجمو ڪيو ويندو آھي تڏھن ريئل ٽائيم ۾ اپڊيٽ ڪيو ويندو آھي.
total_texts مجموعي تعداد ترجمن جي ھن ٽولي ۾ (Texts × Target languages).
progress_percentage پورائي جي سيڪڙو (0-100). processed_texts / total_texts کان ڳڻيو ويو.
queue_position جڏھن حالت "منتظر" (1 = اڳيان) آھي تڏھن صف ۾ اوھان جو مقام. جيڪڏھن عمل ۾ يا مڪمل آھي تڏھن صف. ھن کي انتظار جي وقت جو اندازو لڳائڻ ۽ پنھنجي استعمال ڪندڙن کي صف جي حالت ڏيکارڻ لاءِ استعمال ڪريو.
processing_time سيڪنڊن ۾ اجمالي پروسيس وقت (جڏھن پورو ٿئي تڏھن دستياب).
قسم: جڏھن status آھي "pending", جي پي يو ورڪرز ٻين بيٽس سان مصروف آھن. queue_position ڏسڻ لاءِ ته ڪيترا ڪم اوھان کان اڳ ۾ آھن (1 = اوھين اڳيان آھيو). اوھان جو ڪم پاڻمرادو شروع ٿيندو - ڪوبه عمل ڪرڻ جي ضرورت نه آھي، رڳو پوسٽنگ جاري رکو.
وڏين ورڪ لوڊن لاءِ بهترين طريقا
  • 1 مقصد جي ٻولي موڪليو هر باچ درخواست ۾. ھيءُ هر باچ کي تيز رکندو آھي ۽ ترقي جي پيروي ڪرڻ آسان بڻائيندو آھي.
  • 50-100 متن ۾ باڪس رکڻ. ننڍا باڪس جلدي مڪمل ٿيندا ۽ توهان کي وڌيڪ مسلسل ترقي جا اپڊيٽ ڏيندا.
  • گھٽ ۾ گھٽ 2 گڏيل باچ ڪم هلائيندا. GPU 2 باچ ڪمن کي موازنہ ۾ پروسيس ڪندو آھي - اضافي ڪمن جي لسٽ ۽ جلدي شروع نه ٿيندو.
  • وقت گذرڻ تي، نئون بيٽ موڪلڻ جي بدران وئين ڪم_آءِ ڊي کي ٻيهر پُل ڪريو. اصل ڪم اڃان به GPU تي عمل ۾ ٿي سگهي ٿو.
  • ھر 3-5 سيڪنڊن ۾ پوئلڳ ڪريو. پوئلڳن کي وڌيڪ پوئلڳ ڪرڻ پروسيس کي تيز نه ڪندو.
ڪيترن ٻولين وارو باچ

گھڻن متنن جو گھڻن ٻولين ۾ ترجمو ڪريو:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
مڪمل ٿيل نتيجو_ ڊيٽا
{
    "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
}
درخواست جا پيرا ميٽر
پيراميڊ قسم لازمي بيان
texts array ھائو ترجمو ڪرڻ لاءِ لفظن جو سلسلو
target_language string ھائو* ھڪ ٻوليءَ لاءِ مقصد ٻولي ڪوڊ
target_languages array ھائو* گھڻن ٻولين لاءِ مقصد جي ٻولي جي ڪوڊن جو سلسلو
source_language string نه Source language code. Default: "auto"

* يا ته ڏيو target_language يا target_languagesٻئي نه.

Async پروسيسنگ: باچ درخواستون فوري طور تي هڪ سان موٽنديون job_id. سوراخ GET /api/v1/jobs/{job_id}/ جيستائين status آھي "completed"پوءِ پڙھو result_data ترجمن لاءِ. progress_percentage ترقي جي پيروي ڪرڻ لاءِ.

دڪان جو ترجمو

پورا دستاويز ترجمو ڪريو جڏهن ته فارميٽنگ برقرار رکو. ڪيتريون ئي فائل فارميٽس کي سپورٽ ڪري ٿو.

POST https://api.translateapi.ai/api/v1/translate/document/
درخواست (multipart/form-data)
پيراميڊ قسم لازمي بيان
file file ھائو ترجمو ڪرڻ لاءِ دستاويز (وڌيڪ ۾ وڌي 10MB)
target_language string ھائو Target language code (e.g., "es", "fr", "de")
source_language string نه Source language code. Default: "auto" (auto-detect)
مدد ڏنل فائل قسم
  • .txt - عام متن فائلون
  • .docx - ورڈ دڪان
  • .pdf - PDF دستاويز (سڪن ٿيل سميت)
  • .json - JSON فائلون (سٽرين جي قدرن جو ترجمو)
  • .xml - XML فائل
  • .srt - سبٽيٽ فائل
  • .po / .pot - Gettext ترجمو فائل
  • .jpg / .jpeg - JPEG تصويرون
  • .png - PNG تصويرون
  • .tiff / .tif - TIFF تصويرون (OCR)
  • .bmp - BMP تصويرون
  • .webp - WebP تصويرون (OCR)
OCR مدد: تصويري فائلون ۽ اسڪين ٿيل پي ڊي ايفز ترجمي کان اڳ متن ڪڍڻ لاءِ آپٽڪ ڪارٽس رڪارڊنگ (OCR) سان پروسيس ڪيا ويندا آهن. بهترين نتيجن لاءِ، صاف، اعليٰ ريزوليوشن وارا تصويرون استعمال ڪريو.
مثال (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"
تصويرون OCR سان پروسيس ڪيون وينديون آهن ته جيئن ترجمي کان اڳ ۾ متن ڪڍي سگهجي. ترجمو ٿيل نتيجو هڪ .txt فائل.
جواب
{
    "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"
}
حالت جا قدر
pending فائل اپ لوڊ ڪئي وئي، معالجي جي انتظار ۾
processing ترجمو جاري آھي
completed ترجمو مڪمل، ڊائون لوڊ موجود
failed ترجمو ناڪام ٿيو (check error_message)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

دستاويز جي ترجمي جي حالت چيڪ ڪريو يا ڊائون لوڊ URL حاصل ڪريو.

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

ٻولي جي ڳولا

هر ترجمي جي درخواست ۾ ٻولي جي ڳولا داخل ڪئي ويندي. source_language to "auto" (يا ان کي ڇڏي ڏيو) ۽ ڳولي لڌل ٻولي جواب ۾ موٽائي ويندي.

POST https://api.translateapi.ai/api/v1/translate/
درخواست جو جسم
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
جواب
{
    "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
}

ھي source_language جڏھن خودڪار ڳولا استعمال ڪئي وڃي ته جواب ۾ ڏنل ميدان ڳوليل ٻولي ڏيکاريندو آھي.

مدد ڏنل ٻوليون

سڀني مدد ڏنل ٻولين جي فهرست وٺو.

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

ترجمو ماڊل

اسان state-of-the-art اوپن سورس ترجمي جا ماڊل استعمال ڪندا آهيون جيڪي اسان جي پنهنجي GPU بنياد تي هلندا آهن. سڀ ماڊل تجارتي طور تي لائسنس ٿيل آهن (Apache 2.0).

ماڊل ٻوليون بهترين
Helsinki-NLP/opus-mt ٻولين جا جوڙا عام ٻوليون (EN, ES, FR, DE, IT, PT, RU, ZH, JA، وغيره)
Google MADLAD-400 ٻوليون ناياب ٻوليون، جامع ڪوڊنگ

API پاڻمرادو توھان جي ٻوليءَ جي جوڙي لاءِ بھترين ماڊل چونڊيندو آھي. توھان اختياري طور ھڪ ماڊل بيان ڪري سگھو ٿا. engine پيراميڊ:

انجن بيان
"auto" ڊفالٽ. پهرين HuggingFace جي ڪوشش ڪري، MADLAD-400 ڏانهن موٽندي
"huggingface" HuggingFace/MarianMT کي زور ڏيڻ (شديد، 50+ ٻوليون)
"madlad" فورس MADLAD-400 (400+ ٻوليون)

غلطين جي سنڀال

API ڪاميابي يا ناڪامي جو اشارو ڏيڻ لاءِ معياري HTTP حالت ڪوڊ استعمال ڪندو آهي.

ڪوڊ بيان
200 ڪاميابي
400 خراب درخواست - نااهل پيرا ميٽر
401 ناحقيقي - غلط يا غائب API ڪوڊ
402 ادائگي جي ضرورت آھي - روزاني ڪارڪنن جي حصي ۾ واڌ
429 گھڻيون درخواستون - شرح حد کان لنگھي وئي
503 سروس دستياب نه آھي - ترجمو انجڻ عارضي طور بند آھي
غلطي جي جواب جي شڪل
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

شرح جي حدون

حدون منصوبي تي منحصر آھن. ڏسو قيمت مڪمل تفصيلن لاءِ:

منصوبو نشان/مھينو قيمت
مفت 250,000 $0 رجسٽر ڪريو
شروع 2,500,000 $9/مھينو سبسڪرپشن
پرو 10,000,000 $29/مھينو سبسڪرپشن
واپار 40,000,000 $79/مھينو سبسڪرپشن
ماپ 125,000,000 $199/مھينو سبسڪرپشن

جڏھن توھان پنھنجي حد کان لنگھي ويندا آھيو، توھان کي ھڪ 429 Too Many Requests جواب جيستائين ايندڙ مهيني يا توهان جي اپ گريڊ.

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.

ھن صفحي کي درجو ڏيو
اوهان جو خراج عقيدت!
/5 تي ٻڌل تصنيف