كيف تستخدم Kling 3.0 API: المفتاح والطلب والاستعلام والإطارات واللقطات المتعددة
كيف تستخدم Kling 3.0 API خطوة بخطوة: أنشئ مفتاحًا، وأرسل مهمة فيديو، واستعلمها لرابط الفيديو، وابدأ من إطار أول وأخير، واصنع مقاطع متعددة اللقطات.
اقرأ بصيغة Markdownلاستخدام Kling 3.0 API، أنشئ مفتاح API، وأرسل عبر POST جسم JSON واحدًا يحمل معرّف النموذج kling-3-0 وموجّهك، ثم استعلم المهمة التي يعيدها حتى يجهز رابط الفيديو. نقطة نهاية واحدة تغطي التحويل من نص إلى فيديو، والفيديو من إطار أول وأخير، والمقاطع متعددة اللقطات، ومراجع العناصر؛ والحقول الموجودة في الجسم هي التي تحدّد أيّها.
يمرّ هذا الدليل بكل خطوة مع شفرة تعمل، ثم يعرض الإطارات والمقاطع متعددة اللقطات والعناصر والطلبات التي تُرفض قبل احتساب أي شيء.
ماذا تحتاج قبل الطلب الأول؟
- مفتاح API. أنشئ مفتاحًا في صفحة مفاتيح API واحتفظ به على خادمك. لا تضعه أبدًا في شفرة تعمل في المتصفح.
- رصيد. أضف رصيدًا من صفحة الفوترة. الرصيد لا تنتهي صلاحيته، والمهام الفاشلة لا تُحتسب.
- معرّف النموذج
kling-3-0.
export SEEDROUTER_API_KEY="your-key"كيف ترسل طلب Kling 3.0؟
أرسل المهمة عبر POST إلى /v1/videos/generations:
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, soft mist on the water, slow push-in, no text, no logos.",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}'الاستجابة مهمة، لا فيديو:
{"id": "task_...", "model": "kling-3-0", "status": "processing", "created_at": 1789689600}لكل حقل باستثناء model وprompt قيمة افتراضية:
| الحقل | القيمة الافتراضية | القيم |
|---|---|---|
mode | pro | std (720p), pro (1080p), 4K |
duration | 5 | 3–15 ثانية |
aspect_ratio | 16:9 | 16:9, 9:16, 1:1 |
sound | false | true يولّد صوتًا أصليًا |
المخطط صارم: يُرفض الحقل غير المعروف برمز HTTP 400 قبل إنشاء المهمة، لذا لا يتحوّل خطأ إملائي أبدًا إلى مقطع مدفوع تُتجاهل فيه الإعدادات بصمت.
كيف تحصل على الفيديو؟
استعلم GET /v1/tasks/{id} كل 10–20 ثانية حتى تصبح status بقيمة completed أو failed. في اختباراتنا اكتمل مقطع std مدته 3 ثوانٍ في نحو دقيقتين، ومقطع pro مدته 5 ثوانٍ مع الصوت في نحو دقيقتين ونصف.
import os
import time
import requests
API = "https://api.seedrouter.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}
task = requests.post(
f"{API}/videos/generations",
headers=HEADERS,
json={
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, slow push-in, no text, no logos.",
"mode": "std",
"duration": 5,
},
timeout=60,
)
task.raise_for_status()
task_id = task.json()["id"]
while True:
result = requests.get(f"{API}/tasks/{task_id}", headers=HEADERS, timeout=60).json()
if result["status"] in ("completed", "failed"):
break
time.sleep(15)
if result["status"] == "completed":
print(result["output"]["video_url"])
else:
print(result["error"])تبدو المهمة المكتملة هكذا:
{
"id": "task_...",
"model": "kling-3-0",
"status": "completed",
"output": {"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"}
}عاد std بأبعاد 1280 × 720 وpro بأبعاد 1920 × 1080، وكلاهما بصيغة MP4 (H.264)؛ ومع تفعيل sound يحمل الملف مسارًا صوتيًا ستيريو. نزّل الملف إلى تخزينك الخاص: فالروابط المستضافة ليست دائمة. وانتهاء مهلة الشبكة أثناء الاستعلام لا يعني فشل التوليد، لذا احتفظ بمعرّف المهمة وتحقّق منها مجددًا بدلًا من إرسال مهمة جديدة.
كيف تبدأ من إطار أول وأخير؟
مرّر رابط URL لصورة أو صورتين في image_urls. الصورة الأولى تفتتح المقطع؛ والثانية هي حيث ينتهي. ومن دون صور يُصنع المقطع من الموجّه وحده.
{
"model": "kling-3-0",
"prompt": "The camera glides from the empty street to the lit shop window",
"image_urls": ["https://example.com/start.png", "https://example.com/end.png"],
"mode": "pro",
"duration": 6
}يجب أن تكون الصور روابط HTTP(S) عامة، بصيغة JPG أو PNG. وتُرفض بيانات base64؛ ارفع الملف إلى تخزينك الخاص أولًا.
كيف تصنع مقطعًا متعدد اللقطات؟
اضبط multi_shots على true وصِف كل لقطة في multi_prompt، حتى خمس لقطات مدة كل منها 1–12 ثانية. يجب أن يكون مجموع مدد اللقطات 3–15 ثانية، وهذا المجموع هو طول المقطع الذي يُحتسب عليك؛ ولا يُستخدم duration.
{
"model": "kling-3-0",
"mode": "pro",
"sound": true,
"multi_shots": true,
"multi_prompt": [
{"prompt": "Wide shot of a small open kitchen, a chef tosses vegetables in a wok, flames rising, warm light.", "duration": 3},
{"prompt": "Close-up of the wok, vegetables flipping through the flames, oil sizzling, steam drifting.", "duration": 3}
]
}هذا هو المقطع الذي أنتجه ذلك الطلب في اختبارنا، فيديو واحد مدته 6 ثوانٍ ينتقل من لقطة واسعة إلى لقطة قريبة:
Kling 3.0، pro (1080p)، متعدد اللقطات 3 + 3 ثوانٍ، مع الصوت.
كيف تحافظ على ثبات شخص أو منتج؟
أضفه إلى kling_elements: name وdescription قصير و2–4 روابط URL لصور الموضوع، حتى ثلاثة عناصر في الطلب. واذكر العنصر باسمه في الموجّه.
{
"model": "kling-3-0",
"prompt": "@hero slowly turns toward the camera in soft window light",
"kling_elements": [
{
"name": "hero",
"description": "a young woman with short black hair and a yellow raincoat",
"element_input_urls": ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
}
]
}ما الطلبات التي تُرفض قبل احتساب أي شيء؟
تعود هذه الطلبات برمز HTTP 400 عند الإرسال، دون إنشاء مهمة ودون احتساب شيء:
| الطلب | السبب |
|---|---|
| مقطع متعدد اللقطات مجموع لقطاته أقل من 3 أو أكثر من 15 ثانية | يصنع Kling 3.0 مقاطع مدتها 3–15 ثانية |
عنصر بلا description | كل عنصر يحتاج إليه |
أكثر من 2 في image_urls، أو أكثر من 5 لقطات، أو أكثر من 3 عناصر | خارج حدود النموذج |
mode: "4k" بحرف صغير | القيمة هي 4K |
| صور base64، أو أي حقل غير موجود في الجدول أعلاه | تُرسل الوسائط كروابط URL؛ والمخطط صارم |
المهمة التي تُقبل ثم تفشل، مثلًا بسبب سياسة المحتوى لدى النموذج، تعيد status: "failed" مع رمز error ولا تُحتسب. ويسرد فهرس الأخطاء الرموز.
كيف يختلف هذا عن واجهة API الخاصة بـ Kling؟
تستخدم واجهة المطوّرين لدى Kling أسماء حقول خاصة بها، ويختلف إصدارها القديم عن إصدارها الحالي.[1][2] إذا كنت تنقل تكاملًا، فطابِق الحقول:
| SeedRouter | واجهة Kling القديمة |
|---|---|
model: "kling-3-0" | model_name: "kling-v3" |
sound: true / false | sound: "on" / "off" |
duration: 5 (عدد صحيح) | duration: "5" (سلسلة نصية) |
mode: "4K" | mode: "4k" |
image_urls: [first, last] | image وimage_tail |
multi_shots + multi_prompt: [{prompt, duration}] | multi_shot + shot_type: "customize" + multi_prompt: [{index, prompt, duration}] |
kling_elements: [{name, description, element_input_urls}] | element_list: [{element_id}]، يُنشأ مسبقًا |
يسلّم SeedRouter النتائج عبر مهمة تستعلمها؛ ولا يتوفر callback_url.
هل يمكن لوكيل برمجي تشغيله نيابةً عنك؟
نعم. في صفحة Kling 3.0 موجّه جاهز لـ Claude Code أو Codex أو Cursor يقرأ المفتاح من بيئتك، ويعرض عليك الطلب وتكلفته، وينتظر موافقتك، ثم يرسل ويستعلم وينزّل المقطع. وفي الصفحة نفسها ساحة تجربة ترسل الجسم نفسه الذي سترسله شفرتك.
أسئلة عن Kling 3.0 API
هل توجد واجهة API رسمية لـ Kling 3.0؟
نعم. تنشر Kling واجهة للمطوّرين بمفاتيح خاصة بها، وفوترة قائمة على الوحدات، وصيغة طلب خاصة.[1][3] وSeedRouter طريقة منفصلة لاستدعاء Kling 3.0 بمفتاح واحد ورصيد واحد مشترك مع نماذج أخرى.
كم تكلّف Kling 3.0 API؟
تُحتسب لكل ثانية من الفيديو، حسب الوضع وتفعيل الصوت من عدمه. ويحسب دليل أسعار Kling 3.0 API تكاليف المقاطع، وتعرض صفحة النموذج الأسعار الحالية.
هل يمكنني إلغاء مهمة؟
لا. بعد قبول المهمة، تستمر حتى تكتمل أو تفشل. والمهام الفاشلة لا تُحتسب.



