תיעוד 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
תרגם טקסט לשפות מרובות בבקשה אחת. השתמש באותה נקודה כמו תרגום יחיד.
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. שלח אצווה וסקר לתוצאות.
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לא שניהם.
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)
דוגמה (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 |
תרגום נכשל (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 שלנו יכול להתמודד עם בקשות בלתי מוגבלות כמעט במקביל ללא השפלה □ מבקשה אחת לאלפים לדקה.