Seedance API

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

כתובת URL בסיסית
https://api.seevio.ai
בעמוד זה

מבוא

ה-API מאפשר לכם להגיש משימות יצירת וידאו עבור Seedance 2.5 ו-Seedance 2.0 באופן פרוגרמטי. Seedance 2.5 הוא המודל המומלץ והוא תומך בטקסט לווידאו, תמונה לווידאו (על בסיס הפריים הראשון או הפריים הראשון והאחרון), ומולטימודל (יצירת וידאו על בסיס קבצי מקור). תהליך היצירה הוא אסינכרוני: יוצרים משימה, מקבלים מזהה משימה (task ID) באופן מיידי, ואז מקבלים את הסרטון המוכן על ידי פולינג (תשאול) של נקודת הקצה של המשימה או באמצעות קבלת וובחוק.

משימות אסינכרוניות

פולינג מתאים בעיקר לשלבי פיתוח ולאינטגרציות פשוטות.

תמיכה בוובחוקים

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

ניהול קרדיטים חכם

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

אימות וזיהוי

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

Authorization: Bearer sk_live_xxxxxxxx
sk_live_

השתמשו במפתחות sk_live_ עבור תעבורת פרודקשן.

sk_test_

השתמשו במפתחות sk_test_ עבור בדיקות אינטגרציה בסביבת ארגז חול (sandbox) עם חוזה API זהה.

401

מפתחות חסרים, שגויים או מבוטלים יחזירו את השגיאה invalid_api_key עם קוד HTTP 401.

מדריך מהיר

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

שליחת משימה

צרו משימת וידאו אסינכרונית וקבלו מזהה משימה (task ID) באופן מיידי.

curl https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-5",
    "callback_url": "https://your-domain.com/api/seedance/webhook",
    "input": {
      "prompt": "a cat surfing on a neon wave, cinematic lighting",
      "generation_type": "text-to-video",
      "duration": 5,
      "aspect_ratio": "16:9",
      "resolution": "720p",
      "generate_audio": true,
      "watermark": false,
      "web_search": false,
      "return_last_frame": false
    }
  }'
אפשרות לקבלת תוצאה: פולינג

פנו לנקודת הקצה של סטטוס המשימה כאשר האינטגרציה שלכם מעדיפה תשאול יזום ומפורש.

curl https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
  -H "Authorization: Bearer sk_live_xxx"
אפשרות לקבלת תוצאה: וובחוק

העבירו callback_url בעת שליחת המשימה כדי לקבל קריאות חוזרות (callbacks) על הצלחה או כישלון, ולעדכן את תיעוד המשימה אצלכם במערכת.

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

  if (callbackData.status === "completed") {
    const videoUrl = callbackData.data.results[0];
    // Save the video URL or update your own task record here.
  }

  if (callbackData.status === "failed") {
    const errorMessage = callbackData.data.failed_reason;
    // Mark your own task record as failed here.
  }

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

יצירת משימת וידאו

צרו משימת וידאו באמצעות POST /v1/videos/generations. גוף הבקשה כולל מודל ברמת העל, callback_url אופציונלי, ואובייקט input המכיל את הנחיית הטקסט (prompt) ואת הגדרות היצירה.

POST
/v1/videos/generations
curl https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-5",
    "callback_url": "https://your-domain.com/api/seedance/webhook",
    "input": {
      "prompt": "a cat surfing on a neon wave, cinematic lighting",
      "generation_type": "text-to-video",
      "duration": 5,
      "aspect_ratio": "16:9",
      "resolution": "720p",
      "generate_audio": true,
      "watermark": false,
      "web_search": false,
      "return_last_frame": false
    }
  }'

מצבי יצירה

הפרמטר generation_type קובע אילו קבצי מדיה יתקבלו כקלט וכיצד המודל יפרש אותם.

היכולות של Seedance 2.5
seedance-2-5

