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 | לא נתמך |
תמחור וקרדיטים
החיוב על יצירת סרטונים מתבצע בנקודות זכות (credits) בהתאם למשך הזמן לחיוב בשניות. ללא סרטון קלט, המשך לחיוב הוא אורך סרטון הפלט; עם סרטון קלט, החיוב כולל גם את אורך סרטון הייחוס.
הטבלה שלהלן מציגה את נקודות הזכות לחיוב בשנייה, ולא את העלות הכוללת של המשימה. התעריף נקבע לפי הדגם, רזולוציית הפלט, והאם סופקו סרטוני ייחוס במצב 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) נכנסות לתהליך זיכוי. סטטוס חיוב של 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.aiAuthorization: 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, video_urls ו-audio_urls כמערכים של מחרוזות URL (string[]). כל כתובת URL שתוזן חייבת להיות נגישה לציבור באמצעות פרוטוקול HTTPS, כולל קובצי מדיה שאין בהם שימוש במצב שנבחר.
| שדה | סוג | חובה | ברירת מחדל | תיאור ומגבלות |
|---|---|---|---|---|
input.prompt | string | כן | — | שדה חובה בכל מצבי היצירה, כולל התייחסויות מבוססות מדיה בלבד. עד 10,000 תווים לפני קיטום; חייב להכיל טקסט שאינו רווחים בלבד. דוגמה: 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 שניות. תומך גם בערך -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 | השתמשו באחת מרזולוציות הפלט הנתמכות המפורטות כאן. ערכים נתמכים 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
}מצבי יצירה ודוגמאות
טקסט לווידאו
יצירה מתוך הנחיית טקסט. כתובות 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"
]
}
}'עריכת וידאו
תארו את העריכה המבוקשת וספקו את סרטון המקור. הגדירו 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"
}
}'הארכת וידאו
תארו כיצד סרטון המקור צריך להמשיך. השתמשו ביחס גובה-רוחב 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. |
| שדה | סוג | תיאור ומגבלות |
|---|---|---|
id | string | מזהה המשימה. זהו ה-taskId שהתקבל בתגובת היצירה. |
created_at | number | זמן יצירת המשימה בפורמט Unix timestamp (שניות). |
model | string | מזהה הדגם הציבורי ששימש למשימה זו. |
billing_status | string | סטטוס חיוב: reserved (שמור), charged (חויב), refunded (זוכה) או refund_failed (הזיכוי נכשל). |
credits | number | הקרדיטים שנשמרו עבור משימה זו. ערך זה נשמר גם לאחר זיכוי; יש לבדוק את billing_status כדי לקבוע את תוצאת החיוב הסופית. |
failed_reason | string | null | סיבת הכישלון במשימות שנכשלו; אחרת הערך הוא null. תגובות של שאילתות שנכשלו אינן כוללות את השדה data. |
data | object | קיים בשאילתות של משימות שלא נכשלו. מכיל פרטי פלט ועיבוד. |
data.results | string[] | מערך כתובות URL של הסרטון. ריק עד להשלמת המשימה או לאחר פקיעת תוקף הסרטון. |
data.video_expires_at | string | null | מועד פקיעת התוקף של הסרטון בפורמט ISO 8601, או null לפני שהסרטון זמין. שמרו את התוצאה לפני מועד זה. |
data.last_frame_url | string | null | כתובת ה-URL של הפריים האחרון כאשר התבקש וזמין, אחרת null. |
data.processing_time | number | null | זמן העיבוד של הספק בשניות כאשר הוא זמין, אחרת null. |
משימה הושלמה: תגובת שאילתה עם תוצאות הווידאו
כאשר השאילתה מחזירה status=completed, יצירת הווידאו הסתיימה. ניתן לקרוא את כתובות ה-URL של הסרטונים מתוך data.results ולהוריד אותם לפני המועד המצוין ב-data.video_expires_at. הסטטוס billing_status=charged מציין כי הקרדיטים השמורים חויבו.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-5",
"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",
"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"
}'נתוני ה-Webhook שונים מהתגובות לשאילתות משימה: הם אינם כוללים את billing_status ואת credits; פרטי הכישלון נמצאים בתוך data.failed_reason ו-data.credits_refunded. השדה created_at ב-Webhook מייצג את זמן יצירת האירוע בפורמט Unix timestamp (שניות).
המשימה הושלמה: נתוני ה-payload של ה-callback שהצליח
כאשר היצירה מצליחה, ה-callback יכיל את הסטטוס status=completed. השתמש ב-id כדי לזהות את המשימה וב-data.results כדי לקבל את כתובות ה-URL של הווידאו. יש להוריד ולשמור את התוצאות לפני הזמן המצוין ב-data.video_expires_at.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-5",
"status": "completed",
"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 כדי לזהות את המשימה, ב-data.failed_reason כדי לראות את סיבת הכתב וב-data.credits_refunded כדי לראות את כמות הקרדיטים שזוכתה.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-5",
"status": "failed",
"data": {
"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.data;
// 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 | שדה | מה לעשות |
|---|---|---|
| 400 | invalid_request | תקנו את מבנה ה-JSON, הנחיית הטקסט החסרה, טווח הפרמטרים או כתובת ה-URL של המדיה לפני שתנסו שוב. |
| 401 | invalid_api_key | בדקו את טוקן ה-Bearer וודאו שמפתח ה-API פעיל. |
| 402 | insufficient_credits | הוסיפו קרדיטים או הפחיתו את עלות המשימה. התגובה עשויה לכלול את כמות הקרדיטים הנדרשת מול זו הזמינה. |
| 403 | forbidden | בדוק את ההגבלות ברמת החשבון המתוארות בהודעת השגיאה. |
| 404 | not_found | ודאו שמזהה המשימה נכון ושהמפתח שייך למשתמש שיצר את המשימה. |
| 429 | rate_limited | המתן את משך הזמן המצוין ב-Retry-After לפני שתנסה שוב. |
| 500 | internal_error | בדקו את הודעת השגיאה ואת יומני הרישום של ה-API. נסו שוב בזהירות; שליחה חוזרת של בקשת יצירה עלולה ליצור משימה נוספת לחיוב. |
מגבלות קצב בקשות
יצירת משימות: כברירת מחדל, כל מפתח API מאפשר עד 100 בקשות בדקה. בשלב זה, לא ניתן להגדיר מגבלות קצב מותאמות אישית.
שאילתות משימות: כברירת מחדל, כל מפתח API מאפשר עד 120 בקשות בדקה. בקשות שאילתה ובקשות ליצירת משימות נספרות בנפרד.