Skip to main content

🌍 Multilingual Translation 🆕

🌍 API สำหรับการแปลภาษา

Version Status

บริการแปลภาษาที่รวดเร็วและแม่นยำ รองรับ 28 ภาษา ออกแบบมาสำหรับ ข้อความยาว และ ประสิทธิภาพสูง รองรับทั้งการแปลแบบ ทีละข้อความ และ แบบชุด

ทดลองใช้งาน

Demo key is limited to 10 requests per day per IP
Click here to get your API key

🚀 จุดเด่น

  • รองรับ 28 ภาษา:
    ar, bn, cs, de, en, es, fa, fr, he, hi, id, it, ja, km, ko, lo, ms, my, nl, pl, pt, ru, th, tl, tr, ur, vi, zh

  • รองรับทั้งแบบ Single & Batch

  • รองรับข้อความยาวได้ไม่จำกัด – แบ่งต่อประโยครระดับประโยคโดยย่อย

  • ความแม่นยำสูง – ทดสอบโดยใช้ BERTScore กับชุดข้อมูลจริง

📈 เปรียบเทียบ (Thai → English)

ทดสอบจากคู่แปล 133,330 ประโยค ในSCB MT En-TH 2020 dataset.

โหมดเฉลี่ย เวลา / 100 ประโยค
🧠 Batch18.06 sec
🐌 Single30.54 sec

💡 Tip: แนะใช้ batch API เพื่อประสิทธิภาพที่ดีที่สุด

🧪 คุณภาพ (BERTScore)

คะแนนความคล้ายคือกันระหว่างประโยคกับค้อที่รับ (1.0 = ตรงกันเป็นพิเบส)

Source → TargetBERTScore Mean
EN → MY0.9561
EN → TH0.9506
EN → JA0.9169
JA → EN0.9146
TH → EN0.8728
TH → MY0.8571
ZH → EN0.8571

✅ ทุกคู่ทดสอบแล้ว คะแนน > 0.80

📡 API Endpoints

🔹 Single Translation

POST /v1/text/translate
Content-Type: application/x-www-form-urlencoded

Params:

  • text: Text to translate
  • source_lang: Source language code (e.g. en)
  • target_lang: Target language code (e.g. th)
  • max_length: (optional) Max output tokens

Example:

curl -X POST "https://api.iapp.co.th/v1/text/translate" \
-H "apikey: YOUR_API_KEY" \
-F "text=Hello" \
-F "source_lang=en" \
-F "target_lang=th"

Response:

{
"translation": "สวัสดี",
"processing_time": 0.056
}

🔹 Batch Translation

POST /v1/text/batch_translate
Content-Type: application/json

Body:

[
{
"text": "Hello",
"source_lang": "en",
"target_lang": "fr"
},
{
"text": "こんにちは",
"source_lang": "ja",
"target_lang": "en"
}
]

Response:

{
"results": [
{ "translation": "Bonjour", "index": 0 },
{ "translation": "Hello", "index": 1 }
]
}

🐍 Python Code Example

import requests

def translate_text(text, source_lang, target_lang, api_key, api_url="https://api.iapp.co.th"):
"""
Translate text using the Translation API

Args:
text (str): Text to translate
source_lang (str): Source language code (e.g., 'en', 'th', 'zh')
target_lang (str): Target language code (e.g., 'en', 'th', 'zh')
api_key (str): Your API key
api_url (str): Base URL of the API

Returns:
dict: Translation response
"""
data = {
"text": text,
"source_lang": source_lang,
"target_lang": target_lang
}

headers = {
"apikey": api_key
}

response = requests.post(f"{api_url}/v1/text/translate", data=data, headers=headers)
response.raise_for_status() # Raise exception for HTTP errors
return response.json()

# Example usage:
# result = translate_text("Hello", "en", "th", api_key="YOUR_API_KEY")
# print(result["translation"])

✅ This code uses application/x-www-form-urlencoded format, consistent with the API spec.

⚠️ Errors

CodeDescription
400พารามิเตอร์ไม่ถูกต้อง
401ขาดหรือรหัส API ไม่ถูกต้อง
429เกินขีดจำกัดการใช้งาน
500ข้อผิดพลาดที่ฝั่งเซิร์ฟเวอร์
503โมเดลไม่สามารถโหลดได้หรือบริการไม่พร้อมใช้งาน

✅ สรุป

  • 🏁 แปลได้รวดเร็ว และแม่นยำสูงสำหรับ 28 ภาษา
  • 📄 รองรับข้อความยาวยาวได้อัตโนมัติ
  • 🧪 ผลทดสอบของแปลแบบคุณภาพสูง
  • 📦 ใช้ batch เพื่อเพิ่มประสิทธิภาพ