API دستاویزات
ہمارے سادہ REST API کے ساتھ اپنے ایپلیکیشنز میں طاقتور ترجمہ شامل کریں.
شروع
TranslateAPI 180+ زبانوں کے درمیان متن کا ترجمہ کرنے کے لئے ایک سادہ REST انٹرفیس فراہم کرتا ہے۔ تمام API انتہا پوائنٹس JSON جوابات واپس کرتے ہیں۔
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 ایک زبان يا 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 متعدد ہدفوں کے لئے (سطر)
جواب
{
"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"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 (کیے، ایک GPU کارکن کی انتظار)، processing (فعال طور پر ترجمہ) completed, failed |
processed_texts |
کنونشن کے مطابق ترجمے کی تعداد مکمل ہو چکی ہے. ہر متن کا ترجمہ ہونے کے بعد رئیل ٹائم میں اپڈیٹ کی جاتی ہے. |
total_texts |
اس بیچ میں ترجموں کی کل تعداد (تکلیفیں × مراد زبانیں)۔ |
progress_percentage |
پورا ہونے کا فیصد (0-100). processed_texts / total_texts سے حساب کیا گیا. |
queue_position |
صف میں آپ کی جگہ جب حالت "منتظر" ہو (1 = اگلے اوپر). صف جب پروسیسنگ یا مکمل ہو جائے. انتظار کے وقت کی تخمینے کے لیے اس کا استعمال کریں اور اپنے صارفوں کو صف کی حالت دکھائیں. |
processing_time |
سیکنڈ میں کل پروسیسنگ وقت (موجود جب مکمل ہو جائے) |
status ہے "pending", GPU کارکن ديگر بيٹس کے ساتھ مشغول هے. queue_position آپ کے کام کے آگے کتنے کام ہیں دیکھنے کے لیے (1 = آپ اگلے ہیں). آپ کا کام خودکار طور پر شروع ہوگا - کوئی عمل کی ضرورت نہیں ہے، صرف پولنگ جاری رکھیں.
بڑے ورک لوڈ کے لئے بہترین عمل
- ہر بیچ درخواست پر 1 مقصد زبان بھیجیں. یہ ہر بیچ کو تیز رکھتا ہے اور ترقی کو پیچھا کرنے میں آسان بناتا ہے.
- 50-100 متنوں پر بیٹس رکھیں. چھوٹے بیٹس جلدی مکمل ہوتے ہیں اور آپ کو زیادہ بار بار ترقی کی تغیرات دیتے ہیں.
- زیادہ سے زیادہ 2 ایک ساتھ بیچ کام چلائیں. GPU 2 بیچ کو متوازے طور پر پروسیسنگ کرتا ہے - اضافی کام کوے میں اور تیزی سے نہیں شروع ہوگا.
- وقت ختم ہونے پر، ایک نئی بیچ پیش کرنے کی بجائے ایک ہی job_id کو دوبارہ پول کریں. اصل کام اب بھی GPU پر پروسیسنگ میں ہو سکتا ہے.
- ہر 3-5 سیکنڈ پو ل. زیادہ بار پو ل کے عمل کی رفتار نہیں بڑھتی.
کثیر زبانوں کا باچ
ایک ساتھ متعدد تحریروں کا متعدد زبانوں میں ترجمہ کریں:
{
"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، دونوں نہیں.
job_id. سوراخ GET /api/v1/jobs/{job_id}/ جب تک status هيں "completed"پھر پڑھو result_data ترجمے کے ليے progress_percentage ترقی کو پیچھا کرنے کے لئے.
دستاویزی ترجمہ
پورے دستاویز کا ترجمہ فرمائی کو محفوظ رکھتے ہوئے کریں. متعدد فائل فارمیٹ کی حمایت کرتا ہے.
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"
.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 |
ترجمہ ناکام ہوا (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"},
...
]
}
ترجمہ ماڈل
ہم اپنے 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 |
کامیابی |
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.