مستندات

ترجمه قدرتمند را با برنامه‌های کاربردی خود با API REST ساده ما ادغام کنید.

شروع

TranslateAPI یک رابط REST ساده برای ترجمه متن بین ۱۸۰+ زبان فراهم می‌کند.

کلید API خود را دریافت کنید

ایجاد یک حساب رایگان و تولید کلید API خود از صفحه نمایش:

  1. ثبت نام در translateapi.ai/signup
  2. بروید به داشبورد → کلیدهای API
  3. روی «ساخت کلید API» کلیک کنید و کلید خود را رونوشت کنید

کلیدهای API با ta_ 56 کاراکتر مثانه اي دنبالش ميشه

نشانی وب پایه: https://api.translateapi.ai/api/v1/
2. اولین درخواست خود را بفرستید

کلید 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
سرآیند
Authorization: ApiKey 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 آره متن برای ترجمه) حداکثر ۵۰۰۰۰ کاراکتر (
target_language string آره Target language code (e.g., "es", "fr", "de")
source_language string نه Source language code. Default: "auto" (auto-detect)
engine string نه موتور ترجمه: » خودکار « (پیش‌فرض)، » چهره‌ی در آغوش کشیدن « ، یا » 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 (string) برای چند هدف.

پاسخ
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
نوع: شما می‌توانید تا ۵۰ زبان را در یک درخواست ترجمه کنید.

ترجمۀ گروهی

ترجمه چند متن در یک زمان با پردازش غیر همگام. ارسال یک بسته و نظرسنجی برای نتایج.

محدودیتها: بیشینه ۱۰۰ متن در هر بسته ، بیشینه ۳۰۰ مورد در مجموع) متنها × زبانهای هدف (. زمان‌بندی کارها ۴۵ دقیقه پس از شروع پردازش است.
سرعت: زبان‌های رایج (ES, FR, DE) از مدل‌های سریع (~0.1s/text) استفاده می‌کنند. زبان‌های کمتر رایج از مدل چندزبانه ما استفاده می‌کنند (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
گام ۱: ارسال دسته
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/"
}
گام ۲: نظرسنجی برای نتایج
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 درصد تکمیل (۰- ۱۰۰). از processed_ texts / total_ texts محاسبه می‌شود.
queue_position موقعیت شما در صف هنگامی که وضعیت » منتظر « است) ۱ = بعدی (. صفر هنگام پردازش یا تکمیل. از این برای تخمین زمان انتظار و نمایش وضعیت صف به کاربرانتان استفاده کنید.
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نه هر دو

بهترین روش‌ها برای بارهای کاری بزرگ
  • فرستادن یک زبان هدف در هر درخواست دسته. این هر دسته را سریع نگه می‌دارد و ردیابی پیشرفت را آسان می‌کند.
  • بسته‌ها را در ۵۰- ۱۰۰ متن نگه دارید. بسته‌های کوچکتر سریعتر تکمیل می‌شوند و به روزرسانی‌های پیشرفت مکررتری به شما می‌دهند.
  • هر چه تعداد کارهای بسته ای که نیاز دارید را ارسال کنید — خوشه GPU ما برای مدیریت تقاضا به صورت خودکار مقیاس بندی می‌شود. کارها به صورت موازی در چندین نمونه پردازش می‌شوند.
  • در زمان‌بندی، به جای ارسال یک بسته جدید، همان job_id را دوباره پرس و جو کنید. ممکن است کار اصلی هنوز در GPU در حال پردازش باشد.
  • هر ۳- ۵ ثانیه پرس و جو. پرس و جوهای مکررتر سرعت پردازش را افزایش نمی‌دهد.

ترجمۀ سند

ترجمۀ تمام سندها با حفظ قالب‌بندی. از قالب‌های پروندۀ متعدد پشتیبانی می‌کند.

POST https://api.translateapi.ai/api/v1/translate/document/
درخواست) چندبخشی/داده‌های فرم (
پارامتر & نوع‌ الزامی & توصیف‌
file file آره سند برای ترجمه) حداکثر ۱۰ مگابایت (
target_language string آره Target language code (e.g., "es", "fr", "de")
source_language string نه Source language code. Default: "auto" (auto-detect)
انواع پرونده‌های پشتیبانی‌شده
سندها
  • .txt - پرونده‌های متنی ساده
  • .docx - سندهای Word
  • .pdf - سندهای PDF (از جمله اسکن شده)
داده‌ها و محلی‌سازی
  • .json - پرونده‌های JSON) مقادیر رشته را ترجمه می‌کند (
  • .xml - پرونده‌های XML
  • .srt - پرونده‌های زیرنویس
  • .po / .pot - پرونده‌های ترجمۀ Gettext
تصاویر) OCR (
  • .jpg / .jpeg - تصاویر JPEG) OCR (
  • .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"
}
پشتیبانی OCR: پرونده‌های تصویر و PDFهای اسکن‌شده با تشخیص نوری نویسه‌ها (OCR) برای استخراج متن قبل از ترجمه پردازش می‌شوند. برای بهترین نتایج ، از تصاویر واضح و با وضوح بالا استفاده کنید.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

