عملية التقديم
لاستخدام واجهة برمجة التطبيقات، يجب أولاً زيارة صفحة واجهة برمجة تطبيقات توليد فيديوهات كلينغ للتقدم للحصول على الخدمة المناسبة، بعد دخول الصفحة، انقر على زر “Acquire”، كما هو موضح في الصورة:
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، سيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، بعد تسجيل الدخول والتسجيل، سيتم العودة تلقائيًا إلى الصفحة الحالية.
عند التقديم لأول مرة، سيكون هناك حد مجاني متاح، يمكنك استخدام واجهة برمجة التطبيقات مجانًا.
الاستخدام الأساسي
أولاً، يجب أن نفهم طريقة الاستخدام الأساسية، وهي إدخال كلمة التلميحprompt، وسلوك التوليد action، وصورة الإطار الأول المرجعية start_image_url، ونموذج model، للحصول على النتيجة المعالجة. أولاً، نحتاج إلى تمرير حقل action، وقيمته هي text2video، والتي تتضمن ثلاثة سلوكيات رئيسية: توليد فيديو من نص (text2video)، توليد فيديو من صورة (image2video)، وتوسيع الفيديو (extend). ثم نحتاج أيضًا إلى إدخال النموذج model، والذي يتضمن حاليًا النماذج التالية: kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-video-o1، المحتوى المحدد كما يلي:

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح واجهة برمجة التطبيقات، بعد التقديم يمكنك اختياره مباشرة من القائمة المنسدلة.
model: نموذج توليد الفيديو، والذي يتضمنkling-v1,kling-v1-6,kling-v2-master,kling-v2-1-master,kling-v2-5-turbo,kling-video-o1.mode: وضع توليد الفيديو، والذي يتضمن وضعين رئيسيين: الوضع القياسيstdووضع السرعة العاليةpro.action: سلوك مهمة توليد الفيديو، والذي يتضمن ثلاثة سلوكيات، وهي: توليد فيديو من نص (text2video)، توليد فيديو من صورة (image2video)، وتوسيع الفيديو (extend).start_image_url: عند اختيار سلوك توليد فيديو من صورةimage2video، يجب تحميل رابط صورة الإطار الأول المرجعية.end_image_url: عند توليد فيديو من صورة، اختياري، لتحديد الإطار النهائي.aspect_ratio: نسبة عرض الفيديو، اختيارية، تدعم16:9،9:16،1:1، الافتراضي هو16:9.cfg_scale: شدة العلاقة، النطاق [0,1]، كلما زادت القيمة، زادت المطابقة مع كلمة التلميح.camera_control: اختيارية، للتحكم في معلمات حركة الكاميرا، تدعم الإعدادات المسبقة type/simple بالإضافة إلى horizontal، vertical، pan، tilt، roll، zoom وغيرها من التكوينات.negative_prompt: اختيارية، كلمات التلميح العكسية التي لا ترغب في ظهورها، بحد أقصى 200 حرف.element_list: قائمة المراجع الرئيسية، تنطبق فقط على النموذجkling-video-o1، يمكن الاطلاع على طريقة استخدام هذه المعلمة في وثائق الموقع الرسمي.video_list: فيديوهات مرجعية، يتم الحصول عليها عبر URL، تنطبق فقط على النموذجkling-video-o1، يمكن الاطلاع على طريقة استخدام هذه المعلمة في وثائق الموقع الرسمي.prompt: كلمة التلميح.callback_url: URL الذي يحتاج إلى استدعاء النتائج.

success: حالة مهمة توليد الفيديو في ذلك الوقت.task_id: معرف مهمة توليد الفيديو في ذلك الوقت.video_id: معرف الفيديو لمهمة توليد الفيديو في ذلك الوقت.video_url: رابط الفيديو لمهمة توليد الفيديو في ذلك الوقت.duration: مدة الفيديو لمهمة توليد الفيديو في ذلك الوقت.state: حالة مهمة توليد الفيديو في ذلك الوقت.
data للحصول على فيديو كلينغ الذي تم توليده.
بالإضافة إلى ذلك، إذا كنت ترغب في توليد كود الدمج المقابل، يمكنك نسخه مباشرة، على سبيل المثال، كود CURL كما يلي:
وظيفة توسيع الفيديو
إذا كنت ترغب في الاستمرار في توليد فيديو كلينغ الذي تم إنشاؤه بالفعل، يمكنك تعيين المعلمةaction إلى extend، وإدخال معرف الفيديو الذي تحتاج إلى الاستمرار في توليد الفيديو له، يتم الحصول على معرف الفيديو بناءً على الاستخدام الأساسي كما هو موضح في الصورة أدناه:

