דילוג לתיעוד
בעמוד זה

Seedance 2.5

צרו סרטונים עם Seedance 2.5 באמצעות טקסט, פריים ראשון ואחרון, או קלטי התייחסות רב-מודאליים. עמוד זה מכסה את תהליך העבודה המלא מקבלת הבקשה ועד לקבלת התוצאה עבור דגם זה.

מזהה דגם ב-API: seedance-2-5

תהליך היצירה הוא אסינכרוני. שמרו את ה-taskId שמוחזר בעת יצירת המשימה, ולאחר מכן בדקו את הסטטוס שלה או קבלו עדכון באמצעות Webhook.

יכולות

תכונהערכים נתמכים
רזולוציית פלט480p · 720p · 1080p
אורך הפלט4–30 שניות
יחס גובה-רוחב16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
תמונות התייחסותעד 30 תמונות
סרטוני התייחסותעד 10 סרטונים
קובצי אודיו להתייחסותעד 10 קובצי שמע
כל קלטי ההתייחסות יחדעד 50 קובצי עזר בסך הכל
אורך כולל לקבוצת וידאו/אודיו30 שניות
seedלא נתמך
ניתן גם להגדיר duration=-1 במצב התייחסות לווידאו (reference-to-video); ראו עריכת וידאו ותמחור להלן. במצב image-to-video נתמך רק הערך adaptive; יש להשמיט שדה זה או להגדירו כ-adaptive.

תמחור וקרדיטים

החיוב על יצירת סרטונים מתבצע בנקודות זכות (credits) בהתאם למשך הזמן לחיוב בשניות. ללא סרטון קלט, המשך לחיוב הוא אורך סרטון הפלט; עם סרטון קלט, החיוב כולל גם את אורך סרטון הייחוס.

משימות טיוטה (Draft) מחויבות לפי תעריפי ה-480p המפורטים מעלה, כולל תוספת עבור סרטוני עזר במידה וצורפו. גרסאות סופיות מחויבות לפי תעריף פלט בלבד ב-1080p העומד על 30 קרדיטים לשנייה; אין חיוב נוסף על סרטוני עזר בשלב זה. לדוגמה, טיוטה של 5 שניות ללא סרטון עזר תעלה 50 קרדיטים, והגרסה הסופית שלה באורך 5 שניות תעלה 150 קרדיטים נוספים.

הטבלה שלהלן מציגה את נקודות הזכות לחיוב בשנייה, ולא את העלות הכוללת של המשימה. התעריף נקבע לפי הדגם, רזולוציית הפלט, והאם סופקו סרטוני ייחוס במצב Reference-to-Video. לחישוב העלות הכוללת, עיין בנוסחאות ובדוגמאות שמתחת לטבלה.

רזולוציית פלטללא קלט וידאועם קלט וידאו
480p‏10 קרדיטים לשנייה‏6 קרדיטים לשנייה
720p‏20 קרדיטים לשנייה‏12 קרדיטים לשנייה
1080p‏30 קרדיטים לשנייה‏20 קרדיטים לשנייה
  • ללא קלט וידאו: שניות פלט × תעריף ללא וידאו.
  • עם קלט וידאו: (שניות פלט + שניות מדודות של סרטון ההתייחסות) × תעריף עם וידאו. השרת מודד את אורך סרטון ההתייחסות הכולל ומעגל אותו כלפי מעלה לשניות שלמות לפני החיוב.
  • התייחסויות המבוססות על תמונה או אודיו בלבד מחושבות לפי תעריף 'ללא וידאו'. תעריף החיוב עבור סרטון התייחסות חל רק במצב reference-to-video כאשר מסופקים סרטוני התייחסות.

דוגמאות לחישוב עלויות

יצירת טקסט לווידאו באורך 5 שניות ברזולוציית 720p: 5 × 20 = 100 קרדיטים.

פלט באורך 5 שניות ב-720p עם סרטון התייחסות של 5 שניות: (5 + 5) × 12 = 120 קרדיטים.

קרדיטים אלו מנוכים מראש בעת יצירת המשימה. אם המשימה מסתיימת בהצלחה, סכום זה הוא החיוב הסופי; הוא לא יוגדל ולא יוחזר חלקית בהתבסס על משך זמן הפלט בפועל. משימות שנכשלו או שהזמן שלהן פג (Timeout) יעברו לתהליך החזר כספי.

הקרדיטים נשמרים בעת שליחת הבקשה ומחויבים רק עם הצלחת המשימה. משימות שנכשלו או שהזמן שלהן קצב (timeout) נכנסות לתהליך זיכוי. סטטוס חיוב של refund_failed פירושו שהזיכוי לא הושלם בהצלחה; יש לבדוק את יומני הרישום (logs) של ה-API או לפנות לתמיכה.