הגדירו את המודל ל-seedance-2-5 כדי להפיק פלט ברזולוציה של 480p או 720p ובאורך של 4 עד 30 שניות.

  • טקסט לווידאו עם יחס גובה-רוחב אדפטיבי, 16:9, 9:16, 1:1, 4:3, 3:4 או 21:9
  • תמונה לווידאו מתמונת פריים ראשון אחת או משתי תמונות (פריים ראשון ואחרון); יחס הגובה-רוחב חייב להיות אדפטיבי (adaptive)
  • וידאו על בסיס קבצי מקור (Reference-to-video) עם עד 30 תמונות, 10 סרטונים ו-10 קבצי אודיו, ועד 50 קבצי מקור בסך הכל
  • כל סרטון או קובץ אודיו המשמש כמקור חייב להיות באורך של 2-30 שניות; משך הזמן הכולל של קטעי הווידאו ומשך הזמן הכולל של קטעי האודיו חייב להיות 30 שניות או פחות עבור כל סוג
  • נתמך קלט מקור של אודיו בלבד וכן הפרמטר return_last_frame; הפרמטר seed אינו נתמך במודל זה
מצבמדיה נדרשתמדיה אופציונליתהערות
text-to-videopromptduration, aspect_ratio, resolution, seedהנחיית טקסט בלבד. אין צורך ב-image_urls, video_urls או audio_urls.
image-to-videoprompt + מערך image_urls (1-2 כתובות URL של תמונות)duration, aspect_ratio, resolution, seedהפרמטר image_urls חייב להיות מערך. ספקו כתובת URL אחת של תמונה עבור הפריים הראשון, או 2 כתובות עבור הפריים הראשון והאחרון. המערכת מתעלמת מווידאו ואודיו.
reference-to-videoprompt + לפחות קובץ מקור אחד מסוג תמונה, וידאו או אודיותמונות, סרטונים וקובצי אודיו במסגרת המגבלות המותרותSeedance 2.5 תומך בקבצי מקור של אודיו בלבד. ב-Seedance 2.0 יש להוסיף לפחות תמונה אחת או סרטון אחד כאשר מסופק קובץ אודיו.
text-to-video

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

curl https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-5",
    "callback_url": "https://your-domain.com/api/seedance/webhook",
    "input": {
      "prompt": "a cinematic drone shot over a futuristic coastal city at sunrise",
      "generation_type": "text-to-video",
      "duration": 5,
      "aspect_ratio": "16:9",
      "resolution": "720p",
      "generate_audio": true,
      "watermark": false,
      "web_search": false,
      "return_last_frame": false
    }
  }'
image-to-video

השתמשו בתמונה לווידאו כאשר input.image_urls הוא מערך עם 1-2 כתובות URL של תמונות: כתובת אחת מגדירה את הפריים הראשון, ושתי כתובות מגדירות את הפריים הראשון והאחרון. במצב זה המערכת מתעלמת מקבצי מקור של וידאו ואודיו.

curl https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-5",
    "input": {
      "prompt": "the subject turns toward camera, soft studio motion",
      "generation_type": "image-to-video",
      "image_urls": ["https://your.cdn.com/first-frame.jpg"],
      "duration": 5,
      "resolution": "720p"
    }
  }'
reference-to-video

השתמשו בווידאו על בסיס קבצי מקור לקבלת הכוונה עשירה יותר באמצעות תמונות, סרטונים וקבצי אודיו המשמשים כמקור. Seedance 2.5 מאפשר שימוש באודיו כמקור יחיד; Seedance 2.0 דורש לפחות תמונה אחת או סרטון אחד כאשר מסופק קובץ אודיו.

מגבלות על קבצי מקור

  • Seedance 2.5: עד 30 תמונות מקור
  • Seedance 2.5: עד 10 סרטוני מקור, כל אחד באורך 2-30 שניות ומשך כולל של <= 30 שניות
  • Seedance 2.5: עד 10 קבצי אודיו מקור, כל אחד באורך 2-30 שניות ומשך כולל של <= 30 שניות
  • Seedance 2.5: מקסימום 50 קבצי מקור בסך הכל מכל הסוגים
  • גרסאות Seedance 2.0 שומרות על המגבלות הקיימות שלהן: 9 תמונות, 3 סרטונים, 3 קבצי אודיו, ו-15 שניות לכל קבוצת וידאו/אודיו

שילובי קלטים נתמכים

טקסט + תמונה
טקסט + וידאו
טקסט + אודיו (Seedance 2.5)
טקסט + תמונה + וידאו
טקסט + תמונה + אודיו
טקסט + וידאו + אודיו
טקסט + תמונה + וידאו + אודיו
curl https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-5",
    "input": {
      "prompt": "use the product from image 1 and the camera motion from the reference video",
      "generation_type": "reference-to-video",
      "image_urls": ["https://your.cdn.com/product.jpg"],
      "video_urls": ["https://your.cdn.com/camera-motion.mp4"],
      "audio_urls": [],
      "duration": 8,
      "resolution": "720p"
    }
  }'

פרמטרים של הבקשה

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

כותרות (Headers)

כותרת (Header)חובהתיאורדוגמה
Authorizationכןמפתח API מסוג Bearer המשמש לאימות הבקשה.Bearer sk_live_xxx
Content-Typeכןכל בקשות הכתיבה משתמשות בפורמט JSON.application/json

שדות ברמת העל

שדהסוגחובהברירת מחדלטווח / Enumמצביםדוגמה
model

גרסת המודל המשמשת ליצירה. השתמשו ב-seedance-2-5 עבור Seedance 2.5, ב-seedance-2-0 עבור Seedance 2.0, ב-seedance-2-0-fast עבור Seedance 2.0 Fast, או ב-seedance-2-0-mini עבור Seedance 2.0 Mini.

stringכן-seedance-2-5 | seedance-2-0 | seedance-2-0-fast | seedance-2-0-miniהכלseedance-2-5
callback_url

נקודת קצה של HTTPS המקבלת קריאות חוזרות (callbacks) על השלמת המשימה או על כישלונה.

stringלא-כתובת URL מאובטחת (HTTPS), ללא רשתות פרטיותהכלhttps://your-domain.com/hook
input

הגדרות היצירה וקבצי המקור.

objectכן--הכל-

input.* שדות

שדהסוגחובהברירת מחדלטווח / Enumמצביםדוגמה
input.prompt

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

stringכן-טקסט שאינו ריקהכלa cat surfing
input.generation_type

מצב היצירה. ברירת המחדל היא text-to-video.

stringלאtext-to-videotext-to-video | image-to-video | reference-to-video-image-to-video
input.image_urls

כתובות URL ציבוריות ונגישות של תמונות. עבור תמונה לווידאו, שלחו תמונה אחת עבור הפריים הראשון או 2 תמונות עבור הפריים הראשון והאחרון. עבור וידאו על בסיס קבצי מקור, Seedance 2.5 מקבל עד 30 תמונות ו-Seedance 2.0 מקבל עד 9.

string[]מותנה[]תמונה לווידאו: 1 או 2 תמונות. וידאו על בסיס קבצי מקור: עד 30 עבור Seedance 2.5; עד 9 עבור Seedance 2.0.image-to-video / reference-to-video["https://.../a.jpg"]
input.video_urls

סרטוני מקור נגישים באופן ציבורי עבור מצב וידאו על בסיס קבצי מקור בלבד. Seedance 2.5 מקבל עד 10 סרטונים, כל אחד באורך 2-30 שניות עם זמן נגינה כולל של <= 30 שניות. Seedance 2.0 מקבל עד 3 סרטונים עם זמן נגינה כולל של <= 15 שניות.

string[]לא[]Seedance 2.5: עד 10 סרטונים, כל אחד באורך 2-30 שניות, אורך משולב של <= 30 שניות. Seedance 2.0: עד 3 סרטונים, אורך משולב של <= 15 שניות.reference-to-video[]
input.audio_urls

קבצי אודיו מקור נגישים באופן ציבורי עבור מצב וידאו על בסיס קבצי מקור בלבד. Seedance 2.5 מקבל עד 10 קבצי אודיו, כל אחד באורך 2-30 שניות עם זמן נגינה כולל של <= 30 שניות, ומאפשר שימוש באודיו כמקור יחיד. Seedance 2.0 מקבל עד 3 קבצי אודיו עם זמן נגינה כולל של <= 15 שניות.

string[]לא[]Seedance 2.5: עד 10 קבצי אודיו, כל אחד באורך 2-30 שניות, אורך משולב של <= 30 שניות. Seedance 2.0: עד 3 קבצי אודיו, אורך משולב של <= 15 שניות.reference-to-video[]
input.duration

