ByteDance: Seedance 2.5
ينشئ Seedance 2.5 فيديو من نص ومراجع صور أو فيديو أو صوت، مع سير عمل موثّق للتحرير والتمديد. يجمع مثاله الدقيق لـ2.5 صورة منتج مع عدة مراجع حركة، ويفعّل الصوت المولّد لتسلسل إعلاني منسق.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
ينشئ Seedance 2.5 فيديو باستخدام مشهد مكتوب ومراجع متعددة الوسائط. لمعرّف الاختيار الدقيق doubao-seedance-2-5-260628 عمليته ومثاله الموثّقان الخاصان به. تصف تلك العملية توليد الفيديو وتحريره وتمديده، مع الصور والفيديو والصوت والنص كوسائط إدخال. استخدم المراجع لتوصيل مظهر الموضوع والفعل وحركة الكاميرا والأسلوب والصوت، ثم اشرح النتيجة التي تريد إنشاءها منها.
تشمل توليفات الإدخال النص وحده، والصور أو الفيديو مع نص اختياري، والصور مع الصوت، والفيديو مع الصوت، والصور والفيديو والصوت معًا. تربط التوليفات المدرجة الصوت بالوسائط البصرية بدل وصف طلب يعتمد على الصوت وحده. نظّم كل عنصر وفق دوره: تؤسس صورة موضوعًا أو مظهرًا، ويعرض فيديو حركة أو مشهدًا موجودًا، ويوفر الصوت مرجعًا صوتيًا. حدّد الدور المهم للّقطة المطلوبة لكيلا يُفهم مرجع للخلفية على أنه الشخصية الرئيسية.
المثال الدقيق لـ2.5 تسلسل إعلاني لمنتج. يقدّم صورة وعدة مراجع فيديو، ثم يصف محورًا افتتاحيًا وترتيبات متتابعة للمنتجات ولقطات تفصيلية وفعلًا بالحركة البطيئة وتكوينًا ختاميًا للعلامة التجارية. يسند الطلب أدوار reference_image وreference_video ويستخدم مراجع منفردة للتكوين والحركة وعمل الكاميرا والتأثير. يمنح ذلك بنية عملية لتصور حملة: خطّط مراحلها البصرية، وحدّد المرجع لكل مرحلة، وعيّن الترتيب النهائي.
يمكن للتسلسل المكتوب أن يميز ما يحدث عن طريقة تصويره. صف فعل المنتج أولًا، ثم حجم اللقطة ومسار الكاميرا والإيقاع والانتقال إلى المنظر التالي. إذا حدد مرجع المنتج وعرض آخر حركة كاميرا، فسمّ هاتين المسؤوليتين المنفصلتين. ولمشهد يتضمن عدة أشياء، اشرح مواقعها وترتيب التفاعلات. افحص النتيجة المولّدة لمعرفة شكل المنتج وترتيبه وحركته الفعلية، بدل افتراض أن كل تفصيل مرجعي يظهر دون تغيير.
للتحرير، حدّد الفيديو الموجود والعنصر المطلوب تعديله، مثل المكان أو الفعل أو الأسلوب البصري، مع بيان الاستمرارية المطلوب الحفاظ عليها. وللتمديد، صف كيف ينبغي للمشهد أن يستمر انطلاقًا من اللقطات المقدّمة. راجع موضع الوصل والجزء الجديد معًا: يؤثر مظهر الموضوع واتجاه الحركة وموضع الكاميرا وتوقيت الصوت جميعًا في ظهور النتيجة كمشهد واحد. احتفظ بالفيديو الأصلي والمراجعة المكتملة معًا، لكي يمكن التحقق من التغيير بالرجوع إلى الاستمرارية المقصودة.
يضبط مثال 2.5 متعدد الوسائط الموثّق generate_audio=true ويطلب تسلسلًا من خمس عشرة ثانية بتأطير 16:9. تصف هذه القيم ذلك المثال وليست حدًا عامًا للمدة أو للمواد المرجعية. امنح المشهد المطلوب تصورًا صوتيًا واضحًا، بما فيه العلاقة بين الموسيقى والمؤثرات والفعل الظاهر، ثم قيّم المخرجات السمعية والبصرية الفعلية. ينبغي مراجعة المرجع الصوتي والمسار الصوتي المولّد معًا من حيث الإيقاع والأداء المقصودين.
اختر المدة والتأطير والدقة من الإعدادات المعروضة لهذا الإصدار الدقيق. احتفظ بالتكوين المطلوب مع الموجّه، وقارنه بحقول المهمة الفعلية المعادة. استخدم المدة والدقة والنسبة المعادة عند تجهيز المقطع المكتمل لوجهته. احتفظ بمعرّف الإصدار الدقيق في سجل المراجعة لكي تستخدم المقارنة اللاحقة الإصدار المحدد نفسه.
يُحسب استخدام رموز الفيديو وفق الصيغة: (مدة فيديو الإدخال + مدة الفيديو الناتج) × عرض الفيديو الناتج × ارتفاع الفيديو الناتج × معدل إطارات الفيديو الناتج / 1024. للطلبات التي تتضمن فيديو إدخال وتلك التي لا تتضمنه فئات فوترة متميزة. يُبلغ الاستعلام عن المهمة عن usage.completion_tokens وusage.total_tokens؛ احتفظ بهذه الكميات المبلّغ عنها مع المقطع المكتمل.
التوليد غير متزامن. يُرجع الإرسال معرّفًا، ويوفر مسار المهمة المهيأ الحالة ثم content.video_url بعد النجاح. احفظ المقطع المكتمل مع الوسائط المصدرية وموجز التسلسل. راجع كل المراحل المخططة وتفاعلات الأشياء ومظهر الشخصيات والتأطير ومحاذاة الصوت عبر النتيجة كاملة. وللمراجعة، حدّد التفصيل الملموس الذي لم يتحقق، واحتفظ بأجزاء المشهد الناجحة بدل استبدال الموجز كله بتعليمات غير مرتبطة.
Ailoot Ultra · فيديو POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628البداية
ينشئ Seedance 2.5 فيديو من نص ومراجع صور أو فيديو أو صوت، مع سير عمل موثّق للتحرير والتمديد. يجمع مثاله الدقيق لـ2.5 صورة منتج مع عدة مراجع حركة، ويفعّل الصوت المولّد لتسلسل إعلاني منسق.
- المدخلات المقبولة
- النص · الصور · فيديو · الصوت
- النتائج
- فيديو
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · فيديو POST /v1/videos
- الإدخال
text,image,video,audio- الإخراج
video
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود doubao-seedance-2-5-260628 | القيمة الافتراضية— |
الحقلcontent | النوعarray | المتطلبمطلوب | القيم والحدود الشروط: كائنات نصية أو وسائط بصيغتها الأصلية؛ يجب ألا تكون المصفوفة الخارجية فارغة. لا يتحقق مُنشئ الطلبات العام هذا في Ailoot من أنواع العُقد المتداخلة. | القيمة الافتراضية— |
الحقلgenerate_audio | النوعboolean | المتطلباختياري | القيم والحدود الشروط: يضبط مثال 2.5 القيمة على true، لكن وصف المحدِّد المنسوخ يسرد 2.0/fast/1.5 فقط؛ ولا يوجد ضمان أوسع للإعداد أو القيمة الافتراضية. | القيمة الافتراضية— |
الحقلduration | النوعinteger | المتطلباختياري | القيم والحدود الشروط: القيمة الحرفية 15 في مثال 2.5 ليست حداً أقصى ولا قيمة افتراضية. | القيمة الافتراضية— |
الحقلresolution | النوعstring | المتطلباختياري | القيم والحدود الشروط: لا تُستنتج قيمة افتراضية أو قيم تعداد خاصة بـ2.5 من الأوصاف المنسوخة. | القيمة الافتراضية— |
الحقلratio | النوعstring | المتطلباختياري | القيم والحدود الشروط: يقتصر نطاق adaptive صراحةً على 2.0/fast/1.5؛ ويستخدم مثال 2.5 نسبة 16:9 فقط. | القيمة الافتراضية— |
الحقلwatermark | النوعboolean | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |
الحقلseed | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: -1 الحد الأقصى: 4,294,967,295 | القيمة الافتراضية-1 |
الحقلexecution_expires_after | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 3,600 الحد الأقصى: 259,200 الوحدة: ثوانٍ | القيمة الافتراضية172,800 |
الحقلservice_tier | النوعstring | المتطلباختياري | القيم والحدود الشروط: يستبعد 2.0/fast نمط flex غير المتصل؛ ولم يُحدَّد نطاق 2.5. | القيمة الافتراضية— |
الحقلsafety_identifier | النوعstring | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
تركيبات مواد الإدخال
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتcontent, model |
المعلمةoptional | المواصفاتgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier |
المعلمةmaterial_types | المواصفاتtext, image, video, audio |
المعلمةadditional_properties | المواصفاتtrue |
المعلمةvalidation_scope | المواصفاتتتحقق Ailoot من أنواع الحقول المطلوبة ومن أن قيمة model ومصفوفة content غير فارغتين. تُحفظ حقول الطلب الأخرى للنموذج المختار. |
المعلمةmaterial_combinations | المواصفاتtext, image, video, image, audio, image, video, video, audio, image, video, audio |
المعلمةoptional_text_with_media | المواصفاتtrue |
المعلمةreference_media_count_and_size_limits | المواصفاتnull |
الأسماء البديلة للطريقة: /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.
استعلم دورياً عن المهمة الأصلية؛ ونزّل المحتوى الفعلي المملوك لك في content.video_url بعد succeeded.
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | وحدة الفوترة | الرسوم |
|---|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | وحدة الفوترة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتتضمن المدخلات فيديو مرجعيًا. | جدول التعرفة— | الكمية المتوقعة— | وحدة الفوترةلكل 1K من رموز الفيديو | الرسوم الإخراج · تقدير للمقارنة فقط $0.012 لكل 1K من رموز الفيديو |
| الإعداداتلا تتضمن المدخلات فيديو مرجعيًا. | جدول التعرفة— | الكمية المتوقعة— | وحدة الفوترةلكل 1K من رموز الفيديو | الرسوم الإخراج · تقدير للمقارنة فقط $0.02 لكل 1K من رموز الفيديو |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | وحدة الفوترة— | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.822402 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · فيديو
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-5-260628","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
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.startswith("native302_"):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 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("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
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 actual Ailoot-owned signed result.")
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 أصلي يتضمن id/polling_url عامين. بعد النشر، يحتوي content.video_url على عنوان URL موقّع أو أكثر تابع لـAiloot؛ وقبل النشر تُفرَّغ عناوين URL للمخرجات المختارة.
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 فعلي في content.video_url؛ ويجب أن يحدد index مخرجاً فعلياً مُعاداً.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بالاستجابة والترويسات والمعرّف الأصلية، واستعلم دورياً عن تلك العملية؛ ولا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلid | النوعstring |
الحقلprovider_task_id | النوعstring |
الحقلpolling_url | النوعstring |
الحقلstatus | النوعstring when supplied |
الحقلcontent.video_url | النوعstring|string[] |
الحقلusage | النوعobject when supplied |
الأخطاء والخطوات التالية
| الاستجابة | الشرط | الخطوة التالية |
|---|---|---|
الاستجابة400 · invalid_request_error | الشرطJSON أو النموذج أو أنواع الحقول المطلوبة أو فهرس المحتوى غير صالحة. | الخطوة التالية |
الاستجابة401 · authentication_error | الشرطمفتاح API الخاص بـAiloot غير صالح. | الخطوة التالية |
الاستجابة404 · not_found_error | الشرطالمهمة أو المخرج غير موجود، أو غير مملوك للمستخدم ومفتاح API والمجموعة نفسها. | الخطوة التالية |
الاستجابة502 · result_pending_check | الشرطالإرسال الأصلي أو حالته غير مكتملين؛ احتفظ بالمعرّف الأصلي ولا تعِد الإرسال. | الخطوة التالية |
الاستجابة503 · result_pending_check | الشرطالوسائط أو المسار أو التسوية الأصلية قيد التحقق؛ تابع العملية الأصلية. | الخطوة التالية |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra doubao-seedance-2-5-260628
الأسماء البديلة لمسارات الطرائق
/v1/videos/generations
معرّفات النماذج ذات الصلة IDs
FAQ · ByteDance: Seedance 2.5
- ما المدخلات والنتائج المتاحة؟
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- ما الحقول التي يستخدمها الطلب؟
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- ما الحدود المطبقة؟
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200