כיצד מנוכים קרדיטים כאשר duration=-1

כאשר אורך הסרטון מוגדר כ-‎-1, אורך סרטון הפלט אינו קבוע והמודל קובע אותו.

במרבית המקרים, מומלץ להגדיר את אורך הסרטון הרצוי בפועל במקום לבחור ב-‎-1. אנו ממליצים להשתמש ב-‎-1 אך ורק לצורך עריכת וידאו, ולא בתרחישים אחרים של יצירת סרטונים.

קלט ייחוס (Reference)כיצד מחושב החיובדוגמה
עם סרטוני ייחוססוכמים את משך הזמן של כל סרטוני הייחוס ומעגלים את הסך הכל כלפי מעלה לשנייה השלמה הבאה – נסמן ערך זה כ-T. החיוב הוא (T + T) כפול תעריף הוידאו: T אחד מייצג את משך זמן הפלט המוערך, וה-T השני מייצג את משך זמן סרטון הקלט.ברזולוציית 720p עם סרטון ייחוס באורך 5 שניות: (5 + 5) × 12 = 120 קרדיטים.
ללא סרטוני ייחוס (תמונות או שמע בלבד)משך זמן הפלט המוערך נקבע ל-30 שניות. החיוב הוא 30 כפול התעריף ללא וידאו.ברזולוציית 720p ללא סרטוני ייחוס: 30 × 20 = 600 קרדיטים.

אימות

צרו מפתח API בלוח הבקרה. המפתח המלא יוצג פעם אחת בלבד. שמרו אותו בשרת שלכם ושלחו אותו כטוקן Bearer בכל בקשה.

כתובת בסיס (Base URL)

https://api.seevio.ai
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json

הגדירו את משתנה הסביבה SEEVIO_API_KEY לפני הרצת דוגמאות אלו. דוגמאות ה-JavaScript רצות על השרת שלכם באמצעות Node.js; דוגמאות ה-Python משתמשות בחבילת requests.

מדריך מהיר

שלחו בקשה בסיסית זו, שמרו את ה-taskId שמוחזר, והשתמשו בדוגמה לשאילתת משימה המופיעה להלן. ערך הקרדיטים (credits) בתגובת היצירה מייצג את כמות הקרדיטים השמורה עבור המשימה.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}'

דוגמה לתגובת יצירת משימה

לאחר קבלת הבקשה שלעיל, ה-API מחזיר תגובת JSON זו. הפרמטר taskId הוא מזהה המשימה המשמש לשאילתות סטטוס הבאות; הפרמטר credits מייצג את מספר הקרדיטים השמורים עבור משימה זו. תגובה זו מאשרת את יצירת המשימה, ולא שהסרטון מוכן. עליך לבצע פנייה יזומה (polling) לבדיקת סטטוס המשימה או להשתמש ב-Webhook כדי לקבל את תוצאות הסרטון.

{
  "taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "credits": 100
}

יצירת משימה

POST https://api.seevio.ai/v1/videos/generations

שלחו אובייקט JSON המכיל את הדגם והקלט, יחד עם callback_url אופציונלי. הקפידו תמיד לציין את מזהה הדגם המוצג בעמוד זה; השמטת השדה תבחר כברירת מחדל ב-seedance-2-0.

גוף הבקשה

שדהסוגחובהתיאור ומגבלות
model
stringכן

מזהה דגם. כדי להשתמש ב-Seedance 2.5, הגדר שדה זה כ-seedance-2-5.

callback_url
stringלא

כתובת HTTPS ציבורית לקבלת קריאות חוזרות (POST callbacks) במקרה של הצלחה או כישלון. שימוש ברשתות פרטיות וב-localhost אינו מותר.

דוגמה: https://example.com/webhooks/seevio
input
objectכן

הגדרות היצירה. חייב להכיל prompt (הנחיה) שאינו ריק.

פרמטרי קלט

השדה image_urls הוא חובה במצב image-to-video. מצב reference-to-video דורש לפחות קלט התייחסות אחד מתוך image_urls, video_urls או audio_urls.
כאשר השדה draft_task_id קיים, יש להשמיט את השדות: prompt, generation_type, image_urls, video_urls, audio_urls, duration, aspect_ratio, seed, generate_audio, web_search ו-omni_reference_task_type, גם אם ערכיהם זהים לאלו של הטיוטה. הגדרות אלו נלקחות אוטומטית מהטיוטה. אין לשלב את הערך draft=true יחד עם draft_task_id.

יש לספק את image_urls‏, video_urls ו-audio_urls כמערכים של מחרוזות URL‏ (string[]). כל כתובת URL שתוזן חייבת להיות נגישה לציבור באמצעות פרוטוקול HTTPS, כולל קובצי מדיה שאין בהם שימוש במצב שנבחר.

שדהסוגחובהברירת מחדלתיאור ומגבלות
input.draft
booleanלאfalse

יצירת תצוגה מקדימה (טיוטה) ב-480p. נתמך בדגם Seedance 2.5 בלבד. לא ניתן לשילוב יחד עם draft_task_id.

ערכים נתמכים
true | false
input.draft_task_id
stringלא—

יצירת גרסה סופית ב-1080p מטיוטה שהושלמה בהצלחה ונמצאת בבעלות החשבון, שנוצרה לפני פחות מ-7 ימים. ספקו את ה-taskId שהוחזר על ידי ה-API והשמיטו את שדות היצירה שהערכים שלהם נלקחים מהטיוטה.

דוגמה: 3f2aK9mR7xQp4TnZ8bLc6YwH
input.output_format
stringלאmp4

פורמט מעטפת הווידאו (container). תומך ב-mp4 וב-mov, כולל בבקשות של טיוטה וגרסה סופית.

ערכים נתמכים
mp4 | mov
input.prompt
stringמותנה—

שדה חובה ביצירה רגילה ובשלב יצירת טיוטה. אין לשלוח שדה זה בעת הפקת גרסה סופית באמצעות draft_task_id; הנחיית הטיוטה תורש באופן אוטומטי.

דוגמה: A cat surfing at sunset
input.generation_type
stringלאtext-to-video

האפשרות text-to-video משתמשת בהנחיית הטקסט בלבד; image-to-video משתמש ב-1–2 תמונות; reference-to-video משתמש בהתייחסויות של תמונה, וידאו ו/או אודיו.

ערכים נתמכים
text-to-video | image-to-video | reference-to-video
input.image_urls
string[]מותנה[]

עבור image-to-video: תמונה אחת לפריים הראשון, או שתי תמונות מסודרות לפריים הראשון והאחרון. עבור reference-to-video: עד 30 תמונות. המערכת תתעלם משדה זה במצב text-to-video.

דוגמה: ["https://example.com/first-frame.jpg"]
input.video_urls
string[]מותנה[]

מועבר רק במצב reference-to-video; עד 10 סרטונים ובאורך כולל של 30 שניות. המערכת תתעלם משדה זה במצבים אחרים.

דוגמה: ["https://example.com/source.mp4"]
input.audio_urls
string[]מותנה[]

מועבר רק במצב reference-to-video; עד 10 קובצי אודיו ובאורך כולל של 30 שניות. המערכת תתעלם משדה זה במצבים אחרים.

דוגמה: ["https://example.com/music.mp3"]
input.duration
integerלא5

אורך הפלט: 4–30 שניות, ברירת המחדל היא 5. הערך duration=-1 נתמך עבור טיוטות ובמצב reference-to-video בלבד. עבור גרסה סופית, השמיטו שדה זה; הוא יורש אוטומטית מהטיוטה.

ערכים נתמכים
-1 | 4–30
דוגמה: 5
input.aspect_ratio
stringלאadaptive

יחס גובה-רוחב של הפלט. הערך adaptive מאפשר לדגם לקבוע את היחס באופן אוטומטי. במצב image-to-video נתמך רק הערך adaptive; יש להשמיט שדה זה או להגדירו כ-adaptive.

ערכים נתמכים
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
דוגמה: adaptive
input.resolution
stringלא720p

יצירה רגילה נקבעת כברירת מחדל ל-720p. טיוטות תומכות ברזולוציית 480p בלבד (ברירת המחדל של טיוטה). גרסאות סופיות תומכות ברזולוציית 1080p בלבד (ברירת המחדל של גרסה סופית).

ערכים נתמכים
480p | 720p | 1080p
דוגמה: 720p
input.generate_audio
booleanלאtrue

בקשה ליצירת אודיו מסונכרן.

ערכים נתמכים
true | false
דוגמה: true
input.watermark
booleanלאfalse

בקשה להוספת סימן מים של בינה מלאכותית (AI) על הסרטון שיווצר.

ערכים נתמכים
true | false
דוגמה: false
input.web_search
booleanלאfalse

אפשר חיפוש באינטרנט כאשר הדגם תומך בכך.

ערכים נתמכים
true | false
דוגמה: false
input.return_last_frame
booleanלאfalse

בקשה לקבלת הפריים האחרון. תוצאת השאילתה תכיל את data.last_frame_url כאשר הפריים זמין; אחרת הערך יהיה null.

ערכים נתמכים
true | false
דוגמה: true

שדות בוליאניים חייבים לקבל ערך JSON של true או false, ולא כמחרוזות או מספרים.

תגובת יצירה

קוד HTTP 200 מחזיר taskId (מחרוזת) ו-credits (מספר). תגובה זו מאשרת את יצירת המשימה, אך לא את השלמתה. הסכום המוצג להלן תואם למדריך המהיר של 5 שניות ב-720p.

{
  "taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "credits": 100
}

תצוגה מקדימה (טיוטה) ← גרסה סופית ב-1080p

הדגם Seedance 2.5 תומך בתהליך עבודה דו-שלבי: יצירת טיוטה (Draft) מהירה ב-480p כדי לבדוק את הוויזואליות והתנועה, ולאחר מכן שימוש חוזר בה ליצירת גרסה סופית ב-1080p. שני השלבים משתמשים בנתיב POST /v1/videos/generations ומייצרים משימות נפרדות לחיוב.

עבודה במצב טיוטה (Draft) מסייעת בהפחתת העלויות הכרוכות בבחינת רעיונות שונים. במקום להפיק כל ניסיון ב-1080p, תוכלו ליצור מספר טיוטות בעלות נמוכה ב-480p, לבחור את התוצאה המועדפת עליכם, ורק אותה לשלוח להפקה בגרסה סופית ב-1080p. שיטה זו מאפשרת לכם להתנסות בתוצאות מגוונות בעלות נמוכה יותר לפני תשלום על הגרסה הסופית ברזולוציה גבוהה.

ניתן להשתמש בטיוטה שהושלמה בתוך 7 ימים ממועד יצירתה כדי להפיק את הגרסה הסופית. הטיוטה חייבת להיות שייכת לאותו חשבון API. השתמשו ב-taskId שהוחזר על ידי ה-API.

1. יצירת טיוטה ב-480p

הגדירו את השדה input.draft=true וספקו את הנחיית הטקסט, קלטי העזר והגדרות היצירה הרגילות שלכם. הרזולוציה תיקבע אוטומטית ל-480p במצב טיוטה; בחירה ברזולוציות אחרות תידחה. ניתן להפעיל את return_last_frame עבור הטיוטה, כפי שמוצג להלן.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "draft": true,
    "duration": 5,
    "resolution": "480p",
    "return_last_frame": true
  }
}'
{
  "taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "credits": 50
}

2. המתינו להשלמת הטיוטה

שמרו את ה-taskId מתגובת היצירה ובצעו שאילתות GET /v1/tasks/TASK_ID עד שהערך של status יהיה completed. תגובת השאילתה כוללת is_draft=true; צפו בתצוגה המקדימה של הסרטון ב-data.results. הפריים האחרון שהתבקש יופיע ב-data.last_frame_url אם הוא זמין.

תוכלו לקבל הודעת Webhook גם כאשר הכנת הטיוטה מסתיימת. הגדירו את callback_url ברמה העליונה של בקשת יצירת הטיוטה. מיד עם השלמתה, תישלח התראה לכתובת זו, והמערכת שלכם תוכל לטפל בקריאה החוזרת כדי לשמור את התוצאה, לעדכן את סטטוס המשימה או להפעיל תהליכי המשך. לפרטים על מבנה הנתונים, עיינו בסעיף Webhooks בעמוד זה.

curl --fail-with-body https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
  -H "Authorization: Bearer $SEEVIO_API_KEY"
{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "is_draft": true,
  "draft_task_id": null,
  "status": "completed",
  "billing_status": "charged",
  "credits": 50,
  "failed_reason": null,
  "data": {
    "results": [
      "https://cdn.seevio.ai/api/videos/example.mp4"
    ],
    "video_expires_at": "2026-09-07T00:00:00Z",
    "last_frame_url": "https://cdn.seevio.ai/api/images/draft-last-frame.jpg",
    "processing_time": 48
  }
}

3. יצירת גרסה סופית ב-1080p

החליפו את draft_task_id בדוגמה זו ב-taskId של הטיוטה שהושלמה בהצלחה. הגרסה הסופית תירש את התוכן ואת אורך הטיוטה. הרזולוציה נקבעת אוטומטית ל-1080p ולא תתקבל שום רזולוציה אחרת. ניתן להגדיר את השדות output_format, watermark ו-return_last_frame בנפרד עבור הגרסה הסופית; השדה callback_url מוגדר כרגיל ברמה העליונה של הבקשה.

כאשר השדה draft_task_id קיים, יש להשמיט את השדות: prompt, generation_type, image_urls, video_urls, audio_urls, duration, aspect_ratio, seed, generate_audio, web_search ו-omni_reference_task_type, גם אם ערכיהם זהים לאלו של הטיוטה. הגדרות אלו נלקחות אוטומטית מהטיוטה. אין לשלב את הערך draft=true יחד עם draft_task_id.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "draft_task_id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
    "resolution": "1080p",
    "output_format": "mp4",
    "watermark": false,
    "return_last_frame": true
  }
}'

התגובה מכילה taskId חדש עבור הגרסה הסופית. בצעו שאילתות סטטוס על המזהה החדש או המתינו לקבלת ה-webhook שלו. תגובת השאילתה של הגרסה הסופית תכלול את הערך is_draft=false והשדה draft_task_id יהיה שווה ל-taskId של הטיוטה המקורית. הטיוטה המקורית תישאר זמינה בחשבונכם. כל בקשה מאושרת לגרסה סופית מייצרת משימה חדשה שמחויבת בנפרד.

{
  "taskId": "final_7mQx2pN8kR4vT9cL6bW3",
  "credits": 150
}

חיוב עבור טיוטה וגרסה סופית

משימות טיוטה (Draft) מחויבות לפי תעריפי ה-480p המפורטים מעלה, כולל תוספת עבור סרטוני עזר במידה וצורפו. גרסאות סופיות מחויבות לפי תעריף פלט בלבד ב-1080p העומד על 30 קרדיטים לשנייה; אין חיוב נוסף על סרטוני עזר בשלב זה. לדוגמה, טיוטה של 5 שניות ללא סרטון עזר תעלה 50 קרדיטים, והגרסה הסופית שלה באורך 5 שניות תעלה 150 קרדיטים נוספים.

כאשר הערך מוגדר ל-duration=-1, הטיוטה והגרסה הסופית ישמרו כל אחת מראש (reserve) קרדיטים עבור פלט של עד 30 שניות, בתוספת סרטוני עזר עבור הטיוטה בלבד. עם השלמת המשימה, החיוב בפועל יותאם לאורך הפלט הסופי במידה וניתן לקבוע אותו, ויתרת הקרדיטים שלא נוצלה תוחזר לחשבון. בקשת גרסה סופית שומרת מראש עד 900 קרדיטים.

שימוש בטיוטה שלא הושלמה, שפג תוקפה, שאינה מוגדרת כטיוטה או שאינה נגישה לחשבונכם יידחה עם שגיאת HTTP 400 (invalid_request). בחירת רזולוציה לא חוקית, שליחת שדות שהערכים שלהם נלקחים מהטיוטה או סתירה בפרמטרים של הטיוטה יחזירו אף הם שגיאת HTTP 400. חוסר בקרדיטים יחזיר שגיאת HTTP 402.

מצבי יצירה ודוגמאות

החליפו את כתובות ה-URL לדוגמה של example.com בקובצי ה-HTTPS הציבוריים והנגישים שלכם. כתובות ה-URL שבדוגמה נועדו להמחיש את מבנה הבקשה בלבד ואינן זמינות להורדה.

טקסט לווידאו

יצירה מתוך הנחיית טקסט. כתובות URL של מדיה אינן מועברות במצב זה.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}'

פריים ראשון

ספקו תמונה אחת כפריים הראשון, ותארו את התנועה הרצויה בהנחיית הטקסט.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "image-to-video",
    "image_urls": [
      "https://example.com/first-frame.jpg"
    ],
    "aspect_ratio": "adaptive"
  }
}'

פריים ראשון ואחרון

ספקו שתי כתובות URL של תמונות לפי הסדר: הפריים הראשון, ולאחר מכן הפריים האחרון. דוגמה זו מבקשת גם את הפריים האחרון של הסרטון שיווצר.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "image-to-video",
    "image_urls": [
      "https://example.com/first-frame.jpg",
      "https://example.com/last-frame.jpg"
    ],
    "aspect_ratio": "adaptive",
    "return_last_frame": true
  }
}'

התייחסות רב-מודאלית

שילוב של תמונות, סרטונים וקובצי אודיו להתייחסות. הנחיית הטקסט נשארת שדה חובה. שימוש בסרטון התייחסות משנה את נוסחת החיוב.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "Follow the reference camera movement and keep the character consistent. Use the audio for ambience.",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "reference-to-video",
    "image_urls": [
      "https://example.com/character.jpg"
    ],
    "video_urls": [
      "https://example.com/camera.mp4"
    ],
    "audio_urls": [
      "https://example.com/ambience.mp3"
    ],
    "aspect_ratio": "adaptive"
  }
}'

התייחסות לאודיו

שימוש באודיו כקלט ההתייחסות היחיד, יחד עם הנחיית טקסט (חובה) המתארת את הווידאו המבוקש.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "Create a coastal sunrise scene matching the rhythm of this audio.",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "reference-to-video",
    "audio_urls": [
      "https://example.com/music.mp3"
    ]
  }
}'

עריכת וידאו

בעריכת וידאו ב-Seedance 2.5, יש להגדיר את משך הזמן (duration) ל- -1 ואת יחס הגובה-רוחב (aspect_ratio) למצב אדפטיבי (adaptive). שתי ההגדרות הללו נחוצות; אחרת, יצירת הסרטון תיכשל.

תארו את העריכה המבוקשת וספקו את סרטון המקור. הגדירו duration=-1 והשתמשו ביחס גובה-רוחב adaptive. מומלץ להשתמש בקטע מקור של 4 שניות לפחות עבור תהליך עבודה זה. כלל החיוב עבור duration=-1 מפורט לעיל.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "Edit the source video: change the character’s coat to blue and preserve the camera movement.",
    "duration": -1,
    "resolution": "720p",
    "generation_type": "reference-to-video",
    "video_urls": [
      "https://example.com/source.mp4"
    ],
    "aspect_ratio": "adaptive"
  }
}'

הארכת וידאו

עבור הרחבת הווידאו של Seedance 2.5, יש להגדיר את aspect_ratio ל-adaptive; אחרת, יצירת הווידאו עלולה להיכשל. הגדר את duration כרגיל לאורך סרטון הפלט הרצוי בטווח הנתמך; אין צורך להשתמש ב--1.

תארו כיצד סרטון המקור צריך להמשיך. השתמשו ביחס גובה-רוחב adaptive והגדירו אורך פלט רגיל בטווח הנתמך על ידי הדגם.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "Continue the camera movement from the source video, revealing a forest clearing.",
    "duration": 8,
    "resolution": "720p",
    "generation_type": "reference-to-video",
    "video_urls": [
      "https://example.com/source.mp4"
    ],
    "aspect_ratio": "adaptive"
  }
}'

שאילתת משימה

GET https://api.seevio.ai/v1/tasks/{taskId}

החליפו את מזהה הדוגמה ב-taskId שהתקבל בעת היצירה. שאילתות יחזירו רק משימות השייכות למשתמש של מפתח ה-API; מזהים שאינם נגישים או שאינם קיימים יחזירו שגיאת HTTP 404.

כנקודת מוצא, בצעו שאילתה (polling) כל 10–20 שניות, הפחיתו את התדירות במקרה של שגיאת HTTP 429, ועצרו כאשר הסטטוס הופך ל-completed או failed. בסביבת פרודקשן מומלץ להשתמש ב-Webhooks. כל דוגמת קוד להלן מבצעת שאילתה אחת בלבד.

curl --fail-with-body https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
  -H "Authorization: Bearer $SEEVIO_API_KEY"
סטטוסתיאור ומגבלות
queuedהתקבל וממתין לעיבוד.
generatingהיצירה מתבצעת כעת.
completedהושלם בהצלחה. יש להוריד את הקבצים מ-data.results לפני מועד פקיעת התוקף.
failedנכשל סופית. יש לבדוק את failed_reason ואת billing_status.
שדהסוגתיאור ומגבלות
idstring
מזהה המשימה. זהו ה-taskId שהתקבל בתגובת היצירה.
created_atnumber
זמן יצירת המשימה בפורמט Unix timestamp (שניות).
modelstring
מזהה הדגם הציבורי ששימש למשימה זו.
is_draftboolean
true עבור טיוטה ב-480p; false עבור גרסה סופית או סרטון רגיל.
draft_task_idstring | null
מזהה משימת הטיוטה המקורית ב-API בעת הפקת גרסה סופית; יהיה null עבור טיוטות וסרטונים רגילים.
billing_statusstring
סטטוס חיוב: reserved (שמור), charged (חויב), refunded (זוכה) או refund_failed (הזיכוי נכשל).
creditsnumber
הקרדיטים שנשמרו עבור משימה זו. ערך זה נשמר גם לאחר זיכוי; יש לבדוק את billing_status כדי לקבוע את תוצאת החיוב הסופית.
failed_reasonstring | null
סיבת הכישלון במשימות שנכשלו; אחרת הערך הוא null. תגובות של שאילתות שנכשלו אינן כוללות את השדה data.
dataobject
קיים בשאילתות של משימות שלא נכשלו. מכיל פרטי פלט ועיבוד.
data.resultsstring[]
מערך כתובות URL של הסרטון. ריק עד להשלמת המשימה או לאחר פקיעת תוקף הסרטון.
data.video_expires_atstring | null
מועד פקיעת התוקף של הסרטון בפורמט ISO 8601, או null לפני שהסרטון זמין. שמרו את התוצאה לפני מועד זה.
data.last_frame_urlstring | null
כתובת ה-URL של הפריים האחרון כאשר התבקש וזמין, אחרת null.
data.processing_timenumber | null
זמן העיבוד של הספק בשניות כאשר הוא זמין, אחרת null.

משימה הושלמה: תגובת שאילתה עם תוצאות הווידאו

