תיעוד API

לשלב תרגום רב עוצמה ליישומים שלך עם שאר פשוט שלנו API.

התחלה

TranslationAPI מספק ממשק מנוחה פשוט לתרגום טקסט בין 180+ שפות. כל נקודות הסיום של API מחזירות את תגובות ג'ייסון.

כתובת בסיס: 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 כן. טקסט לתרגום (Max 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 (מערך) עבור מרובים. Translation Multi- Traget Translation.

תגובה
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Translation Multi- Traget Translation

תרגם טקסט לשפות מרובות בבקשה אחת. השתמש באותה נקודה כמו תרגום יחיד.

עצה: אתה יכול לתרגם עד 50 שפות לבקשה אחת.
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
}

תרגום Batch

תרגם טקסטים מרובים בבת אחת עם עיבוד ASYNC. שלח אצווה וסקר לתוצאות.

גבולות: מקסימום 500 טקסטים לכל אצווה, מקסימום 750 פריטים בסך הכל (טקסטים × שפות היעד). זמן העבודה הוא 30 דקות לאחר תחילת העיבוד (זמן ההמתנה לא נספר).
זמן העיבוד משתנה על ידי השפה: שפות נפוצות (Spanish, French, German, וכו') משתמשות במודלים מהירים (~0.1s לכל טקסט), ואילו פחות שפות נפוצות משתמשות במודל הרב-לשוני הגדול שלנו (~1-3s לכל טקסט).
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)
תגובה (pending □ בשורה, מחכה לג'י-פי-יו)
{
    "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). חשב מתוך עיבוד_טקסטים / סך_טקסטים.
queue_position המיקום שלך בתור כאשר הסטטוס הוא "pending" (1 = הבא). בטל כאשר עיבוד או הושלם. השתמש באפשרות זו כדי להעריך את זמן ההמתנה ולהציג מצב תור למשתמשים שלך.
processing_time זמן עיבוד כולל בשניות (ניתנות להשגה כאשר הושלם).
עצה: מתי status הוא "pending"עובדי ה-GPU עסוקים עם קבוצות אחרות. queue_position כדי לראות כמה עבודות יש לפניך (1= אתה הבא בתור) העבודה שלך תתחיל באופן אוטומטי לא דרושה פעולה, רק תמשיך לסקור.
התרגולים הטובים ביותר לעומסי עבודה גדולים
  • שלח שפת מטרה אחת לבקשת אצווה. דבר זה שומר על כל קבוצה מהירה ועושה התקדמות קלה לאיתור.
  • שמור אצווה ב50-100 טקסטים. אצווה קטנה יותר להשלים מהר יותר ולתת לך עדכוני התקדמות תכופים יותר.
  • הפעל בכל 2 עבודות אצווה במקביל. התהליכים GPU 2 אצטברות בתור עבודה במקביל É נוסף ולא יתחיל מהר יותר.
  • על פסק זמן, re-poll אותה העבודה_id במקום הגשת אצווה חדש. העבודה המקורית עשויה עדיין להיות עיבוד על GPU.
  • סקרים כל 3-5 שניות, סקרים תכופים יותר לא מאיצים את העיבוד.
Batch Multi- Language

תרגם טקסטים מרובים לשפות מרובות בבת אחת:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
תוצאה הושלמה_ 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"

* Speciation either target_language או target_languagesלא שניהם.

עיבוד assync: Batch asks return sitely with a job_id. סקר@ item: inlistbox GET /api/v1/jobs/{job_id}/ עד status הוא "completed"אז תקרא. result_data עבור תרגומים. השתמש progress_percentage כדי לעקוב אחר התקדמות.

תרגום מסמך

תרגם מסמכים שלמים בעת שמירה על תבנית. תומך בתבניות קבצים מרובות.

POST https://api.translateapi.ai/api/v1/translate/document/
בקשה (multipart/form- deta)
פרמטר סוג נדרש תיאור
file file כן. המסמך לתרגום (Max 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 (OCR)
  • .png - תמונות PNG (OCR)
  • .tiff / .tif - תמונות TIFF (OCR)
  • .bmp - תמונות BMP (OCR)
  • .webp - תמונות אינטרנט (OCR)
תמיכה OCR: קבצי תמונה וסרק PDF מעובד עם זיהוי תווים אופטי (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"
קבצי תמונה מעובדים עם OCR כדי לחלץ טקסט לפני התרגום. הפלט המתורגם חוזר בתור .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}/

בדוק את הסטטוס של תרגום מסמך או לאחזר את כתובת ההורדה.

תגובה
{
    "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
}

The 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 שלנו. כל המודלים מורשים מסחרית (Apache 2.0).

דגם שפות הטוב ביותר עבור
Helsinki-NLP/opus-mt 50+זוגות שפה שפות נפוצות (EN, ES, FR, De, IT, PT, RU, ZH, JA, וכו ').
Google MADLAD-400 400+ שפות שפות נדירות, כיסוי מקיף

API בוחר אוטומטית את המודל הטוב ביותר עבור זוג השפות שלך. באפשרותך לציין אופציונלית engine פרמטר:

מנוע תיאור
"auto" ברירת מחדל. Tries Hugingface first, falls back to MADLAD-400
"huggingface" כפה על פרצוף מחבק/מריאן MT (מהיר ביותר, 50+ שפות)
"madlad" Force 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 הרשמה חופשית
התחל@ title: window 2,500,000 $9/מו רשום
בעד 10,000,000 $29/מו רשום
עסקים 40,000,000 $79/מו רשום
קנה מידה 125,000,000 $199/מו רשום

כאשר אתה עובר את הגבול שלך, תקבל 429 Too Many Requests תגובה עד החודש הבא או שאתה לשדרג.

תשתית ענן הסלסול האוטומטית

translamAPI פועל על מקרים ייעודיים של NVIDIA A100 GPU עם עליות אופקיות אוטומטיות. כאשר הביקוש עולה, מופעים נוספים של GPU משוגרים בתוך דקות כדי לשמור על זמני תגובה מהירים. זה אומר ש-API שלנו יכול להתמודד עם בקשות בלתי מוגבלות כמעט במקביל ללא השפלה □ מבקשה אחת לאלפים לדקה.

דרג עמוד זה
תודה על הדירוג שלך!
/5 מבוסס על דירוגים