Kling v1.5
Kling v1.5 نموذج فيديو يوفّر مسار عمل موثّقًا لتحويل الصور إلى فيديو. ابدأ بصورة ثابتة مُعدّة مسبقًا، وصِف الحركة وزاوية الرؤية والتكوين النهائي لإنشاء لقطة قصيرة لشخصية أو عنصر أو بيئة.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
Kling v1.5 إصدار من نماذج Kling لتوليد الفيديو، ويدعم تحويل الصور إلى فيديو وفق كتالوج النماذج الموثّق. توفّر الصورة الثابتة المقدّمة نقطة البداية البصرية، بينما يصف الموجز المكتوب كيف ينبغي أن يتحرك المشهد. استخدمه لتطوير إيماءة لشخصية، أو حركة عنصر، أو تغيّر في البيئة، انطلاقًا من صورة يلائم تكوينها اللقطة بالفعل.
أعِدّ الصورة بحيث تُبرز التفاصيل المهمة للموضوع. تحتاج الشخصية إلى وجه ووضعية وملابس واضحة؛ ويحتاج العنصر إلى حدود واضحة وسمات مرئية لمادته. اترك مساحة في التكوين للحركة المقصودة. احتفظ بالصورة الثابتة الأصلية مع التسلسل المكتمل، حتى يمكن تقييم التغيّرات في المظهر مباشرةً.
اكتب الحركة بوصفها حدثًا يمكن ملاحظته. صِف، مثلًا، شخصًا جالسًا يلتفت نحو نافذة، أو شريطًا من القماش يتحرك في نسيم خفيف. حدّد الاتجاه والنهاية المقصودة. وعندما تظهر عدة عناصر، بيّن أيّها يتحرك وأيّها يبقى في مكانه.
اشرح دور الكاميرا. يمكن لزاوية رؤية ثابتة أن تجعل فحص إيماءة صغيرة سهلًا، بينما تستطيع زاوية رؤية متحركة الكشف عن جانب جديد من المشهد. صِف هذه الحركة بالنسبة إلى الموضوع. فطلب الاقتراب من الموضوع وطلب اقتراب الموضوع من الكاميرا يعبّران عن قصدين بصريين مختلفين.
تذكر البيانات الموثّقة لتحويل الصور إلى فيديو خيارَي مدة قدرهما خمس وعشر ثوانٍ، ووضعَي std وpro، وتأطيرًا أفقيًا ورأسيًا ومربعًا. اختر الإعدادات المتاحة لمسار العمل المحدد قبل تقييم النتيجة. احتفظ بالوضع الفعلي والمدة وشكل الإطار مع الصورة المصدر والموجّه النصي عند مقارنة اللقطات المرشحة.
لعرض عنصر، حدّد السمة البصرية التي ينبغي أن تكشفها الحركة. قد تكون سطحًا عاكسًا، أو ثنية في مادة، أو شكل مقبض. اجعل الحركة مركّزة بما يكفي لبقاء السمة المهمة مرئية. قيّم العنصر طوال الحركة وفي المنظر النهائي المستخدم في المونتاج.
في مشهد لشخصية، صِف إيماءة واحدة ذات معنى وعلاقة الشخصية بالعناصر القريبة. راجع الوجه واليدين والملابس ونِسَب الجسم مع مرور الوقت. تحقّق من وصول الإيماءة إلى نهايتها المقصودة، ومن احتفاظ المشهد بترتيب متماسك لعناصر المقدمة والخلفية.
احتفظ بالمقطع الناتج كاملًا وبمواده المصدرية. راجع البداية والحركة الأساسية والنهاية بوصفها تسلسلًا واحدًا، ثم اجعل المراجعات مرتبطة باختلاف محدد عن المطلوب. فملاحظة مثل «الشخصية تلتفت بعيدًا عن النافذة» تمنح الوصف التالي تصحيحًا محددًا مع الإبقاء على بقية المشهد.
Ailoot Ultra · Video POST /v1/videos kling-v1-5
kling-v1-5البداية
Kling v1.5 نموذج فيديو يوفّر مسار عمل موثّقًا لتحويل الصور إلى فيديو. ابدأ بصورة ثابتة مُعدّة مسبقًا، وصِف الحركة وزاوية الرؤية والتكوين النهائي لإنشاء لقطة قصيرة لشخصية أو عنصر أو بيئة.
- المدخلات المقبولة
- النص · الصور
- النتائج
- فيديو
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · Video POST /v1/videos
- الإدخال
text,image- الإخراج
video
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود kling-v1-5 الشروط: استخدم مُحدِّد التوجيه هذا في Ailoot كما هو تمامًا. | القيمة الافتراضية— |
الحقلmode | النوعstring | المتطلباختياري | القيم والحدود std, pro الشروط: استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. | القيمة الافتراضيةstd |
الحقلaspect_ratio | النوعstring | المتطلباختياري | القيم والحدود 16:9, 9:16, 1:1 الشروط: استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. | القيمة الافتراضية— |
الحقلduration | النوعinteger | المتطلباختياري | القيم والحدود 5, 10 الشروط: استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. | القيمة الافتراضية— |
الحقلend_image | النوعstring | المتطلباختياري | القيم والحدود الشروط: استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. | القيمة الافتراضية— |
الحقلimage | النوعstring or array<string> | المتطلبمطلوب | القيم والحدود الشروط: قدِّم عنوان URL فعليًا لصورتك يمكن الوصول إليه. لا تُقبَل قائمة إلا إذا كان مخطط المعلمة ينص على مصفوفة. | القيمة الافتراضية— |
الحقلnegative_prompt | النوعstring | المتطلباختياري | القيم والحدود الشروط: استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الشروط: استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. | القيمة الافتراضية— |
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, prompt, image |
المعلمةoptional | المواصفاتmode, aspect_ratio, duration, end_image, negative_prompt |
المعلمةmaterial_types | المواصفاتtext, image |
المعلمةconditions | المواصفاتاستخدم مُحدِّد التوجيه هذا في Ailoot كما هو تمامًا., استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة., استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة., استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة., استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة., قدِّم عنوان URL فعليًا لصورتك يمكن الوصول إليه. لا تُقبَل قائمة إلا إذا كان مخطط المعلمة ينص على مصفوفة., استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة., استخدم الحقل الموثق للنموذج المحدد والخيارات المدرجة؛ وأغفل القيمة الاختيارية غير المحددة. |
الأسماء البديلة للطريقة: /v1/videos/generations
دورة الحياة: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $6 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v1-5", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
استلام النتائج وحفظها
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
الاحتفاظ بكل النتائج المكتملة
احفظ كل فيديو مكتمل أو ملف مُرجع؛ ونزّل كل أصل من URL الخاص به الذي تم إرجاعه فعليًا.
احتفظ بالاستجابة والترويسات كاملة، والمعرّفات الأصلية، وكل مخرج فعلي، وجميع حقول الاستخدام والمحاسبة. احفظ كل أصل فريد مملوك لك، واحتفظ بكل دور يشير إليه.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بالمعرّف العام المُعاد للمهمة أو العملية وبجميع الترويسات. اقرأ المهمة الأصلية فقط؛ فالحالة unknown أو result_pending_check لا تمنح الإذن بإنشاء مهمة أخرى.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلid | النوعstring |
الحقلpolling_url | النوعstring |
الحقلprovider_task_id | النوعstring |
الحقلtask_id | النوعstring |
الحقلstatus | النوعstring |
الحقلvideo_url | النوعstring |
الأخطاء والخطوات التالية
| الاستجابة | الشرط | الخطوة التالية |
|---|---|---|
الاستجابة400 · invalid_request_error | الشرطأحد الحقول المطلوبة أو مُحدِّد النموذج أو النوع أو تمثيل الإدخال غير صالح. | الخطوة التاليةافحص تفاصيل التحقق المُعادة قبل إعداد طلب مستقل. |
الاستجابة | الشرطالطلب الأصلي أو نتيجته مجهولان أو يحتاجان إلى تحقق. | الخطوة التاليةاحتفظ بالمعرّفات والترويسات الأصلية؛ واقرأ فقط سجلات الحالة أو المكتبة المدعومة. لا ترسل طلب الإنشاء مجددًا. |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra kling-v1-5
الأسماء البديلة لمسارات الطرائق
/v1/videos/generations
معرّفات النماذج ذات الصلة IDs
FAQ · Kling v1.5
- ما المدخلات والنتائج المتاحة؟
POST /v1/videos·kling-v1-5:text,image→video- ما الحقول التي يستخدمها الطلب؟
POST /v1/videos·kling-v1-5:model,mode,aspect_ratio,duration,end_image,image,negative_prompt,prompt