כאשר השאילתה מחזירה status=completed, יצירת הווידאו הסתיימה. ניתן לקרוא את כתובות ה-URL של הסרטונים מתוך data.results ולהוריד אותם לפני המועד המצוין ב-data.video_expires_at. הסטטוס billing_status=charged מציין כי הקרדיטים השמורים חויבו.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "is_draft": false,
  "draft_task_id": null,
  "status": "completed",
  "billing_status": "charged",
  "credits": 100,
  "failed_reason": null,
  "data": {
    "results": [
      "https://cdn.seevio.ai/api/videos/example.mp4"
    ],
    "video_expires_at": "2026-09-07T00:00:00Z",
    "last_frame_url": null,
    "processing_time": 48
  }
}

משימה נכשלה: תגובת שאילתה עם פרטי השגיאה והחיוב

כאשר השאילתה מחזירה status=failed, תהליך היצירה הסתיים ללא הצלחה. ניתן לראות את סיבת הכישלון ב-failed_reason ואת סטטוס ההחזר ב-billing_status. בדוגמה זו, refunded מציין שהקרדיטים הוחזרו. השדה credits שומר על הערך המקורי שהוזמן, והתגובה אינה כוללת את השדה data.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652800,
  "model": "seedance-2-5",
  "is_draft": false,
  "draft_task_id": null,
  "status": "failed",
  "billing_status": "refunded",
  "credits": 100,
  "failed_reason": "provider_failed"
}

Webhooks

הגדירו callback_url בבקשת היצירה כדי לקבל בקשת POST מסוג JSON כאשר המשימה מסתיימת או נכשלת. החזירו תגובת 2xx בתוך 15 שניות. שליחות שנכשלו ינוסו שוב; טפלו בקבלת שידורים חוזרים בצורה אידמפוטנטית (idempotent) לפי מזהה המשימה.

קצה הקישור החוזר (callback endpoint) שלך חייב לקבל בקשות POST עם גוף בקשה מסוג JSON (Content-Type: application/json).

יצירת משימה עם קריאה חוזרת (Callback)

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video",
    "aspect_ratio": "16:9",
    "generate_audio": true
  },
  "callback_url": "https://example.com/webhooks/seevio"
}'

המשימה הושלמה: נתוני ה-payload של ה-callback שהצליח

כאשר היצירה מצליחה, ה-callback יכיל את הסטטוס status=completed. השתמש ב-id כדי לזהות את המשימה וב-data.results כדי לקבל את כתובות ה-URL של הווידאו. יש להוריד ולשמור את התוצאות לפני הזמן המצוין ב-data.video_expires_at.

השדה created_at מציין את זמן יצירת האירוע ו-task_created_at את זמן יצירת המשימה, בשניות Unix. הדוגמאות מציגות שדות מומלצים; התגובה עשויה לכלול שדות נוספים.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652848,
  "model": "seedance-2-5",
  "status": "completed",
  "task_created_at": 1788652800,
  "billing_status": "charged",
  "credits": 100,
  "failed_reason": null,
  "data": {
    "results": [
      "https://cdn.seevio.ai/api/videos/example.mp4"
    ],
    "video_expires_at": "2026-09-07T00:00:00Z",
    "last_frame_url": null,
    "processing_time": 48
  }
}

המשימה נכשלה: נתוני ה-payload של ה-callback שנכשל

כאשר היצירה נכשלת, ה-callback יכיל את הסטטוס status=failed. השתמש ב-id כדי לזהות את המשימה, ב-failed_reason כדי לראות את סיבת הכתב וב-credits_refunded כדי לראות את כמות הקרדיטים שזוכתה.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652848,
  "model": "seedance-2-5",
  "status": "failed",
  "task_created_at": 1788652800,
  "billing_status": "refunded",
  "credits": 100,
  "failed_reason": "provider_failed",
  "credits_refunded": 100
}

דוגמה לקוד קליטה (Receiver)

export async function POST(request: Request) {
  const callbackData = await request.json();

  if (callbackData.status === "completed") {
    const videoUrls = callbackData.data.results;
    // Save the video URLs and mark this task as completed in your application.
    console.log(callbackData.id, videoUrls);
  }

  if (callbackData.status === "failed") {
    const { failed_reason, credits_refunded } = callbackData;
    // Record the failure reason and refunded credits for this task.
    console.error(callbackData.id, failed_reason, credits_refunded);
  }

  return new Response(null, { status: 200 });
}

דוגמה זו ב-Next.js קוראת את גוף ה-JSON של ה-callback ומטפלת ישירות במשימות שהושלמו או נכשלו. מומלץ להוסיף שמירה בבסיס נתונים ומניעת כפילויות של מזהי משימות (task-ID deduplication) באפליקציה שלך; מומלץ להעביר עבודות איטיות לתור (queue) לפני החזרת אישור על קבלת ה-callback.

