ByteDance: Seedance 1.0 Pro Fast
Seedance 1.0 Pro Fast هو إصدار Fast المسمّى منفصلًا لتوليد فيديو صامت من النص أو الصورة. يقبل موجز مشهد أو تكوينًا تقوده صورة، مع مخرجات بطول 2–12 ثانية ومعدل 24 fps وعناصر تحكم صريحة في التأطير.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
Seedance 1.0 Pro Fast هو إصدار Fast الذي يحدده doubao-seedance-1-0-pro-fast-251015. يولّد فيديو صامتًا من مشهد مكتوب أو تكوين افتتاحي تقوده صورة. يميّز معرّف الاختيار الدقيق هذا الإصدار عن Seedance 1.0 Pro؛ ولا تحدد كلمة Fast وقت إتمام مضمونًا لمهمة بعينها. اختر نمط الإدخال وفق ما ينبغي أن يؤسس المشهد، ثم قيّم المقطع المعاد بالرجوع إلى ذلك الموجز.
تبدأ اللقطة القائمة على النص بتسلسل موجز: الموضوع والمكان، والفعل، ومسار الكاميرا، والمنظر النهائي. لإظهار منتج، صف الشيء على سطحه، والضوء على مادته، وحركة قصيرة تنتهي عند الميزة المعروضة. ولتصور موقع، انتقل من لقطة تأسيسية عريضة إلى نقطة محورية يمكن تمييزها. تجنّب مطالبة مقطع قصير واحد بتنفيذ عدة مشاهد غير مترابطة يتعين تقديم مواضيعها وأماكنها جميعًا من البداية.
تبدأ اللقطة القائمة على صورة بعنصر image_url في مصفوفة content وتعليمة نصية للحركة. جهّز الاقتصاص والخلفية وترتيب الموضوع في تلك الصورة، ثم حدّد العناصر التي تتحرك وكيف تتصرف الكاميرا. يتيح ذلك تحويل تكوين ثابت إلى مشهد متحرك قصير. وهو مفيد لصورة شخصية أو شيء على طاولة أو تصور بصري مجهّز، فيما ما تزال النتيجة الفعلية بحاجة إلى فحص الهوية والشكل والحركة طوال المقطع.
يمكن لمدخلات الصور استخدام رابط URL متاح أو data URL بصيغة Base64. التنسيقات الموثّقة هي JPEG وPNG وWEBP وBMP وTIFF وGIF؛ ويجب أن تكون الصورة أصغر من 30 MB، وكلا بعديها حصرًا بين 300 و6000 بكسل، وقسمة العرض على الارتفاع حصرًا بين 0.4 و2.5. اختر مصدرًا نقيًا تظهر فيه تفاصيل الموضوع. يوصي دليل الصور بالتأطير adaptive، لذا ينبغي أن تتطابق نسب المصدر المجهّز مع التكوين الذي تريد تحريكه.
يوثّق إصدار 1.0 مدة من ثانيتين إلى اثنتي عشرة ثانية بمعدل 24 fps. الدقة الافتراضية لـPro Fast هي 1080p، ويذكر جدول المخرجات المحتفَظ به مستويات 480p و720p و1080p. يستبعد دليل العملية 1080p لسيناريو الصورة المرجعية. تشمل نسب الأبعاد الثابتة 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 بعد النجاح. ينص التوثيق على الاحتفاظ بالملفات المولّدة سبعة أيام، لذا احتفظ بالمخرج المكتمل مع موجّهه وأي صورة إدخال. راجع الفعل كاملًا وحركة الكاميرا والتأطير النهائي؛ وإذا لم يطابق تفصيلٌ الموجز، فصف ذلك التصحيح المحدد مع الإبقاء على الأجزاء الناجحة.
Ailoot Ultra · فيديو POST /v1/videos doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015البداية
Seedance 1.0 Pro Fast هو إصدار Fast المسمّى منفصلًا لتوليد فيديو صامت من النص أو الصورة. يقبل موجز مشهد أو تكوينًا تقوده صورة، مع مخرجات بطول 2–12 ثانية ومعدل 24 fps وعناصر تحكم صريحة في التأطير.
- المدخلات المقبولة
- النص · الصور
- النتائج
- فيديو
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · فيديو POST /v1/videos
- الإدخال
text,image- الإخراج
video
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود doubao-seedance-1-0-pro-fast-251015 | القيمة الافتراضية— |
الحقلcontent | النوعarray | المتطلبمطلوب | القيم والحدود الشروط: كائنات نصية أو وسائط بصيغتها الأصلية؛ يجب ألا تكون المصفوفة الخارجية فارغة. لا يتحقق مُنشئ الطلبات العام هذا في Ailoot من أنواع العُقد المتداخلة. | القيمة الافتراضية— |
الحقلduration | النوعinteger | المتطلباختياري | القيم والحدود الحد الأدنى: 2 الحد الأقصى: 12 الشروط: المخطط الأساسي للإصدار 1.x يحدد 2–12؛ ويصف نص مشترك لاحق الإصدار 1.5 بأنه 4–12 أو -1. يستخدم المثال القيمة 5 الموثّقة في الموضعين. | القيمة الافتراضية5 |
الحقلresolution | النوعstring | المتطلباختياري | القيم والحدود الشروط: القيم المؤكدة لتحويل النص إلى فيديو هي 480p و1080p. يستبعد إدخال صورة مرجعية دقة 1080p. تتعارض قيمة 720p في التعداد المشترك مع الوصف الخاص بالنموذج؛ لذا يبقى دعم 720p غير محسوم في كلا النمطين. | القيمة الافتراضية1080p |
الحقل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, image |
المعلمةadditional_properties | المواصفاتtrue |
المعلمةvalidation_scope | المواصفاتتتحقق Ailoot من أنواع الحقول المطلوبة ومن أن قيمة model ومصفوفة content غير فارغتين. تُحفظ حقول الطلب الأخرى للنموذج المختار. |
المعلمةimage_constraints | المواصفات{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":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 من الرموز |
| الإعداداتUltra | جدول التعرفة— | الكمية المتوقعة— | وحدة الفوترةلكل 1K من رموز الفيديو | الرسوم الإخراج · تقدير للمقارنة فقط $0.0012 لكل 1K من رموز الفيديو |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | وحدة الفوترة— | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.0576 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · فيديو
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-pro-fast-251015","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-pro-fast-251015
الأسماء البديلة لمسارات الطرائق
/v1/videos/generations
معرّفات النماذج ذات الصلة IDs
FAQ · ByteDance: Seedance 1.0 Pro Fast
- ما المدخلات والنتائج المتاحة؟
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:text,image→video- ما الحقول التي يستخدمها الطلب؟
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- ما الحدود المطبقة؟
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200