API دستاويز
اسان جي سادي REST API سان پنهنجي ايپليڪيشنن ۾ طاقتور ترجمو شامل ڪريو.
شروع
The TranslateAPI provides a simple REST interface for translating text between 180+ languages. All API endpoints return JSON responses.
1. توهان جي API کي ڪڍو
مفت اڪائونٽ ٺاهيو ۽ ڊيش بورڊ کان پنهنجي API کيڏ پيدا ڪريو:
- رجسٽر ٿيو translateapi.ai/signup
- ھتي وڃو ڊيش بورڊ → API کيليون
- ڪلڪ ڪريو "API کي ڪڍڻ" ۽ پنھنجي ڪڍڻ جو نقل ڪريو
API ڪُليءَ جو شروع ta_ 56 هڪس نشانن سان گڏ.
https://api.translateapi.ai/api/v1/2. پنھنجو پھريون درخواست ڪريو
YOUR_API_KEY کي پنھنجي ڊسڪ بورڊ جي ڪُليءَ سان مٽائي ڇڏيو:
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!"
جواب
{
"translated_text": "Hola, mundo!",
"source_language": "en",
"target_language": "es",
"translations": {
"es": "Hola, mundo!"
},
"character_count": 13,
"translation_time": 0.45
}
تصديق
API ڪُليءَ جي استعمال سان پنھنجي درخواستن کي تصديق ڪريو. توھان API ڪُليءَ کي پنھنجي ڊيش بورڊ.
هيڊر توثيق (تجويز ڪيل)
Authorization: Bearer ta_your_api_key_here
API ڪيچ هيڊر
Authorization: ApiKey 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) |
engine |
string | نه | ترجمو ڪندڙ انجن: "auto" (درآمد)، "huggingface" يا "madlad". ترجمو ڪندڙ ماڊل ڏسو. ترجمو ماڊل. |
* استعمال 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
}
source_language يا ان کي ھن لاءِ ٺاھيو "auto" ميڊيا جي ٻولي پاڻمرادو ڳولڻ لاءِ استعمال ڪريو. ڳوليل ٻولي کي آخري سٽ ۾ واپس ڪيو ويندو. source_language جوابي ميدان.
ترجمو
ھڪ درخواست ۾ ڪيترن ئي ٻولين ۾ متن جو ترجمو ڪريو. ھڪ ترجمي وانگر ھڪ ئي انڊي پوائنٽ استعمال ڪريو.
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"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)
جواب (پورو)
{
"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 |
اڄ تائين مڪمل ڪيل انفرادي ترجمن جي ڳاڻيٽي. جڏھن هر متن جو ترجمو ڪيو ويندو آھي تڏھن ريئل ٽائيم ۾ اپڊيٽ ڪيو ويندو آھي. |
progress_percentage |
پورائي جي سيڪڙو (0-100). processed_texts / total_texts کان ڳڻيو ويو. |
queue_position |
جڏھن حالت "منتظر" (1 = اڳيان) آھي تڏھن صف ۾ اوھان جو مقام. جيڪڏھن عمل ۾ يا مڪمل آھي تڏھن صف. ھن کي انتظار جي وقت جو اندازو لڳائڻ ۽ پنھنجي استعمال ڪندڙن کي صف جي حالت ڏيکارڻ لاءِ استعمال ڪريو. |
processing_time |
سيڪنڊن ۾ اجمالي پروسيس وقت (جڏھن پورو ٿئي تڏھن دستياب). |
ڪيترن ٻولين وارو باچ
گھڻن متنن جو گھڻن ٻولين ۾ ترجمو ڪريو:
{
"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ٻئي نه.
وڏين ورڪ لوڊن لاءِ بهترين طريقا
- 1 مقصد جي ٻولي موڪليو هر باچ درخواست ۾. ھيءُ هر باچ کي تيز رکندو آھي ۽ ترقي جي پيروي ڪرڻ آسان بڻائيندو آھي.
- 50-100 متن ۾ باڪس رکڻ. ننڍا باڪس جلدي مڪمل ٿيندا ۽ توهان کي وڌيڪ مسلسل ترقي جا اپڊيٽ ڏيندا.
- جيترو ممڪن هجي اوترو ئي ڪم موڪليو - اسان جو GPU ڪلسٽر خودڪار طور تي طلب کي سنڀالڻ لاءِ وڌي ٿو. ڪم ڪيترن ئي مثالن تي متوازي طريقي سان پروسيس ڪيا ويندا آهن.
- وقت گذرڻ تي، نئون بيٽ موڪلڻ جي بدران وئين ڪم_آءِ ڊي کي ٻيهر پُل ڪريو. اصل ڪم اڃان به GPU تي عمل ۾ ٿي سگهي ٿو.
- ھر 3-5 سيڪنڊن ۾ پوئلڳ ڪريو. پوئلڳن کي وڌيڪ پوئلڳ ڪرڻ پروسيس کي تيز نه ڪندو.
دڪان جو ترجمو
پورا دستاويز ترجمو ڪريو جڏهن ته فارميٽنگ برقرار رکو. ڪيتريون ئي فائل فارميٽس کي سپورٽ ڪري ٿو.
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 ترجمو فائل
تصويرون (OCR)
.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"
جواب
{
"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}/
دستاويز جي ترجمي جي حالت چيڪ ڪريو يا ڊائون لوڊ URL حاصل ڪريو.
حالت جا قدر
pending |
فائل اپ لوڊ ڪئي وئي، معالجي جي انتظار ۾ |
processing |
ترجمو جاري آھي |
completed |
ترجمو مڪمل، ڊائون لوڊ موجود |
failed |
ترجمو ناڪام ٿيو (check error_message) |
مدد ڏنل ٻوليون
سڀني مدد ڏنل ٻولين جي فهرست وٺو.
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 | ڪاميابي |
| 202 | قبول ڪيو ويو — باچ ڪم جي قافلي ڪاميابي سان ٺهرائي وئي |
| 400 | خراب درخواست — نااهل پيرا ميٽر (گم ٿيل متن، ناپسنديده ٻولي، وغيره) |
| 401 | ناحقيقي - غلط يا غائب API ڪوڊ |
| 402 | ادائگي جي ضرورت آھي — ڪارٽون ڪريڊٽ ختم ٿي ويا. پنھنجي منصوبي کي اپ گريڊ ڪريو يا وڌيڪ خريد ڪريو. |
| 403 | منع ٿيل — API کي ضرورت جي حد يا IP جي ضرورت نه آهي |
| 503 | سروس دستياب نه آھي - ترجمو انجڻ عارضي طور بند آھي |
غلطي جي جواب جي شڪل
{
"error": "insufficient_credits",
"credits_remaining": 0
}
استعمال جون حدون
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:
| منصوبو | نشان/مھينو | باچ API | دڪان | قيمت | |
|---|---|---|---|---|---|
| مفت | 250,000 | — | — | $0 | رجسٽر ڪريو |
| شروع | 2,500,000 | $9/مھينو | سبسڪرپشن | ||
| پرو | 10,000,000 | $29/مھينو | سبسڪرپشن | ||
| واپار | 40,000,000 | $79/مھينو | سبسڪرپشن | ||
| ماپ | 125,000,000 | $199/مھينو | سبسڪرپشن | ||
| Enterprise | Unlimited | $499/مھينو | Contact Sales |
جڏھن توھان پنھنجي حد کان لنگھي ويندا آھيو، توھان کي ھڪ 402 Payment Required جواب جيستائين ايندڙ مهيني يا توهان جي اپ گريڊ.
خودڪار-سڪيولنگ ڪلاؤڊ انفراسٽرڪچر
TranslateAPI مخصوص NVIDIA A100 GPU مثالن تي پاڻمرادو افقي اسڪيلينگ سان هلندو آهي. جڏھن طلب وڌي ٿي، اضافي GPU مثالن کي منٽن اندر شروع ڪيو ويندو آهي ته جيئن جلدي جواب ڏيڻ جو وقت برقرار رکي سگهجي. سڀ درخواستون صف ۾ رکيل ۽ پروسيس ٿيل آهن - گڏيل درخواستن جا سين موڪليو ۽ اهي سڀ سنڀاليا ويندا. ريئل ٽائيم ترجما ترجيح حاصل ڪندا، پس منظر ۾ باٽ ڪم پروسيس ڪندا.
وڌيڪ ڪريڊٽ جي ضرورت آھي؟
مھيني جي وچ ۾ ڪارڪنن جو اڌ ختم ٿيو؟ هڪ ڀيرو ڪرڊٽ ٽاپ اپ خريد ڪريو پنھنجي منصوبي کي تبديل ڪرڻ کانسواءِ. مٿين پيڪيجز ڏسو