قصّ الفيديو لمقاس 9:16
يعيد KIT قص إطار الفيديو الأفقي إلى مقاس طولي 9:16 يملأ الشاشة بالكامل على ريلز وستوريز وتيك توك، دون أشرطة سوداء فارغة على الجانبين. يناسب من صوّر مقطعًا بمقاس أفقي عادي ويحتاج نسخة تناسب واجهة الهاتف الرأسية.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
مشكلة الأشرطة السوداء على الهاتف
فيديو مصوَّر بمقاس أفقي عريض يظهر على شاشة الهاتف الطولية محاطًا بأشرطة سوداء أعلى وأسفل الصورة، فتبدو مساحة كبيرة من الشاشة فارغة ومهدرة. المشاهد على منصات مثل ريلز وستوريز يتوقع محتوى يملأ الشاشة كاملة، وأي مقطع بأشرطة سوداء يبدو أقل احترافية مقارنة بمحتوى مصوَّر أو معدَّل خصيصًا لهذا المقاس الطولي.
كيف يتم القص للمقاس الطولي
ترفع الفيديو الأفقي، فتحلل الأداة المشهد وتحدد الجزء الأهم فيه — غالبًا الوجه أو مركز الحركة — لتقصه بمقاس 9:16 يملأ الشاشة كاملة. تحصل على رقم مهمة 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/social-crop \
-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/social-crop", {
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/social-crop",
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/social-crop", 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/social-crop", 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.social_crop",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |