ادمج الترجمة داخل الفيديو نهائيًا
يدمج KIT سطور الترجمة داخل صورة الفيديو نفسها بشكل دائم، فتظهر مع كل تشغيل بلا حاجة إلى ملف ترجمة خارجي أو مشغّل يدعمه. يناسب من ينشر على منصات لا تقبل رفع ملف ترجمة منفصل، أو يريد ضمان ظهور النص على أي جهاز مهما كان.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
الفرق بين ملف الترجمة والترجمة المحروقة
ملف الترجمة المنفصل مثل SRT يحتاج مشغّلًا يدعم تحميله وتفعيله، وتضيع هذه الميزة على منصات كثير من تطبيقات التواصل التي تعرض الفيديو مباشرة دون خيار ترجمة. الترجمة المحروقة جزء من الصورة نفسها، فتظهر دائمًا بلا شرط تشغيل، وهي الخيار الأنسب لإعلان أو مقطع قصير يُنشر على منصة لا تتيح رفع ملف ترجمة مستقل.
خطوات الدمج داخل الأداة
ترفع الفيديو، وتُستخرج سطور الكلام وتوقيتها تلقائيًا، ثم تُطبع كصورة نصية فوق كل إطار يقابلها. تحصل على رقم مهمة task_id فور الرفع، ويصلك ملف الفيديو النهائي عبر webhook أو من الصفحة نفسها حين تكتمل المعالجة، جاهزًا للنشر مباشرة دون أي خطوة يدوية إضافية.
السعر وحالة الإطلاق
التكلفة $0.077 عن كل طلب زائد $0.0045 عن كل دقيقة من الفيديو، أي نحو $0.12 لمقطع مدته عشر دقائق. الوظيفة قيد الإطلاق حاليًا وستعمل عبر هذه الصفحة قريبًا جدًا، ثم يتاح استدعاؤها عبر الـAPI لمن يحتاج دمج الترجمة ضمن خط إنتاج محتوى منتظم.
حالات الاستخدام
إعلان قصير على واتساب للأعمال
ترسل مؤسسة النخيل للمقاولات فيديو ترويجيًا لعملائها عبر مجموعات واتساب. الترجمة المحروقة تضمن ظهور النص مهما كان الجهاز أو إعدادات المستلم، بخلاف ملف ترجمة منفصل قد لا يفتحه أحد أصلًا.
مقطع تعليمي يُعاد نشره على عدة منصات
يحرق مدرّب مستقل الترجمة داخل مقطعه التعليمي مرة واحدة، ثم ينشره على عدة منصات دون رفع ملف ترجمة مستقل لكل واحدة منها، فيوفر وقت التنسيق المتكرر.
شهادة عميل مصوّرة لموقع الشركة
تحرق شركة الخليج الرقمية الترجمة داخل شهادة فيديو من أحد عملائها قبل نشرها على الصفحة الرئيسية لموقعها، فيقرأ الزائر النص حتى إن كان صوت جهازه مغلقًا.
الأسئلة الشائعة
هل الأداة متاحة للاستخدام الآن؟
ليس بعد، الوظيفة قيد الإطلاق حاليًا وستعمل عبر هذه الصفحة قريبًا جدًا، ثم عبر API لاحقًا.
لماذا أختار الترجمة المحروقة بدل ملف ترجمة منفصل؟
لأن الترجمة المحروقة تظهر دائمًا مع الفيديو مهما كان الجهاز أو المنصة، بينما يحتاج ملف الترجمة المنفصل دعمًا صريحًا من المشغّل لتفعيله.
هل يمكن التراجع عن الترجمة بعد دمجها؟
لا، فهي جزء من صورة الفيديو نفسها. إن رغبت في نسخة بلا ترجمة، احتفظ بالملف الأصلي قبل الدمج.
كم تكلفة دمج الترجمة داخل فيديو؟
$0.077 لكل طلب زائد $0.0045 عن كل دقيقة، أي نحو $0.12 لمقطع مدته عشر دقائق.
هل يُحتفَظ بملفي بعد إتمام المعالجة؟
لا. يُستخدم الملف فقط لإنتاج الفيديو النهائي ثم يُستبعد، ولا يُشارَك مع أي جهة أخرى.
ما أقصى حجم ومدة للفيديو المرفوع؟
حتى 500 ميغابايت وحتى 60 دقيقة في الطلب الواحد.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/video/burn-subtitles \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/video/burn-subtitles", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/burn-subtitles",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/burn-subtitles", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/burn-subtitles", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"audio": "https://ejemplo.com/audio.mp3"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.burn_subtitles",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |