Dịch thuật EN VI và 5 ngôn ngữ khác
API dịch thuật chất lượng cao, auto-detect ngôn ngữ nguồn, giữ nguyên định dạng (markdown, HTML, code block). Đặc biệt tối ưu cặp Anh — Việt, phù hợp cho localization, hỗ trợ khách hàng quốc tế và content marketing.
Endpoint
httpPOST /api/v1/translate?ws=my_workspace
Authorization: Bearer zeni_pat_xxx
Content-Type: application/json
Ngôn ngữ hỗ trợ
VI
Tiếng Việt
vi
EN
English
en
JA
日本語
ja
ZH
中文
zh
KO
한국어
ko
TH
ไทย
th
ID
Bahasa
id
Dịch cơ bản
bashcurl -X POST "https://zenicloud.io/api/v1/translate?ws=prod" \
-H "Authorization: Bearer $ZENI_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello, how can I help you today?",
"target": "vi"
}'
Response:
json{
"translated": "Xin chào, tôi có thể giúp gì cho bạn hôm nay?",
"source_detected": "en",
"target": "vi",
"char_count": 33,
"cost_usd": 0.0007,
"latency_ms": 230
}
Auto-detect
Bạn không cần truyền
source — Zeni tự nhận diện ngôn ngữ nguồn với độ chính xác trên 99 phần trăm cho text từ 10 ký tự trở lên. Nếu muốn ép kiểu, truyền source: "en" tường minh.Dịch batch — nhiều câu một lúc
Để giảm latency và chi phí, gửi mảng texts:
json{
"texts": [
"Welcome to our store",
"Your order has been confirmed",
"Free shipping on orders over $50"
],
"target": "vi"
}
json{
"translations": [
{"original": "Welcome to our store", "translated": "Chào mừng đến cửa hàng của chúng tôi"},
{"original": "Your order has been confirmed", "translated": "Đơn hàng của bạn đã được xác nhận"},
{"original": "Free shipping on orders over $50", "translated": "Miễn phí vận chuyển đơn từ 50 đô"}
],
"source_detected": "en",
"total_chars": 89
}
Ví dụ Python — localize app
pythonimport os, json, requests
ZENI = "https://zenicloud.io/api/v1"
TOKEN = os.environ["ZENI_TOKEN"]
def translate(text, target="vi", source=None):
body = {"text": text, "target": target}
if source:
body["source"] = source
r = requests.post(
f"{ZENI}/translate?ws=prod",
headers={"Authorization": f"Bearer {TOKEN}"},
json=body,
timeout=30,
)
r.raise_for_status()
return r.json()["translated"]
# Localize toàn bộ file i18n EN sang VI
with open("locales/en.json", "r") as f:
en_strings = json.load(f)
vi_strings = {}
for key, value in en_strings.items():
vi_strings[key] = translate(value, target="vi")
with open("locales/vi.json", "w", encoding="utf-8") as f:
json.dump(vi_strings, f, ensure_ascii=False, indent=2)
print(f"Dịch xong {len(vi_strings)} chuỗi")
Giữ nguyên định dạng
API hỗ trợ ba chế độ giữ format:
Markdown
json{
"text": "# Welcome\n\nThis is a **bold** statement with [a link](https://example.com).",
"target": "vi",
"preserve_format": "markdown"
}
Markdown syntax (heading, bold, link, code) được giữ nguyên, chỉ phần text dịch:
markdown# Chào mừng
Đây là một câu **in đậm** với [một liên kết](https://example.com).
HTML
json{
"text": "<p>Click <a href='/buy'>here</a> to purchase.</p>",
"target": "vi",
"preserve_format": "html"
}
Tag và attribute được giữ nguyên, chỉ text node dịch.
Code-aware
json{
"text": "Run `npm install` then start the server.",
"target": "vi",
"preserve_format": "code"
}
Code block (backtick, fence) được giữ nguyên, không bị dịch sai thành câu lệnh khác.
Use cases
- Localization web/app — auto-translate file i18n từ EN sang VI/JA/KO khi launch thị trường mới
- Customer support — dịch email khách quốc tế sang tiếng Việt cho team CS
- Content marketing — dịch bài blog VN sang EN để SEO quốc tế
- E-commerce — dịch description sản phẩm từ supplier nước ngoài
- Document — dịch hợp đồng, tài liệu kỹ thuật (kết hợp với OCR)
Chi phí
| Khối lượng | Đơn giá | Tương đương |
|---|---|---|
| Per 1M chars | $20 | ~480.000 VND |
| Free tier | 500K chars/tháng | ~10 cuốn sách 200 trang |
| Starter trở lên | 5M chars miễn phí | Đủ cho startup nhỏ |
Cache tự động
Câu giống y hệt được dịch lại sẽ trả về từ cache trong 24 giờ — miễn phí. Hữu ích cho website có nhiều khách xem cùng một trang.
Chất lượng & limit
- Tối đa 30.000 ký tự một request — cắt nhỏ nếu vượt
- Batch tối đa 100 câu một lần
- Rate limit 60 req/phút (Free), 600 (Starter+)
- Latency trung bình 200-500ms cho text dưới 500 chars
- Hỗ trợ glossary (từ điển riêng) cho gói Pro+