الانتقال إلى المحتوى الرئيسي
يتحدث OrcaRouter لغة Kling أصلياً لتوليد الفيديو. تقوم بإرسال مهمة، ثم تستطلع معرّف المهمة لمعرفة حالتها، وتلتقط ملف MP4 المُصيَّر بمجرد انتهاء المزوّد الأعلى (عادةً 30 - 90 ثانية). نمط الإرسال ثم الاستطلاع غير المتزامن هذا فريد للفيديو. أما المحادثة / الصور / تحويل النص إلى كلام فجميعها تستخدم طلب-استجابة متزامنة؛ فيديو Kling لا يفعل ذلك.
نقطة نهاية الإرسال POST /v1/video/generations مشتركة بين مزوّدي الفيديو — يتم اختيار شكل جسم الطلب من خلال بادئة model الخاصة بك. تغطي هذه الصفحة model: kling/.... لنماذج ByteDance Seedance استخدم model: byteplus/... واتبع Seedance Video. نقطة نهاية الجلب GET /v1/video/generations/{task_id} متطابقة لكليهما.

النماذج

تدعم جميع النماذج النص إلى فيديو والصورة إلى فيديو. تتفاوت الميزات المتقدمة:
النموذجمرجع متعدد المصادر¹4Kصوت أصلي²متعدد اللقطات
kling/kling-v2-master
kling/kling-v2-1-master
kling/kling-v2-5-turbo
kling/kling-v2-6وضع pro
kling/kling-v3
kling/kling-video-o1✓ (محدود)
kling/kling-v3-omni✓ (كامل)
¹ المرجع متعدد المصادر = حقلا البيانات الوصفية image_list / video_list. يتم التوجيه إلى نقطة نهاية Omni-Video من Kling عند توفرهما. kling/kling-video-o1 هو مجموعة فرعية مقيّدة (5 ثوانٍ / 10 ثوانٍ فقط، بدون لقطات متعددة، بدون صوت)؛ اختر kling/kling-v3-omni للحصول على واجهة Omni الكاملة. ² الصوت الأصلي = يقوم Kling بتوليد مقطع صوتي تلقائياً مطابق للفيديو. يتم تحصيل رسوم إضافية من المزوّد الأعلى. يتم التبديل عبر metadata.sound: "on". نقطة نهاية الإرسال هي نفسها لجميع النماذج — POST /v1/video/generations. ما يتغير هو حقول metadata التي يحترمها المزوّد الأعلى وفقاً للجدول أعلاه.

إرسال مهمة

أرسل طلب POST إلى /v1/video/generations مع model وprompt وأي معاملات خاصة بالمزوّد الأعلى ضمن metadata:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling/kling-v3-omni",
    "prompt": "cat playing piano in a sunny room",
    "metadata": {
      "mode": "std",
      "aspect_ratio": "16:9",
      "duration": "5"
    }
  }'
تحمل الاستجابة معرّف المهمة:
{
  "id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
  "task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
  "object": "video",
  "model": "kling/kling-v3-omni",
  "status": "queued",
  "progress": 0,
  "created_at": 1777975188
}
يُعيد POST قيمة status: "queued" بأحرف صغيرة. يُعيد GET غلافاً مُحاطاً مع حالة بأحرف كبيرة (SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE) — راجع قسم الاستطلاع للحصول على النتائج أدناه.

حقول البيانات الوصفية الشائعة

تنطبق هذه الحقول الثلاثة على كل متغيّر لنقطة النهاية:
الحقلالنوعملاحظات
modestringstd (720P) / pro (1080P) / 4k. 4k متاح فقط على kling/kling-v3 وkling/kling-v3-omni. الافتراضي هو std للنص إلى فيديو والصورة إلى فيديو، وpro لـ Omni-Video.
aspect_ratiostring16:9 / 9:16 / 1:1. مطلوب في Omni-Video ما لم تُوفّر مرجع الإطار الأول أو video_list (في هاتين الحالتين يُستنتج من المُدخل).
durationstringالطول بالثواني. الافتراضي "5". يقبل kling/kling-v3-omni وkling/kling-v3 القيم من "3" إلى "15". عائلة v2 (v2-master، v2-1-master، v2-5-turbo، v2-6) وkling/kling-video-o1 تقبل "5" أو "10". راجع خريطة قدرات Kling للنطاق الموثوق لكل نموذج.
يعمل هذان الحقلان على النص إلى فيديو والصورة إلى فيديو فقط (وليس Omni-Video):
الحقلالنوعملاحظات
negative_promptstringالأشياء المراد تجنّبها. حد أقصى 2500 حرف.
cfg_scalefloatالنطاق [0, 1]، الافتراضي 0.5. كلما زادت القيمة زاد الالتزام الصارم بالموجه. غير مدعوم على نماذج v2.x (kling-v2-master / v2-1-master / v2-5-turbo / v2-6).

