من قال ماذا في التسجيل الجماعي
تفصل هذه الأداة كل متحدث عن الآخر داخل تسجيل جماعي واحد، وتُلحق كل جملة باسم متحدث مؤقت مثل «المتحدث الأول» و«المتحدث الثاني». مفيدة لمن يفرّغ اجتماعًا أو مقابلة بأكثر من صوت ويحتاج معرفة من قال ماذا، لا نصًا مدمجًا بلا تمييز.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
كيف تميّز الأداة بين الأصوات
تحلّل الأداة بصمة كل صوت في التسجيل، وتُلحق كل جملة بمتحدثها دون معرفة اسمه الحقيقي مسبقًا؛ تحصل على تسمية مؤقتة مثل «المتحدث الأول» يمكن استبدالها بالاسم الفعلي بعد المراجعة. كلما زاد عدد المتحدثين وتداخل حديثهم، احتاج الفصل دقة أعلى، وكلما كان صوت كل شخص متباينًا بوضوح عن البقية، جاءت النتيجة أقرب إلى الدقة الكاملة دون خلط بين متحدثَين متشابهَي النبرة.
حدود دقة الفصل بين الأصوات
الأداة لا تزال في طور التحسين المستمر، وتؤدي أفضل أداء مع اجتماع من متحدثين اثنين إلى أربعة بأصوات واضحة ومتباينة. عند تداخل الحديث في اللحظة نفسها، أو تشابه نبرة صوتين، تحتاج النتيجة مراجعة يدوية قبل الاعتماد النهائي عليها، خاصة في المحاضر الرسمية التي تُنسَب فيها كل عبارة إلى شخص بعينه أمام مجلس الإدارة أو الجهة المعنية.
من نص مفصول إلى محضر منظّم
بعد فصل المتحدثين، يمكن تمرير النص إلى أداة تحويل الاجتماع إلى محضر، فيخرج مستند يحمل اسم كل متحدث بجانب مساهمته، جاهز للتوزيع على الحضور دون إعادة كتابة يدوية. هذا يفيد خصوصًا مجالس الإدارة التي تحتاج توثيقًا دقيقًا لمن اقترح كل قرار قبل تصويت الأعضاء عليه، وهو ما يصعب استخلاصه من نص واحد بلا تمييز بين المتحدثين.
حالات الاستخدام
اجتماع مجلس إدارة بأربعة أصوات
يسجّل عبدالله المنصوري اجتماع مجلس إدارة شركته بأربعة أعضاء حاضرين، ويحتاج محضرًا يوضّح من طرح كل اقتراح. فصل المتحدثين يمنحه نصًا مرتّبًا بالمتحدث بدل كتلة كلام واحدة.
مقابلة توظيف بحضور اثنين من فريق التوظيف
تُجري نورة القحطاني مقابلة توظيف بحضور زميل من الموارد البشرية، ويحتاج القرار لاحقًا معرفة من طرح كل سؤال ومن أجاب. النص المفصول يوفّر مرجعًا واضحًا للمراجعة.
جلسة تدريب بأسئلة من الحضور
تسجّل مؤسسة النخيل للمقاولات ورشة تدريب يتخللها أسئلة من الحضور، وتريد توثيق كل سؤال باسم متحدثه المؤقت لمتابعة الأسئلة المتكررة في الورشات القادمة.
الأسئلة الشائعة
كم عدد المتحدثين الذين تستطيع الأداة تمييزهم؟
تؤدي أفضل نتيجة مع اثنين إلى أربعة متحدثين بأصوات متباينة؛ في اجتماعات أكبر تقل دقة الفصل وتحتاج مراجعة يدوية أدق.
هل تعرف الأداة اسم كل متحدث الحقيقي؟
لا، تُلحق كل جملة بتسمية مؤقتة مثل «المتحدث الأول»؛ يُحدَّد الاسم الفعلي يدويًا بعد استلام النص ومراجعته.
لماذا سعر هذه الأداة قريب من التفريغ المزمَّن؟
لأنها تشترك في السعر نفسه تقريبًا: $0.002 زائد $0.0055 لكل دقيقة، إذ تركّز على الفصل بين الأصوات لا على تحليل لغوي إضافي.
هل النتيجة نهائية أم تحتاج مراجعة؟
الأداة لا تزال في مرحلة تحسين مستمر؛ ننصح بمراجعة سريعة عند تداخل حديث أكثر من متحدث في اللحظة نفسها.
هل يُحفظ التسجيل بعد استخراج النص؟
لا، يُستخدم فقط لإنتاج هذا الطلب، ثم يُستبعَد؛ لا يُحفظ لأي غرض لاحق.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/audio/diarize \
-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/audio/diarize", {
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/audio/diarize",
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/audio/diarize", 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/audio/diarize", 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": "audio.diarize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 200 |
max_minutes | 180 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |