ByteDance: Seedance 1.0 Lite Text-to-Video
يحوّل Seedance 1.0 Lite Text-to-Video مشهدًا مكتوبًا إلى فيديو صامت. يستخدم معرّف اختيار Lite هذا النص بدل صورة مرجعية، مع مدة 2–12 ثانية ومعدل 24 fps وتأطير أفقي أو عمودي أو مربع أو سينمائي.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
يولّد Seedance 1.0 Lite Text-to-Video فيديو من مشهد مكتوب. معرّف الاختيار الدقيق doubao-seedance-1-0-lite-t2v-250428 هو نموذج تحويل النص إلى فيديو ضمن إصدار Lite. استخدمه عندما يمكن وصف الموضوع والمكان والحركة مباشرةً: منتج على سطح طاولة، أو لقطة تأسيسية لموقع، أو فعل قصير لشخصية. المخرج مقطع فيديو؛ ولا يولّد إصدار 1.0 صوتًا متزامنًا.
اكتب المشهد بالترتيب الذي ينبغي أن يراه المشاهد. حدّد الموضوع ومظهره والموقع والفعل وحجم اللقطة وحركة الكاميرا، ثم صف التكوين النهائي. قد يصف موجز منتج مفيد زجاجة على قاعدة حجرية فاتحة، وضوء الشمس يتحرك عبر الملصق، وتقدمًا بطيئًا نحو الغطاء. هذه تعليمات لمشهد جديد وليست ادعاءً بأن النموذج يعيد إنتاج صورة منتج مقدّمة. اجعل الفعل الظاهر مناسبًا لطول المقطع المختار.
معرّف تحويل النص إلى فيديو هذا متميز عن معرّف Lite المنفصل لتحويل الصورة إلى فيديو. يُقدَّم محتواه كعنصر text في مصفوفة content. يمكن لجملة أن تصف شخصًا أو شيئًا أو أسلوبًا، لكنها لا ترفق صورة مرجعية ولا تثبت هوية بصرية دقيقة من ملف لم يُرَ. لمشهد يجب أن يأتي تكوينه الافتتاحي من صورة موجودة، اختر إصدارًا يدعم الصور بدل افتراض أن هوية Lite t2v تغيّر الأنماط عند إضافة حقل وسائط.
نطاق المدة الموثّق لـ1.0 من ثانيتين إلى اثنتي عشرة ثانية، مع مدة افتراضية قدرها خمس ثوانٍ ومعدل إطارات ثابت يبلغ 24 fps. يتيح Lite مستويات دقة 480p و720p و1080p، مع 720p افتراضيًا بحسب التوثيق. تشمل نسب الأبعاد الثابتة 16:9 و4:3 و1:1 و3:4 و9:16 و21:9. اختر الإطار وفق وجهته قبل التوليد: عموديًا لعرض رأسي، أو مربعًا للوحة منتج مدمجة، أو أفقيًا لمشهد عريض. تصف مستويات الدقة ونسب الأبعاد المخرجات المطلوبة؛ افحص المقطع الذي نُزّل لمعرفة أبعاده الفعلية بالبكسل وتأطيره.
يتيح الطلب عناصر تحكم في seed والعلامة المائية والكاميرا. قيمة seed عدد صحيح من -1 إلى 2^32-1، حيث تختار -1 العشوائية. يضيف طلب تثبيت الكاميرا تعليمة بكاميرا ثابتة، ويصرّح التوثيق بأن الأثر غير مضمون. اجعل توجيه الكاميرا متسقًا بين المشهد المكتوب وعنصر التحكم المنفصل. تتقدم تعليمات المعاملات المضمّنة في النص على المعاملات الاختيارية المنفصلة، لذا تجنّب إعطاء تعليمات متعارضة للمدة أو الدقة أو التأطير في الموضعين.
يُقاس الاستخدام برموز الفيديو: عرض الفيديو الناتج × ارتفاع الفيديو الناتج × معدل الإطارات × مدة الفيديو الناتج / 1024. تُبلغ المهمة المكتملة عن هذه الكمية في usage.completion_tokens. احتفظ بالاستخدام المبلّغ عنه مع المقطع النهائي وإعداداته المطلوبة.
التوليد غير متزامن. يُرجع الإرسال معرّف مهمة، ويوفر الاستعلام عن المهمة حالة معالجتها، وبعد النجاح رابط الفيديو في content.video_url. احتفظ بمعرّف المهمة ما دامت في قائمة الانتظار أو قيد التنفيذ، واحفظ المقطع المكتمل للمراجعة التالية. مدة الاحتفاظ الموثّقة بالملفات المولّدة سبعة أيام. وللطلب أيضًا مهلة انتهاء تُقاس من إنشاء المهمة، تصبح بعدها المهمة غير المكتملة منتهية الصلاحية؛ والقيمة الافتراضية الموثّقة 172800 ثانية، مع قيم من 3600 إلى 259200 ثانية.
راجع المقطع كاملًا بالرجوع إلى الموجز: هل يظهر الموضوع المقصود، ويحدث الفعل بالترتيب الصحيح، وتتبع الكاميرا الاتجاه المطلوب، ويصلح الإطار النهائي للاستخدام؟ غيّر تعليمة محددة للنسخة التالية مع الحفاظ على بنية المشهد الناجحة. ولسلسلة لقطات، احتفظ بكل موجّه وإعدادات مطلوبة وفيديو مكتمل، حتى يمكن تخطيط المشهد التالي انطلاقًا من النتيجة الفعلية.
Ailoot Ultra · فيديو POST /v1/videos doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428البداية
يحوّل Seedance 1.0 Lite Text-to-Video مشهدًا مكتوبًا إلى فيديو صامت. يستخدم معرّف اختيار Lite هذا النص بدل صورة مرجعية، مع مدة 2–12 ثانية ومعدل 24 fps وتأطير أفقي أو عمودي أو مربع أو سينمائي.
- المدخلات المقبولة
- النص
- النتائج
- فيديو
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · فيديو POST /v1/videos
- الإدخال
text- الإخراج
video
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود doubao-seedance-1-0-lite-t2v-250428 | القيمة الافتراضية— |
الحقلcontent | النوعarray | المتطلبمطلوب | القيم والحدود الشروط: كائنات نصية أو وسائط بصيغتها الأصلية؛ يجب ألا تكون المصفوفة الخارجية فارغة. لا يتحقق مُنشئ الطلبات العام هذا في Ailoot من أنواع العُقد المتداخلة. | القيمة الافتراضية— |
الحقلduration | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 2 الحد الأقصى: 12 الشروط: المخطط الأساسي للإصدار 1.x يحدد 2–12؛ ويصف نص مشترك لاحق الإصدار 1.5 بأنه 4–12 أو -1. يستخدم المثال القيمة 5 الموثّقة في الموضعين. | القيمة الافتراضية5 |
الحقلresolution | النوعstring | المتطلباختياري | القيم والحدود 480p, 720p, 1080p الشروط: تعداد مشترك؛ تُستبعد 1080p عند استخدام صور مرجعية ومع 1.5. يسرد الوصف المضمّن لـpro القيمتين 480p/1080p، بينما يتضمن التعداد في المستوى الأعلى 720p؛ ولا يوجد ضمان محسوم لدعم 720p في pro. | القيمة الافتراضية720p |
الحقلratio | النوعstring | المتطلباختياري | القيم والحدود 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive الشروط: تختلف القيم الافتراضية باختلاف المشهد والنموذج؛ ويوصي توثيق إدخال الصور باستخدام adaptive. | القيمة الافتراضية— |
الحقلservice_tier | النوعstring | المتطلباختياري | القيم والحدود default, flex الشروط: default=online، flex=offline؛ اختر قبل الإنشاء. | القيمة الافتراضيةdefault |
الحقلseed | النوعinteger | المتطلبمطلوب | القيم والحدود الحد الأدنى: -1 الحد الأقصى: 4,294,967,295 | القيمة الافتراضية-1 |
الحقلcamerafixed | النوعboolean | المتطلبمطلوب | القيم والحدود الشروط: مطلوب من Ailoot؛ يوضح التوثيق أن التحكم بالكاميرا باستخدام صورة مرجعية غير مدعوم، ولا يُضمن تأثيره. | القيمة الافتراضيةfalse |
الحقلwatermark | النوعboolean | المتطلبمطلوب | القيم والحدود | القيمة الافتراضيةfalse |
الحقلexecution_expires_after | النوعinteger | المتطلبمطلوب | القيم والحدود الحد الأدنى: 3,600 الحد الأقصى: 259,200 الوحدة: ثوانٍ | القيمة الافتراضية172,800 |
تركيبات مواد الإدخال
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتcamerafixed, content, execution_expires_after, model, seed, watermark |
المعلمةoptional | المواصفاتduration, resolution, ratio, service_tier |
المعلمةmaterial_types | المواصفاتtext |
المعلمةadditional_properties | المواصفاتtrue |
المعلمةvalidation_scope | المواصفاتتتحقق Ailoot من أنواع الحقول المطلوبة ومن أن قيمة model ومصفوفة content غير فارغتين. تُحفظ حقول الطلب الأخرى للنموذج المختار. |
الأسماء البديلة للطريقة: /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 من الرموز |
| الإعداداتUltra | جدول التعرفة— | الكمية المتوقعة— | وحدة الفوترةلكل 1K من رموز الفيديو | الرسوم الإخراج · تقدير للمقارنة فقط $0.003 لكل 1K من رموز الفيديو |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | وحدة الفوترة— | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.144 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · فيديو
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-lite-t2v-250428","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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-1-0-lite-t2v-250428
الأسماء البديلة لمسارات الطرائق
/v1/videos/generations
معرّفات النماذج ذات الصلة IDs
FAQ · ByteDance: Seedance 1.0 Lite Text-to-Video
- ما المدخلات والنتائج المتاحة؟
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:text→video- ما الحقول التي يستخدمها الطلب؟
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- ما الحدود المطبقة؟
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200