الاستطلاع للحصول على النتائج

استخدم معرّف المهمة الذي أُعيد وقت الإرسال:
curl https://api.orcarouter.ai/v1/video/generations/task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw \
  -H "Authorization: Bearer sk-orca-..."
شكل الاستجابة مُغلَّف:
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://v16-kling-fdl.klingai.com/.../video.mp4?...",
    "action": "omniVideo",
    "submit_time": 1777975188,
    "start_time": 1777975241,
    "finish_time": 1777975277,
    "fail_reason": ""
  }
}
قيم الحالة (بأحرف كبيرة، الحالة الخام للمهمة):
الحالةالمعنى
NOT_STARTتم إنشاء صف المهمة، ولم يتم إرسالها بعد (عابرة، عادةً أقل من ثانيتين)
SUBMITTEDتم الإرسال إلى المزوّد الأعلى Kling، في انتظار قائمة الانتظار لديهم
IN_PROGRESSKling يقوم بالتصيير
SUCCESSتم. يحمل data.result_url ملف MP4
FAILUREفشل. يحتوي data.fail_reason على السبب
يعود التقدّم على شكل سلسلة نصية للنسبة المئوية ("30%"، "100%")، وليس عدداً صحيحاً. استطلِع كل 5 - 10 ثوانٍ. يكتمل مقطع std مدته 5 ثوانٍ نموذجياً في 30 - 60 ثانية؛ بينما تستغرق مهام 4K والمدة 15 ثانية ومتعددة اللقطات من 2 إلى 5 دقائق. data.result_url هو عنوان URL موقَّع من Kling (لاحظ معاملات الاستعلام ksTime / ksSecret). قم بالتنزيل أو إعادة الاستضافة بسرعة إذا كنت بحاجة إلى احتفاظ طويل الأمد — للتوقيع تاريخ انتهاء صلاحية محدَّد من المزوّد الأعلى.

متغيّرات نقطة النهاية

تشترك المتغيّرات الثلاثة جميعها في POST /v1/video/generations. يتم تحديد نقطة النهاية التي يخدمها Kling فعلياً بناءً على الحقول التي تُوفّرها.

النص إلى فيديو

فقط model + prompt (+ بيانات وصفية اختيارية أعلاه). عدم توفير مُدخل صورة يعني النص إلى فيديو:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling/kling-v2-6",
    "prompt": "ocean waves at sunset, cinematic",
    "metadata": {"mode": "pro", "duration": "5"}
  }'

الصورة إلى فيديو

أضف image على المستوى الأعلى (الإطار الأول) و/أو metadata.image_tail (الإطار الأخير) للحصول على الصورة إلى فيديو بإطار أول/أخير:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling/kling-v2-master",
    "prompt": "the cat starts dancing",
    "image": "https://example.com/cat.png",
    "metadata": {"mode": "std", "duration": "5"}
  }'

المرجع متعدد المصادر (Omni-Video)

يوجّه كل من image_list وvideo_list الطلب إلى نقطة نهاية Omni-Video الخاصة بـ Kling. متاح فقط على kling/kling-video-o1 وkling/kling-v3-omni. image_list — مرجع متعدد الصور:
{ "image_list": [{ "image_url": "...", "type": "first_frame" }] }
  • image_url (مطلوب): عنوان URL أو base64 خام (بدون البادئة data:).
  • type (اختياري): first_frame / end_frame. احذفه إلا إذا كانت الصورة مخصصة كمرساة إطار. الإطار النهائي فقط غير مدعوم (اقرنه دائماً مع صورة إطار أول).
video_list — مرجع فيديو (فيديو واحد كحد أقصى، MP4/MOV، ≤200 ميجابايت):
{ "video_list": [{ "video_url": "...", "refer_type": "base", "keep_original_sound": "yes" }] }
  • refer_type: base (تحرير الفيديو — يتم تحرير فيديو الإدخال؛ الافتراضي) أو feature (مرجع نمط/تكوين — توليد اللقطة التالية/السابقة).
  • keep_original_sound: yes / no.
  • على kling/kling-v3-omni، يُدعم مرجع الفيديو فقط بمدة 3-10 ثوانٍ، ووضع std/pro (وليس 4K).
عند تعيين video_list، يجب أن يكون metadata.sound بقيمة "off" — وإلا سيرفض Kling الجمع بينهما.
الإشارة إلى الصور / الفيديوهات / العناصر داخل الموجه باستخدام بناء <<<>>>: <<<image_1>>> و<<<video_1>>> و<<<element_1>>>. خاص بـ Omni فقط. يطابق الفهرس ترتيب المصفوفة (يبدأ من 1).
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling/kling-v3-omni",
    "prompt": "<<<image_1>>> waves at the camera, then walks toward the ocean",
    "metadata": {
      "image_list": [{"image_url": "https://example.com/person.jpg"}],
      "mode": "pro",
      "aspect_ratio": "16:9",
      "duration": "5",
      "sound": "on"
    }
  }'

الميزات المتقدمة

تعمل هذه الميزات عبر نقاط نهاية النص إلى فيديو، والصورة إلى فيديو، وOmni-Video — يتفاوت دعم النماذج. مرّرها عبر metadata.

اللقطات المتعددة

توليد فيديو مكوّن من عدة لقطات متتالية، لكل منها موجهها الخاص ومدتها الخاصة. متاح على kling/kling-v3 وkling/kling-v3-omni.
الحقلالنوعالغرض
multi_shotboolعيّنه إلى true للتمكين. يتم تجاهل prompt على المستوى الأعلى ومُدخلات الإطار الأول/الأخير حينئذٍ.
shot_typestringcustomize (استخدم multi_prompt حرفياً) أو intelligence (يقسّم Kling تلقائياً). مطلوب عندما يكون multi_shot=true.
multi_promptarray[{index, prompt, duration}]. من 1 إلى 6 لوحات قصصية. مدة كل لقطة duration ≥ ثانية واحدة؛ يجب أن يساوي المجموع إجمالي duration للمهمة. كل prompt ≤ 512 حرفاً.

الصوت الأصلي

يقوم Kling بتوليد مقطع صوتي تلقائياً مطابق للفيديو. يتم تحصيل رسوم إضافية من المزوّد الأعلى. يتم التبديل عبر metadata.sound: "on" (الافتراضي "off"). دعم النماذج:
  • kling/kling-v3 وkling/kling-v3-omni: أي وضع (std / pro / 4K)
  • kling/kling-v2-6: وضع pro فقط
  • جميع النماذج الأخرى: غير مدعومة

العلامة المائية

مرّر metadata.watermark_info: {enabled: true} لطبع العلامة المائية الخاصة بـ Kling على الفيديو المُصيَّر. الافتراضي هو بدون علامة مائية.

الفوترة

يتم احتساب فاتورة فيديو Kling لكل مهمة. يفرض OrcaRouter رسوماً تطابق ما يفرضه Kling تماماً — تصبح قيمة final_unit_deduction من المزوّد الأعلى هي الخصم من المحفظة، بدون أي زيادة. تتطابق التكلفة النهائية مع بطاقة الأسعار المنشورة من Kling. يتم حجز مبلغ صغير قبل الاستهلاك وقت الإرسال لتغطية أعلى تكلفة محتملة لطلبك (مثل 4K + صوت)؛ يُرد الفرق فور نجاح المهمة. اطّلع على سجل محفظتك في وحدة التحكم لمعرفة الإنفاق الفعلي لكل مهمة.

استخدام Kling SDK مباشرة

إذا كان لديك بالفعل كود مكتوب باستخدام SDK الرسمي لـ Kling، فإن OrcaRouter يتحدث أيضاً تنسيق الشبكة الأصلي لـ Kling على /kling/v1/videos/.... تبقى حقول الجسم مسطّحة (model_name، mode، إلخ) — يتغير فقط عنوان URL الأساسي ورأس Authorization وقيمة model_name:
curl https://api.orcarouter.ai/kling/v1/videos/omni-video \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model_name": "kling/kling-v3-omni",
    "prompt": "cat playing piano",
    "mode": "pro",
    "aspect_ratio": "16:9",
    "duration": "5",
    "sound": "on"
  }'
يجب أن يستخدم model_name هوية النموذج من جانب OrcaRouter (نفس الاسم الذي ستستخدمه على /v1/video/generations)، وليس الاسم المجرّد للنموذج في Kling. يقوم OrcaRouter بحلّه عبر تعيين النموذج الخاص بالقناة قبل إعادة التوجيه إلى Kling.
مسار الجلب المقابل هو GET /kling/v1/videos/omni-video/{task_id} (أو text2video أو image2video). اختر تنسيق الشبكة الذي يطابق الكود الحالي لديك. كلاهما يحتسب بنفس الفوترة.

انظر أيضاً