Vidu: Q2 Text-to-Video
ينشئ Vidu Q2 فيديو من موجز نصي لمشهد، بمدة 1–10 ثوانٍ ومخرجات بدقة 540p أو 720p أو 1080p وخمس نسب أبعاد. يستخدم إصدار viduq2 المحدد هذا الموجّه لتحديد الأسلوب والحركة، ويُرجع نتيجته عبر مهمة غير متزامنة.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
ينشئ Vidu Q2 فيديو من مشهد مكتوب عبر إصدار تحويل النص إلى فيديو المحدد بمعرّف viduq2. مدخلاته المطلوبة هي معرّف النموذج الدقيق وموجّه يصف المشهد. استخدمه لتصور منتج قصير، أو لقطة تأسيسية، أو فعل لشخصية يمكن تحديد مظهرها وحركتها بالكلمات. هذه الطريقة المهيأة لتحويل النص إلى فيديو؛ ولا ينسب وصفها إلى معرّف الاختيار نمطًا منفصلًا لمرجع صورة أو لتحرير الفيديو.
ابنِ الموجز حول تسلسل مرئي. حدّد الموضوع والموقع والفعل وحجم اللقطة وحركة الكاميرا والتكوين النهائي. لتصور منتج، صف شيئًا على سطح طاولة، وضوءًا يتحرك عبر مادته، واقترابًا بطيئًا للكاميرا ينتهي عند تفصيل يمكن تمييزه. ولمشهد موقع، أسّس البيئة قبل الاقتراب من النقطة المحورية. اجعل الفعل مناسبًا لطول المقطع المختار حتى يتسع المشهد للنهاية المقصودة.
حد الموجّه 2,000 محرف. ضع الموضوع والفعل الأساسيين أولًا، ثم أضف تفاصيل الإضاءة والمادة والبيئة والكاميرا التي تغيّر النتيجة المنشودة. حدّد الأسلوب البصري في الموجّه. يقول الدليل الخاص بـQ2 إن المعاملين المنفصلين style وmovement_amplitude لا يسريان على هذا النموذج، لذا لا يشكل الإعداد المسبق general أو anime وخيارات شدة الحركة بديلًا عن وصف واضح للمشهد.
يقبل إعداد المدة الخاص بالنموذج أعدادًا صحيحة من الثواني من واحدة إلى عشر. خيارات الدقة الخاصة بـQ2 هي 540p و720p و1080p، مع 720p قيمة افتراضية موثّقة. اختر المدة والدقة معًا وفق الفعل والوجهة. يحتاج الكشف القصير عن شيء والحركة الأطول إلى توقيت مختلف؛ وينبغي لزيادة المدة المطلوبة أن تخدم التسلسل المرئي بدل مجرد إطالة موجز لم يتغير. افحص الأبعاد والطول الفعليين للمقطع المعاد عند تجهيز موضع عرضه النهائي.
خيارات aspect_ratio الموثّقة هي 16:9 و9:16 و3:4 و4:3 و1:1، مع 16:9 قيمة افتراضية. يضم الدليل صراحةً 3:4 و4:3 لعائلة Q2. اختر الإطار قبل التوليد وصف تكوينًا يناسبه: أبقِ الموضوع الرئيسي واضحًا في منظر عمودي، أو استخدم عرض إطار أفقي لإظهار المحيط. اجعل المنظر الختامي واضحًا بما يكفي للصفحة أو العرض التقديمي المقصودين أو لإضافة نصوص لاحقًا.
يتحكم حقل seed في التنوع. يؤدي حذفه أو تقديم 0 إلى اختيار قيمة عشوائية؛ وتختار القيمة غير الصفرية خيار seed الثابت الموثّق لتوليد قابل للتكرار. احتفظ بقيمة seed المعادة مع الموجّه والإعدادات عند مقارنة النسخ. توثّق العملية المشتركة أيضًا عنصري التحكم audio وoff_peak خصيصًا لنماذج Q3. خيارات Q3 هذه ليست قدرات منسوبة إلى إصدار Q2 هذا؛ خطّط الطلب حول مدخلاته النصية ومخرجات الفيديو الموثّقة له.
التوليد غير متزامن. يُرجع الإرسال task_id وحالة أولية، مع استخدام created لمهمة أُنشئت حديثًا. احتفظ بهوية المهمة أثناء متابعة المعالجة. يستخدم الاستعلام الموثّق عن النتيجة state=success للنتيجة الناجحة ويُرجع مصفوفة creations. لكل عنصر رابط فيديو في creations[].url؛ احفظ كل فيديو معاد بدل افتراض أن المهمة تتضمن دائمًا مخرجًا واحدًا بالضبط.
يُبلغ توثيق النتيجة أيضًا عن مدة الفيديو الفعلية ومعدل fps وعرض الدقة وارتفاعها. احتفظ بهذه القيم المبلّغ عنها مع المقطع المكتمل بدل اعتبار معدل إطارات مثال أو أبعاده مواصفات ثابتة لـQ2. تتضمن استجابة إنشاء المهمة قيمة credits إلى جانب تكوين الطلب. احتفظ ببيانات المهمة الوصفية المبلّغ عنها ومعرّف المهمة المكتملة مع النتيجة، لكي يظل كل فيديو مرتبطًا بإعدادات توليده.
راجع التسلسل كاملًا بالرجوع إلى الموجز الأصلي: مظهر الموضوع وشكل الشيء واتجاه الحركة واستمرارية الكاميرا والمنظر النهائي المقصود. وللمراجعة، حدّد التفصيل الملموس الذي لم يطابق الموجز واحتفظ بأجزاء المشهد الناجحة. احفظ الموجّه ومعرّف الاختيار الدقيق والإعدادات وهوية المهمة ومقاطع الفيديو المكتملة معًا، لكي تستند المقارنة اللاحقة إلى المخرجات الفعلية.
Ailoot Ultra · فيديو POST /v1/videos viduq2
viduq2البداية
ينشئ Vidu Q2 فيديو من موجز نصي لمشهد، بمدة 1–10 ثوانٍ ومخرجات بدقة 540p أو 720p أو 1080p وخمس نسب أبعاد. يستخدم إصدار viduq2 المحدد هذا الموجّه لتحديد الأسلوب والحركة، ويُرجع نتيجته عبر مهمة غير متزامنة.
- المدخلات المقبولة
- النص
- النتائج
- فيديو
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · فيديو POST /v1/videos
- الإدخال
text- الإخراج
video
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود viduq2 | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الشروط: صِف المشهد المراد توليده. الحد الموثّق هو 2000 حرف؛ تتحقق Ailoot من أن السلسلة النصية غير فارغة وتحافظ على النص. | القيمة الافتراضية— |
الحقلduration | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 1 الحد الأقصى: 10 الشروط: يحدد الوصف الخاص بالنموذج viduq2 مدة 1–10 ثوانٍ كاملة. لا توجد مدة افتراضية موثّقة خاصة بالنموذج. الوحدة: ثوانٍ | القيمة الافتراضية— |
الحقلseed | النوعstring | المتطلباختياري | القيم والحدود الشروط: احذف الحقل أو أرسل السلسلة النصية "0" لاستخدام العشوائية. إذا قُدِّمت قيمة seed غير صفرية، فإنها تختار سلوك seed الثابت الموثّق؛ ولا يوجد نطاق عددي محدد. | القيمة الافتراضية— |
الحقلaspect_ratio | النوعstring | المتطلباختياري | القيم والحدود 16:9, 9:16, 3:4, 4:3, 1:1 | القيمة الافتراضية16:9 |
الحقلresolution | النوعstring | المتطلباختياري | القيم والحدود 540p, 720p, 1080p الشروط: توثّق القائمة الخاصة بالنموذج viduq2 هذه الشرائح لمدة 1–10 ثوانٍ. ويذكر تعداد وجدول مشتركان دقة 360p أيضاً؛ لكن انطباقها يتعارض مع تلك القائمة، ولا يُؤكَّد هنا. | القيمة الافتراضية720p |
الحقلstyle | النوعstring | المتطلباختياري | القيم والحدود general, anime الشروط: يقبل الطلب المشترك هذا الحقل، لكن التوثيق يذكر صراحةً أنه لا يؤثر في viduq2. | القيمة الافتراضيةgeneral |
الحقلmovement_amplitude | النوعstring | المتطلباختياري | القيم والحدود auto, small, medium, large الشروط: يقبل الطلب المشترك هذا الحقل، لكن التوثيق يذكر صراحةً أنه لا يؤثر في نماذج q2. | القيمة الافتراضيةauto |
تركيبات مواد الإدخال
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, prompt |
المعلمةoptional | المواصفاتduration, seed, aspect_ratio, resolution, style, movement_amplitude |
المعلمةmaterial_types | المواصفاتtext |
المعلمةadditional_properties | المواصفاتtrue |
المعلمةvalidation_scope | المواصفاتتتحقق Ailoot من أن سلسلتي model/prompt غير فارغتين. الأنواع والحدود الاختيارية أدناه هي عقد الطلب الموثّق؛ وتُحفظ حقول الطلب الأخرى للنموذج المختار. |
الأسماء البديلة للطريقة: /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/videos/generations/{request_id}/content
أنشئ مرة واحدة واحتفظ بـid العام وpolling_url المُعادين.
استعلم دورياً عن العملية الأصلية واقرأ state؛ تتحقق حدود الاكتمال عند success ووجود نتيجة creations[].url مملوكة لك.
نزّل كل عنوان URL مُعاد لفيديو مملوك لك؛ لا تستنتج من المثال عدداً ثابتاً للمخرجات أو مدة ثابتة أو معدل إطارات ثابتاً.
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $5.12 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · فيديو
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"viduq2","prompt":"In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene."}
JSON_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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("state")!="success":raise SystemExit("Poll the same original job until its owned result is returned.")
creations=r.get("creations")
if not isinstance(creations,list) or not creations:raise SystemExit("No completed video creations.")
urls=[]
for item in creations:
value=item.get("url") if isinstance(item,dict) else None
values=[value] if isinstance(value,str) else value
if not isinstance(values,list) or not values:raise SystemExit("No completed video URL.")
for u in values:
if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for the actual Ailoot-owned signed result.")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
index=$((index + 1))
done < asset-urls.txt
استلام النتائج وحفظها
Ailoot Ultra · فيديو
يحافظ JSON على الحالة الأصلية ومصفوفة creations، مع إضافة الحقول العامة id/provider_task_id/polling_url. تكون عناوين URL المختارة للفيديو فارغة قبل النشر، وتصبح عناوين URL موقّعة تابعة لـAiloot بعد الاكتمال.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
الاحتفاظ بكل النتائج المكتملة
احفظ كل فيديو مكتمل أو ملف مُرجع؛ ونزّل كل أصل من URL الخاص به الذي تم إرجاعه فعليًا.
نزّل كل عنوان URL فعلي مُعاد في creations[].url؛ ويحدد فهرس المحتوى مخرجاً فعلياً مُعاداً واحداً.
عند الحاجة إلى التحقق من الاستجابة الأصلية
لا يسرد التعريف المثبّت أي حالة فشل نهائية. احتفظ بالاستجابة والترويسات والمعرّف الأصلية، وتحقق من العملية نفسها عند ظهور حالة غير معروفة أو خطأ result_pending_check؛ ولا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً.
حقول الاستجابة
| الحقل | النوع | المعنى |
|---|---|---|
الحقلid | النوعstring | المعنىالمعرّف العام المُعاد لمهمة أو عملية في Ailoot. |
الحقلprovider_task_id | النوعstring | المعنىمعرّف المهمة الأصلي، المنفصل عن id العام. |
الحقلpolling_url | النوعstring | المعنىمسار الاستعلام المُعاد في Ailoot للمهمة الأصلية. |
الحقلtask_id | النوعstring when supplied | المعنىالمعرّف الأصلي الموجود في استجابة الإنشاء. |
الحقلstate | النوعstring when supplied | المعنىحالة المهمة الأصلية: created للحالة المعلّقة المثبّتة، وsuccess للاكتمال. |
الحقلerr_code | النوعstring when supplied | المعنىتشخيص المهمة؛ لا تحدد المواصفات المحفوظة قائمة محصورة لرموز الخطأ. |
الحقلcreations[].url | النوعstring|string[] | المعنىيُستبدَل كل عنوان URL مختار لفيديو مكتمل بعنوان URL موقّع تابع لـAiloot. |
الحقلcreations[].video.duration | النوعnumber when supplied | المعنىمدة الفيديو المُعادة؛ افحص النتيجة المكتملة الفعلية. |
الحقلcreations[].video.fps | النوعinteger when supplied | المعنىمعدل الإطارات المُعاد؛ ولا يُوعَد بمعدل إطارات ثابت. |
الحقلcreations[].video.resolution.width | النوعinteger when supplied | المعنىعرض المخرجات المُعاد بالبكسل. |
الحقلcreations[].video.resolution.height | النوعinteger when supplied | المعنىارتفاع المخرجات المُعاد بالبكسل. |
الأخطاء والخطوات التالية
| الاستجابة | الشرط | الخطوة التالية |
|---|---|---|
الاستجابة400 · invalid_request_error | الشرطJSON أو النموذج غير صالح، أو سلاسل نصية مطلوبة مفقودة أو فارغة، أو فهرس محتوى غير صالح. | الخطوة التالية |
الاستجابة401 · authentication_error | الشرطمفتاح API الخاص بـAiloot غير صالح. | الخطوة التالية |
الاستجابة403 · permission_error | الشرطمجموعة مفتاح API غير مخوّلة لاستخدام مسار الوسائط هذا. | الخطوة التالية |
الاستجابة404 · not_found_error | الشرطالمهمة الأصلية أو المخرج المطلوب غير موجود، أو غير مملوك للمستخدم ومفتاح API والمجموعة نفسها. | الخطوة التالية |
الاستجابة502 · result_pending_check | الشرطالإرسال الأصلي أو حالته غير مكتملين، أو يتعذر التحقق من اتساقهما؛ احتفظ بالمعرّف الأصلي ولا تعِد الإرسال. | الخطوة التالية |
الاستجابة503 · result_pending_check | الشرطلا يزال الربط الأصلي أو المسار أو الوسائط المملوكة لك قيد التحقق؛ تابع التحقق من تلك العملية الأصلية. | الخطوة التالية |
الاستجابة503 · server_error | الشرطخدمة الوسائط أو مخزن المهمة الأصلية غير متاح. | الخطوة التالية |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra viduq2
الأسماء البديلة لمسارات الطرائق
/v1/videos/generations
معرّفات النماذج ذات الصلة IDs
FAQ · Vidu: Q2 Text-to-Video
- ما المدخلات والنتائج المتاحة؟
POST /v1/videos·viduq2:text→video- ما الحقول التي يستخدمها الطلب؟
POST /v1/videos·viduq2:model,prompt,duration,seed,aspect_ratio,resolution,style,movement_amplitude- ما الحدود المطبقة؟
POST /v1/videos·viduq2:duration.minimum:1;duration.maximum:10