ملاحظة: هنا، معرف الفيديو video_id هو معرف الفيديو الذي تم إنشاؤه بعد التوليد، إذا كنت لا تعرف كيفية توليد الفيديو، يمكنك الرجوع إلى الاستخدام الأساسي المذكور أعلاه لتوليد الفيديو.
بعد ذلك، يجب علينا ملء كلمة التلميح التالية التي نحتاج إلى توسيعها لتخصيص توليد الفيديو، ويمكننا تحديد المحتوى كما يلي:
model:نموذج إنشاء الفيديو، ويتضمن بشكل رئيسي نماذجkling-v1وkling-v1-5وkling-v1-6.mode:وضع إنشاء الفيديو، ويتضمن بشكل رئيسي وضعين: الوضع القياسيstdووضع السرعة القصوىpro.duration:مدة الفيديو في مهمة إنشاء الفيديو هذه، والتي تشمل بشكل رئيسي 5 ثوانٍ و 10 ثوانٍ.start_image_url:عند اختيار سلوك تحويل الصورة إلى فيديوimage2video، يجب رفع رابط الصورة المرجعية للإطار الأول.prompt:الكلمات الدالة.


ردود الفعل غير المتزامنة
نظرًا لأن وقت إنشاء API لفيديوهات Kling يكون طويلًا نسبيًا، حيث يحتاج حوالي 1-2 دقيقة، إذا لم يكن هناك استجابة لفترة طويلة، ستظل طلبات HTTP متصلة، مما يؤدي إلى استهلاك موارد النظام الإضافية، لذا فإن هذه API توفر أيضًا دعمًا للردود غير المتزامنة. تتضمن العملية العامة: عندما يقوم العميل بإرسال الطلب، يحدد حقلcallback_url إضافي، بعد أن يقوم العميل بإرسال طلب API، ستقوم API على الفور بإرجاع نتيجة تحتوي على معلومات حقل task_id، الذي يمثل معرف المهمة الحالية. عند الانتهاء من المهمة، سيتم إرسال نتيجة إنشاء الفيديو إلى callback_url المحدد من قبل العميل عبر POST JSON، والتي تتضمن أيضًا حقل task_id، بحيث يمكن ربط نتيجة المهمة من خلال المعرف.
دعونا نفهم كيفية القيام بذلك من خلال مثال.
أولاً، ردود الفعل عبر Webhook هي خدمة يمكنها استقبال طلبات HTTP، يجب على المطور استبدالها بعنوان URL الخاص بخادم HTTP الذي قام بإنشائه. هنا، لتسهيل العرض، نستخدم موقع Webhook عام https://webhook.site/، عند فتح هذا الموقع، ستحصل على عنوان URL لـ Webhook، كما هو موضح في الصورة:
قم بنسخ هذا العنوان URL، ويمكن استخدامه كـ Webhook، والعينة هنا هي https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
بعد ذلك، يمكننا تعيين حقل callback_url إلى عنوان URL الخاص بـ Webhook المذكور أعلاه، مع ملء المعلمات المناسبة، كما هو موضح في الصورة:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3، كما هو موضح في الصورة:
المحتوى كما يلي:
task_id، وجميع الحقول الأخرى مشابهة لما سبق، من خلال هذا الحقل يمكن تحقيق الربط بين المهام.
معالجة الأخطاء
عند استدعاء API، إذا واجهت أخطاء، ستقوم API بإرجاع رمز الخطأ والمعلومات المناسبة. على سبيل المثال:400 token_mismatched:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token:غير مصرح به، رمز تفويض غير صالح أو مفقود.429 too_many_requests:عدد كبير جدًا من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.500 api_error:خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

