ByteDance: Seedance 2.0
Seedance 2.0 יוצר ועורך וידאו באמצעות טקסט, תמונות וקובצי ייחוס של וידאו ושמע. הוא יכול להמשיך קטעי וידאו קיימים וליצור קול מסונכרן, עם משך של 4–15 שניות, פלט 480p או 720p ותפקידי ייחוס מפורשים.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
Seedance 2.0 יוצר וידאו מסצנה כתובה או משילוב של תמונות וקובצי ייחוס של וידאו ושמע. המזהה המדויק doubao-seedance-2-0-260128 מזהה את פרופיל 2.0 הרגיל. תהליכי העבודה המתועדים כוללים יצירת וידאו חדש, עריכה והארכה של קטעי וידאו קיימים. השתמשו בקובצי הייחוס להעברת מראה, תנועה, שפת מצלמה וקול, ואז ציינו באילו חלקי הסצנה הם אמורים לשלוט.
אפשר לספק טקסט לבדו. השילובים הרב־מודאליים המתועדים מאפשרים גם תמונות או וידאו עם טקסט אופציונלי, תמונות עם שמע, וידאו עם שמע ותמונות, וידאו ושמע יחד. לכן בשילובים המנויים האלה השמע מלווה מדיה חזותית; הוא אינו מתואר כבקשה עצמאית משמע לווידאו. כתבו בבירור את התוצאה המיועדת גם כשהטקסט אופציונלי, כדי שתפקיד כל קובץ ייחוס יהיה מפורש ולא יוסק מנכסים לא קשורים.
מערך content מבחין בין פריטי text, image_url, video_url ו-audio_url. קובצי ייחוס רב־מודאליים משתמשים בתפקידים כמו reference_image, reference_video ו-reference_audio. תמונה יכולה להגדיר את האדם, האובייקט, המיקום או המראה. וידאו יכול להדגים ביצוע, תנועה או מבט מצלמה, ושמע יכול לבסס רצועה או תזמון. ציינו את ההקצאה בהנחיות: שמרו את נושא הצילום מהתמונה, עקבו אחר מבט המצלמה בווידאו והשתמשו בשמע כרקע. אל תבקשו מכל קובץ ייחוס להגדיר את כל התכונות בבת אחת.
דוגמת הפרסום המתועדת משלבת שתי תמונות מוצר עם וידאו וקובץ שמע לייחוס. היא מתארת מבט פתיחה, רצף פעולה, פרט מוצר מקרוב וקומפוזיציה סוגרת, תוך שמירה על עקביות קול הרקע. אותו מבנה יכול לארגן תצוגה קצרה: בססו את האובייקט, הדגימו פעולה אחת וסיימו במאפיין המזוהה שלו. לעריכה, זהו את קטעי המקור ואת הרכיב שצריך להשתנות; להארכה, הסבירו איזו פעולה ממשיכה מעבר לסצנה הקיימת תוך שמירה על נושא הצילום ועל כיוון התנועה.
פרופיל 2.0 מתעד משך בשניות שלמות מארבע עד חמש עשרה, או -1 למשך שנבחר אוטומטית בטווח הזה. ברירת המחדל היא חמש שניות. אפשרויות הרזולוציה הן 480p ו-720p, כש-720p היא ברירת המחדל; 1080p אינה זמינה עבור 2.0. יחסי הממדים הקבועים כוללים 16:9, 4:3, 1:1, 3:4, 9:16 ו-21:9. יחס adaptive יכול לבחור מסגור מהפרומפט או מקובץ הייחוס: עבודה עם פריים ראשון עוקבת אחר תמונת הפתיחה, ועבודה רב־מודאלית משתמשת בסצנה המיועדת או במדיה הרלוונטית הראשונה, כשווידאו קודם לתמונות. בדקו בתוצאת המשימה את היחס והמשך בפועל.
קול שנוצר נשלט בנפרד ממדיית הייחוס. generate_audio=true מבקש קולות, אפקטים ומוזיקת רקע מסונכרנים לפי הטקסט והתוכן החזותי; false מבקש וידאו ללא קול. ברירת המחדל המתועדת היא true, ומומלץ לשים דיאלוג במירכאות עבור דיבור. ציינו מי מדבר וכיצד הקול קשור לפעולה הגלויה, ואז בדקו את הניסוח, שיוך הקולות והתזמון בפועל. אספקת קובץ שמע לייחוס והפעלת קול שנוצר הן בחירות נפרדות בבקשה.
מדריך 2.0 שולל את הבקרות הישנות frames ו-camera_fixed ואינו תומך בעיבוד flex לא מקוון. השתמשו בשדה duration ותארו את תנועת המצלמה בסצנה עצמה. seed וסימן מים נשארים בקרות מתועדות; המדריך אומר שאותה בקשה ואותו seed יכולים להפיק תוצאות דומות, בלי להבטיח זהות מדויקת. הימנעו מהתייחסות ל-seed כהוכחה לשחזור, או לבקשה חוזרת כאל קליפ שכבר נבדק.
השימוש בטוקני וידאו מחושב כך: (משך וידאו הקלט + משך וידאו הפלט) × רוחב הפלט × גובה הפלט × קצב הפריימים של הפלט / 1024. לבקשות הכוללות וידאו קלט ולבקשות ללא וידאו קלט יש קטגוריות חיוב נפרדות. שאילתת המשימה מדווחת usage.completion_tokens ו-usage.total_tokens; שמרו את הכמויות המדווחות האלה עם הקליפ שהושלם.
תהליך העבודה אסינכרוני: השליחה מחזירה מזהה משימה, והמשימה שהושלמה מספקת content.video_url יחד עם משך, רזולוציה, יחס, קצב פריימים ושימוש בטוקנים שדווחו. שמרו את המזהה ושמרו את הווידאו שהושלם עם קובצי הייחוס והפרומפט המקוריים. ברירת המחדל של שדה הפקיעה היא 172800 שניות, והוא מקבל 3600–259200 שניות מיצירת המשימה; משימה החורגת מהפרק הזה עוברת לסטטוס פג תוקף. בדקו את הפלט כולו, לרבות נקודת החיבור של העריכה או ההמשך, מבחינת מראה הדמות, פרטי האובייקט, היחסים במרחב, רציפות המצלמה ותזמון הקול מול התמונה.
Ailoot Ultra · וידאו POST /v1/videos doubao-seedance-2-0-260128
doubao-seedance-2-0-260128התחלה
Seedance 2.0 יוצר ועורך וידאו באמצעות טקסט, תמונות וקובצי ייחוס של וידאו ושמע. הוא יכול להמשיך קטעי וידאו קיימים וליצור קול מסונכרן, עם משך של 4–15 שניות, פלט 480p או 720p ותפקידי ייחוס מפורשים.
- סוגי קלט נתמכים
- טקסט · תמונות · וידאו · שמע
- תוצאות
- וידאו
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · וידאו POST /v1/videos
- סוגי קלט
text,image,video,audio- סוגי פלט
video
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות doubao-seedance-2-0-260128 | ברירת מחדל— |
שדהcontent | סוגarray | דרישהחובה | ערכים ומגבלות תנאים: אובייקטי טקסט ומדיה בפורמט המקורי; המערך החיצוני חייב להיות לא ריק. הבנאי הכללי הזה של Ailoot אינו מאמת את הטיפוסים של הצמתים המקוננים. | ברירת מחדל— |
שדהgenerate_audio | סוגboolean | דרישהרשות | ערכים ומגבלות תנאים: צליל מסונכרן המוטמע בווידאו. | ברירת מחדלtrue |
שדהduration | סוגinteger | דרישהרשות | ערכים ומגבלות תנאים: מספר שלם 4–15 או -1; משך הפלט בפועל מוחזר בתוצאה. | ברירת מחדל5 |
שדהresolution | סוגstring | דרישהרשות | ערכים ומגבלות 480p, 720p תנאים: מצוין במפורש ש־1080p אינו נתמך ב־2.0/fast. | ברירת מחדל720p |
שדהratio | סוגstring | דרישהרשות | ערכים ומגבלות 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive תנאים: התאמה אוטומטית מתועדת במפורש עבור 2.0/fast/1.5; הדוגמה של 2.5 משתמשת רק ב־16:9. | ברירת מחדלadaptive |
שדהwatermark | סוגboolean | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
שדהseed | סוגinteger | דרישהרשות | ערכים ומגבלות מינימום: -1 מקסימום: 4,294,967,295 | ברירת מחדל-1 |
שדהexecution_expires_after | סוגinteger | דרישהרשות | ערכים ומגבלות מינימום: 3,600 מקסימום: 259,200 יחידה: שניות | ברירת מחדל172,800 |
שדהservice_tier | סוגstring | דרישהרשות | ערכים ומגבלות default תנאים: 2.0/fast אינם מאפשרים flex לא מקוון; היקף התמיכה ב־2.5 לא הוכח. | ברירת מחדלdefault |
שדהsafety_identifier | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהtools | סוגobject | דרישהרשות | ערכים ומגבלות תנאים: רק 2.0/fast; הערך המתועד הוא type=web_search. | ברירת מחדל— |
שילובים של חומרי קלט
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטcontent, model |
פרמטרoptional | מפרטgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
פרמטר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
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפים משוערים להשוואה
מחירים לפי תצורה
התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.
| תצורה | טבלת תעריפים | כמות חזויה | יחידת חיוב | חיוב |
|---|---|---|---|---|
| תצורהתעריפי בסיס לטוקנים | טבלת תעריפיםתעריף בסיס | כמות חזויה— | יחידת חיוב— | חיוב קלט · טוקני קלט · אומדן להשוואה בלבד — / 1K טוקנים פלט · טוקני פלט · אומדן להשוואה בלבד — / 1K טוקנים קלט · קריאה מהמטמון · אומדן להשוואה בלבד — / 1K טוקנים קלט · כתיבה למטמון · אומדן להשוואה בלבד — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה · אומדן להשוואה בלבד — / 1K טוקנים |
| תצורההקלט כולל וידאו לייחוס. | טבלת תעריפים— | כמות חזויה— | יחידת חיובלכל 1K טוקני וידאו | חיוב פלט · אומדן להשוואה בלבד $0.0096 לכל 1K טוקני וידאו |
| תצורההקלט אינו כולל וידאו לייחוס. | טבלת תעריפים— | כמות חזויה— | יחידת חיובלכל 1K טוקני וידאו | חיוב פלט · אומדן להשוואה בלבד $0.015768 לכל 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-0-260128","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; האינדקס חייב לזהות פלט ממשי שהוחזר.
כשצריך לבדוק את התגובה המקורית
יש לשמור את התגובה המקורית, הכותרות והמזהה ולבדוק במחזוריות את הפעולה הזו; אין לשלוח שוב בקשת יצירה שמצבה אינו ידוע.
שדות התגובה
| שדה | סוג |
|---|---|
שדה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/model, טיפוסים של שדות חובה או אינדקס תוכן לא תקפים. | השלב הבא |
תגובה401 · authentication_error | תנאימפתח API לא תקף של Ailoot. | השלב הבא |
תגובה404 · not_found_error | תנאיהמשימה או הפלט חסרים או אינם בבעלות אותו משתמש, מפתח API וקבוצה. | השלב הבא |
תגובה502 · result_pending_check | תנאיהשליחה או הסטטוס המקוריים אינם שלמים; יש לשמור את המזהה המקורי ולא לשלוח שוב. | השלב הבא |
תגובה503 · result_pending_check | תנאיהמדיה, הנתיב או השלמת החיוב המקוריים נבדקים; יש להמשיך את הפעולה המקורית. | השלב הבא |
כינויים
כינויים למודל
Ailoot Ultra doubao-seedance-2-0-260128
כינויים לנתיבי שיטות
/v1/videos/generations
מזהי מודלים קשורים IDs
FAQ · ByteDance: Seedance 2.0
- אילו קלטים ותוצאות זמינים?
POST /v1/videos·doubao-seedance-2-0-260128:text,image,video,audio→video- באילו שדות הבקשה משתמשת?
POST /v1/videos·doubao-seedance-2-0-260128:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier,tools- אילו מגבלות חלות?
POST /v1/videos·doubao-seedance-2-0-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200