واجهة API
واجهة REST API لترجمة النصوص والمستندات. أنشئ مفتاحًا من لوحة التحكم.
المصادقة
مرّر مفتاحك كرمز bearer (أو عبر ترويسة x-api-key).
Authorization: Bearer wsk_xxx# …or, equivalently:x-api-key: wsk_xxxترجمة نص
/api/v1/translatecurl -X POST https://translate.baobabtech.app/api/v1/translate \ -H "Authorization: Bearer wsk_xxx" \ -H "Content-Type: application/json" \ -d '{ "source": "en", "target": "fr", "text": "Clean water saves lives.", "domain": "wash" }'{ "translation": "...", "source": "en", "target": "fr", "domain": "wash", "model": "...", "ragApplied": true, "characters": 24}domain قيمته الافتراضية wash. وبحدّ أقصى 50,000 حرف لكل طلب. الحقل الاختياري reasoning_effort (off · low · medium · high) قيمته الافتراضية off — الترجمة لا تحتاج إلى تفكير.
الترجمة على دفعات
أرسل مصفوفة في text لترجمة ما يصل إلى 100 نص في استدعاء واحد. تعود الترجمات في translations بترتيب الإدخال نفسه. وتُحتسب الدفعة طلبًا واحدًا مقابل حدّ المعدّل، فمهمة من مئات النصوص القصيرة تكلّف بضعة طلبات بدلًا من مئات. والنصوص المتطابقة تُترجم مرة واحدة وتُحتسب مرة واحدة.
curl -X POST https://translate.baobabtech.app/api/v1/translate \ -H "Authorization: Bearer wsk_xxx" \ -H "Content-Type: application/json" \ -d '{ "source": "en", "target": "fr", "domain": "wash", "text": [ "Clean water saves lives.", "Hygiene promotion", "Household water treatment and safe storage" ] }'# → { "translations": ["...", "...", "..."], "items": 3, "characters": 74, ... }{ "translations": ["...", "...", "..."], "items": 3, "source": "en", "target": "fr", "domain": "wash", "format": "text", "model": "...", "characters": 74}ترجمة HTML
اضبط format على html لقيم حقول أنظمة إدارة المحتوى. لا تُرسَل الوسوم إلى النموذج أبدًا: تُترجم عُقد النص وحدها ثم تُعاد إلى المستند الأصلي، فتبقى الجداول والصور والإطارات والروابط والفئات وسمات data- كما هي. ويُعاد script وstyle حرفيًا دون ترجمة. وتُحتسب الحروف على النص الظاهر فقط.
ترجمة مستند (.docx, .pptx, .xlsx, .pdf)
ثلاث خطوات: اطلب عنوان رفع، وارفع الملف، وابدأ المهمة، ثم استعلِم عن الحالة.
# 1. Create the job → returns a presigned upload URLcurl -X POST https://translate.baobabtech.app/api/v1/documents \ -H "Authorization: Bearer wsk_xxx" \ -H "Content-Type: application/json" \ -d '{ "filename": "report.docx", "source": "en", "target": "fr", "domain": "wash" }'# → { "jobId": "...", "uploadUrl": "https://...", "method": "PUT", "contentType": "..." }
# 2. Upload the file straight to the presigned URLcurl -X PUT "<uploadUrl>" \ -H "Content-Type: <contentType>" \ --data-binary @report.docx
# 3. Start processingcurl -X POST https://translate.baobabtech.app/api/v1/documents/<jobId>/start \ -H "Authorization: Bearer wsk_xxx"# → { "jobId": "...", "status": "processing" }
# 4. Poll until done, then downloadcurl https://translate.baobabtech.app/api/v1/documents/<jobId> \ -H "Authorization: Bearer wsk_xxx"# → { "status": "done", "downloadUrl": "https://...", "segmentCount": 120 }الاستكشاف
يعيد GET /api/v1/help نقاط النهاية والحدود والإمكانات بصيغة JSON. وهو عام، فيمكن للتكامل أن يضبط نفسه ويتحقق من الاتصال قبل تعيين أي مفتاح.
# All three endpoints are public — no API key required.curl https://translate.baobabtech.app/api/v1/languages# → { "languages": [ { "code": "fr", "name": "French", "script": "Latn", "rtl": false } ] }
curl https://translate.baobabtech.app/api/v1/domains# → { "domains": [ { "slug": "wash", "name": "WASH", "description": "..." } ] }
# Endpoints, limits and capabilities, for integrations that self-configure.curl https://translate.baobabtech.app/api/v1/help# → { "endpoints": { ... }, "formats": ["text", "html"], "languages": ["en", "fr", ...] }حدود المعدل والحصة
لكل مفتاح حدّ للطلبات في الدقيقة وحصة شهرية من الأحرف (حسب الفئة). وعند التجاوز:
429معRetry-After— حدّ المعدل402quota_exceeded— بلوغ الحصة الشهرية من الأحرف401— مفتاح مفقود أو غير صالح
{ "error": { "code": "rate_limited", "message": "..." } }