אורך סרטון הפלט בשניות.

intלא5Seedance 2.5: 4-30 שניות. Seedance 2.0: 4-15 שניות.הכל5
input.aspect_ratio

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

stringלאadaptive16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 21:9 | adaptiveהכל16:9
input.resolution

רמת הרזולוציה של הפלט.

stringלא720pSeedance 2.5: 480p | 720p. Seedance 2.0: 480p | 720p | 1080p | 4k (בהתאם לגרסת המודל).הכל720p
input.generate_audio

האם המודל צריך להפיק אודיו כאשר הדבר נתמך.

booleanלאtruetrue | falseהכלtrue
input.watermark

האם להוסיף סימן מים.

booleanלאfalsetrue | falseהכלfalse
input.web_search

האם לאפשר העשרת המידע באמצעות חיפוש ברשת (Web Search) כאשר הדבר נתמך.

booleanלאfalsetrue | falseהכלfalse
input.return_last_frame

האם להחזיר את כתובת ה-URL של הפריים האחרון כאשר היא זמינה.

booleanלאfalsetrue | falseהכלfalse
input.seed

סיד (seed) דטרמיניסטי עבור גרסאות Seedance 2.0. מודל Seedance 2.5 אינו תומך בשדה זה; יש להשמיט אותו.

intלא-1-1 או 0-4294967295הכל-1

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

צפייה בתמחור הקרדיטים

תגובה

זוהי תגובת ההצלחה המתקבלת מ-POST /v1/videos/generations. משמעותה היא שהמשימה התקבלה וקרדיטים נשמרו עבורה. השתמשו ב-taskId שהתקבל כדי לבצע פולינג ל-GET /v1/tasks/:id או כדי להתאים לקריאה החוזרת (callback) של סיום או כישלון המשימה.

תגובת הצלחה עבור POST /v1/videos/generations

{
  "taskId": "3f2aK9mR...",
  "credits": 100
}

בדיקת סטטוס משימה

השתמשו ב-GET /v1/tasks/:id כדי לקבל את המצב הנוכחי של המשימה. אל תבצעו פולינג בתדירות גבוהה יותר מפעם ב-10 שניות. עבור מערכות פרודקשן, מומלץ להשתמש בוובחוקים.

curl https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
  -H "Authorization: Bearer sk_live_xxx"

תגובת משימה שהושלמה בהצלחה

{
  "id": "3f2aK9mR...",
  "status": "completed",
  "created_at": 1781234567,
  "model": "seedance-2-5",
  "billing_status": "charged",
  "credits": 100,
  "failed_reason": null,
  "data": {
    "results": ["https://cdn.seevio.ai/.../x.mp4"],
    "video_expires_at": "2026-06-13T10:00:00Z",
    "last_frame_url": null,
    "processing_time": 48
  }
}

תגובת משימה שנכשלה

{
  "id": "3f2aK9mR...",
  "status": "failed",
  "created_at": 1781234567,
  "model": "seedance-2-5",
  "billing_status": "refunded",
  "credits": 100,
  "failed_reason": "provider_failed"
}
ערךמשמעות
status=queuedהתקבלה וממתינה לשליחה או לעיבוד.
status=generatingספק השירות מעבד את יצירת הסרטון.
status=completedהסרטון מוכן והשדה data.results מכיל את כתובת ה-URL שלו.
status=failedהיצירה נכשלה או שהזמן שלה עבר (timeout).
billing_status=reservedהקרדיטים שמורים כל עוד המשימה נמצאת בתהליך עיבוד.
billing_status=chargedהמשימה הצליחה והקרדיטים שנשמרו חויבו באופן סופי.
billing_status=refundedהמשימה נכשלה או שהזמן שלה עבר, והקרדיטים הוחזרו.
billing_status=refund_failedפעולת ההחזר נכשלה ונדרש טיפול ידני.

לאחר מועד התפוגה (video_expires_at), השדה data.results יהיה ריק. הורדו ושמרו את הקובץ לפני תום חלון התוקף.

וובחוקים (Webhooks)

כאשר השדה callback_url קיים, Seedance יקרא לנקודת הקצה שלכם עם השלמת המשימה או עם כישלונה, וישלח נתוני JSON המתארים את התוצאה הסופית. אם נקודת הקצה שלכם מחזירה קוד שאינו בקבוצת 2xx או אינה מגיבה בתוך 15 שניות, יתבצע ניסיון שליחה חוזר של עד 5 פעמים. ניסיונות חוזרים משתמשים באותו מזהה משימה (task id), לכן יש לבצע מניעת כפילויות (de-duplication) לפי מזהה זה. החזירו תגובת 200 ברגע ששמרתם בהצלחה את נתוני הקריאה החוזרת.

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

{
  "id": "3f2aK9mR...",
  "status": "completed",
  "created_at": 1781234567,
  "model": "seedance-2-5",
  "data": {
    "results": ["https://cdn.seevio.ai/.../x.mp4"],
    "video_expires_at": "2026-06-13T10:00:00Z",
    "last_frame_url": null,
    "processing_time": 48
  }
}

קריאה חוזרת (Callback) על כישלון משימה

{
  "id": "3f2aK9mR...",
  "status": "failed",
  "created_at": 1781234567,
  "model": "seedance-2-5",
  "data": {
    "failed_reason": "provider_failed",
    "credits_refunded": 100
  }
}
export async function POST(request: Request) {
  const callbackData = await request.json();

  if (callbackData.status === "completed") {
    const videoUrl = callbackData.data.results[0];
    // Save the video URL or update your own task record here.
  }

  if (callbackData.status === "failed") {
    const errorMessage = callbackData.data.failed_reason;
    // Mark your own task record as failed here.
  }

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

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

הפרמטר callback_url חייב להשתמש ב-HTTPS ואסור לו להצביע על טווחי רשת פרטיים, מקומיים (loopback) או קישורי-כתובת מקומיים (link-local).

שגיאות

הבקשות POST /v1/videos/generations ו-GET /v1/tasks/:id יחזירו שגיאה במבנה זה כאשר בקשת ה-API עצמה נכשלת (למשל: פרמטרים שגויים, מפתח API לא תקף, חוסר בקרדיטים, חריגה ממגבלת הקצב או משימה שלא נמצאה). חלק מהשגיאות כוללות שדות נוספים כגון required, available או retry_after בהתאם לנסיבות.

{
  "error": {
    "code": "insufficient_credits",
    "message": "Not enough credits for this task.",
    "required": 100,
    "available": 12
  }
}
קוד שגיאהHTTPמשמעותניסיון חוזר?
invalid_request400פרמטרים חסרים או לא תקפים.לא, תקנו את הבקשה ונסו שוב.
invalid_api_key401מפתח ה-API חסר, אינו תקף או בוטל.לא, השתמשו במפתח תקף.
insufficient_credits402אין מספיק קרדיטים. המשימה לא תתקבל ולא תחוייב.לאחר טעינת קרדיטים נוספים.
forbidden403למפתח ה-API אין את ההרשאות הנדרשות (scope).לא.
not_found404המשימה אינה קיימת או שאינה שייכת לבעל מפתח ה-API.לא.
rate_limited429עברתם את קצב הבקשות המותר.כן, פעלו לפי כותרת ה-Retry-After.
internal_error500שגיאת שרת פנימית.כן, נסו שוב מאוחר יותר.

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

מגבלות קצב הבקשות מוחלות לכל מפתח API באמצעות חלון זמן נע (sliding window). יצירת סרטונים מוגבלת כברירת מחדל ל-100 בקשות בדקה; שאילתות סטטוס משימה מאפשרות קצב גמיש יותר. תגובות HTTP 429 כוללות את הכותרת Retry-After.

יצירה

100/דקה

שאילתות סטטוס

גמיש ומקל יותר

כותרת 429

Retry-After

חיוב וקרדיטים

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

שמורים

הקרדיטים נבדקים ונשמרים ברגע שהמשימה מתקבלת לטיפול.

מחויבים

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

מוחזרים

משימות שנכשלו או שהזמן שלהן עבר מחזירות את הקרדיטים השמורים באופן אוטומטי.

ניתוח השימוש בלוח הבקרה

צפו ביומני ה-API, בצירי הזמן של המשימות, בהיסטוריית הקרדיטים ובמדדי שימוש לאורך זמן.

יומני API