حوّل مقطع الفيديو إلى GIF متحرك
يحوّل KIT مقطع فيديو قصير إلى ملف GIF متحرك يعمل تلقائيًا في أي محادثة أو صفحة دون زر تشغيل أو صوت. يناسب من يريد مشاركة لحظة قصيرة من فيديو بصيغة تعمل في كل مكان — رسائل الدردشة، المنتديات، بطاقات المنتجات — دون رفع فيديو كامل.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
لماذا يظل GIF خيارًا عمليًا رغم قدمه
بعض المنصات لا تشغّل الفيديو تلقائيًا وتطلب ضغطة زر أولًا، بينما يتحرك ملف GIF فور ظهوره دون أي تدخل من المشاهد. هذا يجعله مناسبًا لعرض حركة منتج قصيرة في صفحة تسويقية، أو مشاركة لقطة طريفة في محادثة، حيث السرعة والبساطة أهم من جودة الصورة العالية أو وجود الصوت.
كيف يتم التحويل
ترفع الفيديو وتحدد الجزء المطلوب تحويله، فتنتج الأداة ملف GIF متحركًا من هذا الجزء دون صوت، لأن هذه الصيغة لا تدعم الصوت أصلًا. تحصل على رقم مهمة task_id فور الرفع، ويصلك الملف عبر webhook أو من الصفحة نفسها حين تكتمل المعالجة.
حجم الملف ومدته العملية
كلما طال المقطع المحوَّل كبر حجم ملف GIF الناتج بشكل ملحوظ، فالمقاطع القصيرة من ثلاث إلى عشر ثوانٍ هي الأنسب عمليًا لملف خفيف يُحمَّل بسرعة في أي محادثة. لمقطع أطول من ذلك، يظل الفيديو المضغوط أو الملف المتحرك بصيغة أحدث خيارًا أفضل من الناحية العملية.
السعر وحالة الإطلاق
التكلفة $0.077 عن كل طلب زائد $0.0045 عن كل دقيقة من الجزء المحوَّل، أي أقل من $0.08 لمقطع قصير من بضع ثوانٍ. الوظيفة قيد الإطلاق حاليًا وستعمل عبر هذه الصفحة قريبًا جدًا، ثم يتاح استدعاؤها عبر الـAPI لاحقًا.
حالات الاستخدام
عرض حركة منتج في صفحة تسويقية
تحوّل شركة الواحة للتجارة المحدودة مقطعًا قصيرًا يظهر تشغيل منتج جديد إلى GIF متحرك يوضع أعلى صفحة المنتج، فيرى الزائر الحركة فور فتح الصفحة دون ضغط أي زر.
لحظة طريفة تُشارك في مجموعة عمل
يحوّل موظف في الدمام لقطة قصيرة من اجتماع فريقه إلى GIF متحرك يشاركه في مجموعة العمل الداخلية، فتصل الطرفة بلا حاجة إلى فتح فيديو كامل.
شرح خطوة واحدة داخل دليل استخدام
يحوّل مطوّر تطبيق في الرياض لقطة قصيرة من واجهة برنامجه إلى GIF متحرك يضعه داخل دليل الاستخدام المكتوب، فيرى القارئ الخطوة تتحرك دون تشغيل فيديو منفصل.
الأسئلة الشائعة
هل الأداة متاحة الآن؟
ليس بعد. الوظيفة قيد الإطلاق حاليًا وستعمل عبر هذه الصفحة قريبًا جدًا، ثم عبر API لاحقًا.
هل يحتوي ملف GIF على الصوت الأصلي للفيديو؟
لا. صيغة GIF لا تدعم الصوت أصلًا، فالملف الناتج صورة متحركة صامتة فقط.
ما أنسب مدة لمقطع يُحوَّل إلى GIF؟
من ثلاث إلى عشر ثوانٍ تقريبًا، لأن حجم الملف يكبر بسرعة كلما طال المقطع المحوَّل.
كم تكلفة تحويل مقطع إلى GIF؟
$0.077 لكل طلب زائد $0.0045 عن كل دقيقة من الجزء المحوَّل، أي أقل من $0.08 غالبًا لمقطع قصير.
هل يُحتفَظ بالفيديو الأصلي بعد التحويل؟
لا. يُستخدم الملف المرفوع فقط لإنتاج الصورة المتحركة ثم يُستبعد نهائيًا.
ما أقصى حجم للفيديو المرفوع؟
حتى 500 ميغابايت وحتى 60 دقيقة، رغم أن المقاطع القصيرة هي المناسبة فعليًا لهذا الاستخدام.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/video/gif \
-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/gif", {
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/gif",
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/gif", 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/gif", 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.gif",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |