เอกสาร API

เชื่อมโยงการแปลที่ทรงพลังเข้ากับแอพพลิเคชันของคุณด้วย REST API ง่ายๆของเรา

เริ่มต้น

TranslateAPI ให้บริการอินเทอร์เฟซ REST ง่ายๆ สำหรับการแปลข้อความระหว่าง 180+ ภาษา จุดจบของ API ทั้งหมดจะส่งผลลัพธ์เป็น JSON

1. เอากุญแจ API มา

สร้างบัญชีผู้ใช้ฟรี และสร้างกุญแจ API จากแดชบอร์ด:

  1. ลงทะเบียนที่ translateapi.ai/signup
  2. ไปยัง แผงควบคุม → กุญแจ API
  3. คลิกที่ "สร้างกุญแจ API" และคัดลอกกุญแจของคุณ

กุญแจ API เริ่มด้วย ta_ ตามด้วยตัวอักษร 56 ตัว

ที่อยู่ URL พื้นฐาน: 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
หัวแถบ
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 ใช่ ข้อความที่จะแปล (สูงสุด 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
}
ประเภท: คุณสามารถแปลได้ถึง 50 ภาษาในคำขอเดียว

การแปลเป็นกลุ่ม

แปลข้อความหลายข้อในเวลาเดียวกัน ด้วยการประมวลผลแบบไม่ซ้ำกัน (async) ส่งผลลัพธ์เป็นบั๊กและโพล

ขอบเขต: ข้อความสูงสุด 100 ข้อต่อการแปลง, จำนวนทั้งหมดสูงสุด 300 รายการ (ข้อความ x ภาษาเป้าหมาย) งานจะหมดเวลา 45 นาทีหลังจากเริ่มการประมวลผล
ความเร็ว: ภาษาที่ใช้กันทั่วไป (ES, FR, DE) ใช้โมเดลที่เร็ว (~0. 1 วินาที/ ข้อความ) ภาษาที่ใช้กันน้อยกว่า ใช้โมเดลหลายภาษาของเรา (~ 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}/
ตัวอย่างการสำรวจ (ไพธอน)
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"
}
ข้อมูลผลลัพธ์ที่เสร็จสิ้นแล้ว
{
    "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 - เอกสาร 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}/

ตรวจสอบสถานะของการแปลเอกสาร หรือรับที่อยู่ URL ของการดาวน์โหลด

ค่าสถานะ
pending แฟ้มถูกอัพโหลดแล้ว รอการประมวลผล
processing กำลังแปล
completed การแปลเสร็จสมบูรณ์ สามารถดาวน์โหลดได้แล้ว
failed การแปลล้มเหลว (ตรวจสอบข้อความผิดพลาด)

ภาษาที่รองรับ

เรียกดูรายการภาษาที่รองรับทั้งหมด

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"},
        ...
    ]
}

แสดงภาษาทั้งหมด 186 ภาษา

โมเดลการแปล

เราใช้โมเดลการแปลแบบโอเพนซอร์สที่ทันสมัยที่ทำงานบนโครงสร้างพื้นฐานของ 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" ค่าปริยาย ลองใช้ HuggingFace ก่อน แล้วกลับไปใช้ MADLAD- 400
"huggingface" บังคับ HuggingFace/MarianMT (เร็วที่สุด, 50+ ภาษา)
"madlad" Force 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 เพิ่มเติมจะถูกเริ่มในไม่กี่นาที เพื่อรักษาเวลาตอบสนองที่รวดเร็ว คำขอทั้งหมดจะถูกจัดเป็นคิวและถูกประมวลผล - ส่งคำขอร่วมกันเป็นร้อย ๆ ครั้ง และพวกเขาจะถูกจัดการทั้งหมด การแปลแบบเรียลไทม์จะได้รับความสำคัญ งานประมวลผลกลุ่มจะถูกประมวลผลในภายหลัง

ต้องการเพิ่มเครดิตอีกไหม?

หมดตัวละครกลางเดือน ซื้อเครดิตเพิ่มครั้งเดียว โดยไม่เปลี่ยนแผนของคุณ แสดงแพ็คเกจเติมเงิน

จัดอันดับหน้านี้
ขอบคุณสำหรับการจัดอันดับของคุณ!
/5 ขึ้นอยู่กับ จัดอันดับ