API دستاويز
اسان جي سادي REST API سان پنهنجي ايپليڪيشنن ۾ طاقتور ترجمو شامل ڪريو.
شروع
The TranslateAPI provides a simple REST interface for translating text between 180+ languages. All API endpoints return JSON responses.
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
متن جو ترجمو
متن کي ھڪ مقصد ٻولي ۾ ترجمو ڪريو.
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
}
ترجمو
ھڪ درخواست ۾ ڪيترن ئي ٻولين ۾ متن جو ترجمو ڪريو. ھڪ ترجمي وانگر ھڪ ئي انڊي پوائنٽ استعمال ڪريو.
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 پروسيس سان ڪريو. نتيجن لاءِ بيٽ ۽ پوئلڳ موڪليو.
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ٻئي نه.
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)
مثال (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 فائل.
جواب
{
"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.