API دستاویزات
ہمارے سادہ REST API کے ساتھ اپنے ایپلیکیشنز میں طاقتور ترجمہ شامل کریں.
شروع
TranslateAPI 180+ زبانوں کے درمیان متن کا ترجمہ کرنے کے لئے ایک سادہ REST انٹرفیس فراہم کرتا ہے۔ تمام API انتہا پوائنٹس JSON جوابات واپس کرتے ہیں۔
آپ کی API کی کلید حاصل کریں
ایک مفت اکاؤنٹ بناؤ اور ڈیش بورڈ سے اپنی API کی کلید پیدا کرو:
- درج نامہ translateapi.ai/signup
- اس پر جائیں ڈش بورڈ → API کلیدیں
- "API کی کلید بناؤ" پر کلک کریں اور اپنی کلید کاپی کریں
API کیول سے شروع ہوتے ہیں ta_ 56 hex حروف کے بعد
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 ایک زبان يا 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 متعدد ہدفوں کے لئے (سطر)
جواب
{
"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}/
پولنگ مثال (پائٹون)
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 (کیے، ایک GPU کارکن کی انتظار)، 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"
}
پورا ہوا 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
}
درخواست پیرامیٹرز
| پیرامیٹرز | قسم | ضروری | وضاحت |
|---|---|---|---|
texts |
array | جی ہاں | ترجمہ کرنے کے لیے سٹرینڈز کا آرری |
target_language |
string | ہاں * | ایک زبان کے لیے مقصد زبان کوڈ |
target_languages |
array | ہاں * | متعدد زبانوں کے لیے مقصد زبان کوڈز کا آرری |
source_language |
string | نہیں | Source language code. Default: "auto" |
* یا تو فراہم کریں target_language يا target_languages، دونوں نہیں.
بڑے ورک لوڈ کے لئے بہترین عمل
- ہر بیچ درخواست پر 1 مقصد زبان بھیجیں. یہ ہر بیچ کو تیز رکھتا ہے اور ترقی کو پیچھا کرنے میں آسان بناتا ہے.
- 50-100 متنوں پر بیٹس رکھیں. چھوٹے بیٹس جلدی مکمل ہوتے ہیں اور آپ کو زیادہ بار بار ترقی کی تغیرات دیتے ہیں.
- آپ کو کتنے بھی بجٹ کام پیش کریں - ہمارا GPU کلسٹر خودکار پیمانے طلب کو ہینڈل کرنے کے لئے. کام متعدد مثالوں پر متوازے طور پر پروسیسنگ کیے جاتے ہیں.
- وقت ختم ہونے پر، ایک نئی بیچ پیش کرنے کی بجائے ایک ہی job_id کو دوبارہ پول کریں. اصل کام اب بھی GPU پر پروسیسنگ میں ہو سکتا ہے.
- ہر 3-5 سیکنڈ پو ل. زیادہ بار پو ل کے عمل کی رفتار نہیں بڑھتی.
دستاویزی ترجمہ
پورے دستاویز کا ترجمہ فرمائی کو محفوظ رکھتے ہوئے کریں. متعدد فائل فارمیٹ کی حمایت کرتا ہے.
POST https://api.translateapi.ai/api/v1/translate/document/
درخواست (ملٹی پارٹ/فرم ڈیٹا)
| پیرامیٹرز | قسم | ضروری | وضاحت |
|---|---|---|---|
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- ترجمے کی فائلیں
تصویریں
.jpg/.jpeg- JPEG تصویریں.png- PNG تصاویر (OCR).tiff/.tif- TIFF تصویریں (OCR).bmp- BMP تصویریں (OCR).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 |
ترجمہ ناکام ہوا (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"},
...
]
}
ترجمہ ماڈل
ہم اپنے GPU کے بنیادی ڈھانچے پر چلنے والے اعلیٰ معیار کے اوپن سورس ترجمے کے ماڈلز کا استعمال کرتے ہیں۔ تمام ماڈلز تجارتی طور پر لائسنس کیے گئے ہیں۔ (اپاشی 2.0)
| ماڈل | زبانیں | بہترین |
|---|---|---|
| Helsinki-NLP/opus-mt | 50+ زبان جوڑے | عام زبانیں (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etc.) |
| Google MADLAD-400 | 400+ زبانیں | نایاب زبانیں، جامع کوڈر |
API خودکار طور پر آپ کی زبان کے جوڑ کے لیے بہترین ماڈل منتخب کرتا ہے. آپ اختیاری طور پر ایک بیان کر سکتے ہیں engine پیرامیٹر:
| انجن | وضاحت |
|---|---|
"auto" |
دیفالٹ. HuggingFace کو پہلے کوشش کرتا ہے، MADLAD-400 پر واپس آتا ہے |
"huggingface" |
Force 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 مثالیں تیز جواب کے وقتوں کو برقرار رکھنے کے لئے منٹوں میں شروع کی جاتی ہیں. تمام درخواستیں قطار میں لگائی جاتی ہیں اور پروسیسنگ کی جاتی ہیں - سینکڑوں متوازی درخواستیں بھیجیں اور وہ سب ہینڈل کی جائیں گی. ریل-ٹائم ترجمے کو ترجیح دی جاتی ہے، پس منظر میں بٹکہ کاموں کا پروسیسنگ.
مزید کریڈٹز کی ضرورت ہے؟
ماہ کے وسط میں حروف ختم ہو گئے؟ اپنے منصوبے کو تبدیل کرنے کے بغیر ایک بار کریڈٹ ٹوپ اپ خریدیں. ٹوپ اپ پیکج دیکھیں