מגבלות ודרישות מדיה

  • כל כתובות ה-URL של המדיה והקריאות החוזרות חייבות להיות כתובות HTTPS ציבוריות. הימנעו משימוש ב-localhost, כתובות IP פרטיות או קבצים הדורשים עוגיות (cookies) או התחברות. כתובות URL של סרטוני/קובצי אודיו להתייחסות חייבות להוביל ישירות לקובץ המדיה לקריאה.
  • במצב reference-to-video, ספקו לפחות קלט התייחסות אחד, ולא יותר מ-30 תמונות, 10 סרטונים, 10 קובצי אודיו ו-50 חומרי מקור סך הכל. אורך הווידאו הכולל ואורך האודיו הכולל של קלטי ההתייחסות חייבים להיות לכל היותר 30 שניות כל אחד.
  • מצב text-to-video מתעלם מכל קלטי המדיה. מצב image-to-video מעביר רק את תמונות הפריים הראשון/האחרון ומתעלם מהתייחסויות לווידאו ואודיו. השתמשו ב-reference-to-video כדי לשלב סוגי מדיה שונים.
  • כל סרטון או קובץ אודיו להתייחסות חייב להיות באורך של 2–30 שניות. עבור דוגמאות של עריכת וידאו, השתמשו בקטעי מקור של לפחות 4 שניות.

דרישות לתמונות

  • נפח כל תמונה חייב להיות קטן מ-30 MB.
  • פורמטים נתמכים: jpeg, png, webp, bmp, tiff, gif.
  • יחס גובה-רוחב (רוחב ÷ גובה): בין 0.4 ל-2.5, כולל.
  • הרוחב והגובה חייבים להיות בין 300 ל-6,000 פיקסלים כל אחד, כולל.

דרישות לווידאו

  • פורמטים נתמכים: mp4, mov.
  • נפח כל סרטון לא יעלה על 100 MB.
  • קצב פריימים: 24 עד 60 FPS, כולל.
  • יחס גובה-רוחב (רוחב ÷ גובה): בין 0.4 ל-2.5, כולל.
  • סך הפיקסלים (רוחב × גובה): בין 407,696 ל-8,295,044, כולל. לדוגמה, 614 × 664 = 407,696 וכן 3,326 × 2,494 = 8,295,044. אלו הן דוגמאות למספר הפיקסלים הכולל, ולא דרישות קשיחות לרוחב ולגובה.

דרישות לאודיו

  • פורמטים נתמכים: wav, mp3.
  • נפח כל קובץ שמע לא יעלה על 15 MB.

שגיאות

שגיאות HTTP מחזירות אובייקט error המכיל code (קוד) ו-message (הודעה). משימה שהתקבלה בהצלחה עדיין עלולה להיכשל בשלב מאוחר יותר; בצעו שאילתה על המשימה או טפלו בקריאה החוזרת של הכישלון שלה.

{
  "error": {
    "code": "invalid_request",
    "message": "input.prompt is required."
  }
}
HTTPשדהמה לעשות
400invalid_request
תקנו את מבנה ה-JSON, הנחיית הטקסט החסרה, טווח הפרמטרים או כתובת ה-URL של המדיה לפני שתנסו שוב.
401invalid_api_key
בדקו את טוקן ה-Bearer וודאו שמפתח ה-API פעיל.
402insufficient_credits
הוסיפו קרדיטים או הפחיתו את עלות המשימה. התגובה עשויה לכלול את כמות הקרדיטים הנדרשת מול זו הזמינה.
403forbidden
בדוק את ההגבלות ברמת החשבון המתוארות בהודעת השגיאה.
404not_found
ודאו שמזהה המשימה נכון ושהמפתח שייך למשתמש שיצר את המשימה.
429rate_limited
המתן את משך הזמן המצוין ב-Retry-After לפני שתנסה שוב.
500internal_error
בדקו את הודעת השגיאה ואת יומני הרישום של ה-API. נסו שוב בזהירות; שליחה חוזרת של בקשת יצירה עלולה ליצור משימה נוספת לחיוב.

מגבלות קצב בקשות

יצירת משימות: כברירת מחדל, כל מפתח API מאפשר עד 100 בקשות בדקה. בשלב זה, לא ניתן להגדיר מגבלות קצב מותאמות אישית.

שאילתות משימות: כברירת מחדל, כל מפתח API מאפשר עד 120 בקשות בדקה. בקשות שאילתה ובקשות ליצירת משימות נספרות בנפרד.

שגיאת HTTP 429 כוללת את הכותרת Retry-After: 60 עבור יצירה ו-Retry-After: 5 עבור שאילתות. השתמשו בהשהיית פניות (backoff) והימנעו מביצוע שאילתות בתדירות גבוהה מהנדרש.