بررسی وضعیت ترجمه یک سند یا بازیابی نشانی وب بارگیری.

مقادیر وضعیت
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"},
        ...
    ]
}

نمایش همۀ ۱۸۶ زبان

مدل‌های ترجمه

ما از پیشرفته‌ترین مدل‌های ترجمه متن باز استفاده می‌کنیم که بر روی زیرساخت GPU خودمان اجرا می‌شوند. تمام مدل‌ها به صورت تجاری مجوز دارند (آپاچی ۲٫۰).

مدل زبانها بهترین برای
Helsinki-NLP/opus-mt 50+ جفت زبان زبان‌های مشترک (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etc.)
Google MADLAD-400 400+ زبان زبانهای نادر، پوشش جامع

پی‌آی‌پی به‌طور خودکار بهترین مدل را برای زوج زبانتان انتخاب می‌کند. می‌توانید گزینه‌ای را مشخص کنید engine پارامتر:

موتور & توصیف‌
"auto" پیش‌فرض، اول سعی می‌کند HuggingFace را امتحان کند، به MADLAD-400 برمی‌گردد
"huggingface" Force HuggingFace/MarianMT (سریع‌ترین، بیش از ۵۰ زبان)
"madlad" Force MADLAD-400 (400+ languages) مشارکت‌کنندگان ویکی‌پدیا.

دستکاری خطا

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/% 1 دقیقه اشتراک
حرفه‌ای 10,000,000 $29/% 1 دقیقه اشتراک
کار 40,000,000 $79/% 1 دقیقه اشتراک
مقیاس‌بندی 125,000,000 $199/% 1 دقیقه اشتراک
Enterprise Unlimited $499/% 1 دقیقه Contact Sales

وقتي از حدت فراتر رفتي، يه 402 Payment Required تا ماه ديگه جواب نميدم وگرنه ارتقا ميديد

زیرساخت ابری مقیاس‌پذیری خودکار

TranslateAPI روی نمونه‌های اختصاصی NVIDIA A100 GPU با مقیاس‌بندی افقی خودکار اجرا می‌شود. هنگامی که تقاضا افزایش می‌یابد، نمونه‌های اضافی GPU در عرض چند دقیقه برای حفظ زمان پاسخ سریع راه اندازی می‌شوند. همه درخواست‌ها صف‌بندی و پردازش می‌شوند - صدها درخواست همزمان ارسال می‌شود و همه آن‌ها مدیریت می‌شوند. ترجمه‌های زمان واقعی اولویت دارند، کارهای بسته در پس زمینه پردازش می‌شوند.

اعتبارات بيشتري لازم داريد؟

در اواسط ماه کارت‌هاي شما تموم ميشه؟ بدون تغيير دادن برنامه‌ي خود، يه باري پول اضافه خريداري کنيد. نمایش بسته‌های بالا

رتبه بندی این صفحه
ممنون از رتبه بندی شما!
/5 بر اساس رتبه‌ها