שליחת משימת יצירת וידאו
יוצר משימת יצירת וידאו אסינכרונית ומחזיר task_id באופן מיידי (HTTP 202). בדקו שוב ב-GET /api/v1/videos/generations/{task_id} עד שהמשימה תצליח. אפשר לספק את גוף הבקשה בשטוח ({model, prompt, ...}) או מקונן ({model, input: {prompt, ...}}); אובייקט input גובר כשהוא קיים. שדות callback (callBackUrl / callback_url / callbackUrl) מתעלמים מהם.
שלושה מצבי קלט בלעדיים זה לזה:
- text-to-video: שדה prompt בלבד;
- image-to-video (פריים ראשון/אחרון): first_frame_url (+ last_frame_url אופציונלי);
- omni-reference: reference_image_urls / reference_video_urls / reference_audio_urls. ערבוב של פריים ראשון/אחרון עם קלט ייחוס מולטימודלי כלשהו מחזיר 400 invalid_request_error.
- סוג: stringX
- Request - Id מזהה בקשה אופציונלי של הקורא שמוחזר בתגובה לצורכי אבחון.
- סוג: stringX
- Felo - Channel קודי ערוץ ציבורי מופרדים בפסיקים ובסדר מוגדר. השמיטו את הכותרת כדי להשתמש ב-default; אסור להשתמש ב-default יחד עם ערכים אחרים. במצב ארנק, default סורק את סדר הערוצים הציבוריים האפקטיבי של המודל מהסוף להתחלה, מדלג על ערוצים לא מפורסמים או לא זמינים, ובוחר את הספק של הערוץ הזמין הראשון. הוא כולל נקודות קצה זמינות מאותו ספק עם אותו מזהה מודל חיצוני ואותה דרגת שירות. ערוצים מפורשים מאומתים לפי הסדר שהלקוח ציין; רק קבוצת הספק של הערוץ הראשון נשלחת. אין נפילה אוטומטית לספקים אחרים. כותרות ספק מדור קודם אינן יכולות לעקוף את ניתוב הערוצים.
קלט ליצירת וידאו. שטוח ({model, prompt, ...}) או מקונן ({model, input: {...}}). input גובר. יש להשתמש במצב קלט אחד בדיוק; ערבוב של פריים ראשון/אחרון עם קלט ייחוס מולטימודלי נדחה.
- סוג: stringmodelחובה
שם המודל כפי שהוא מוצג ב-Felo, למשל seedance-2.0-mini.
- סוג: string enumaspect
_ratio ערכים- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- סוג: integerdurationמינימום:4מקסימום:15
Integer numbers.
- סוג: string פורמט: urifirst
_frame _url - סוג: booleangenerate
_audio - סוג: objectinput
אובייקט קלט מקונן אופציונלי; כשהוא קיים, השדות שלו גוברים על שדות אחים.
- aspectסוג: string enum
_ratio יחס הגובה-רוחב של הפלט; adaptive עוקב אחר יחס התמונה בקלט.
ערכים- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- durationסוג: integerמינימום:4מקסימום:15
משך הפלט בשניות.
- firstסוג: string פורמט: uri
_frame _url כתובת ה-URL של תמונת הפריים הראשון (מצב image-to-video).
- generateסוג: boolean
_audio האם ליצור רצועת שמע מסונכרנת.
- lastסוג: string פורמט: uri
_frame _url כתובת ה-URL של תמונת הפריים האחרון; יש להשתמש בה יחד עם first_frame_url.
- promptסוג: stringאורך מקסימלי:2000
הנחיה. חובה במצבי text-to-video ו-omni-reference.
- referenceסוג: array string[] …3פורמט: uri
_audio _urls מקטעי שמע לייחוס omni-reference.
- referenceסוג: array string[] …9פורמט: uri
_image _urls תמונות ייחוס omni-reference. בלעדיות עם מצב פריים ראשון/אחרון.
- referenceסוג: array string[] …3פורמט: uri
_video _urls סרטוני ייחוס omni-reference. בלעדיים עם מצב פריים ראשון/אחרון. אספקת וידאו משנה את מחיר יחידת החיוב ומוסיפה את משך הקלט לספירת הטוקנים.
- resolutionסוג: string enum
רזולוציית הפלט. רזולוציה גבוהה יותר צורכת יותר טוקנים ועולה יותר.
ערכים- 480p
- 720p
- 1080p
- 4k
- serviceסוג: string | null
_tier נכון לעכשיו נתמך רק default (סטנדרטי). ערך שהושמט, null, כינויים ומחרוזות לא נתמכות נופלים חזרה ל-default; סוגים אחרים מחזירים HTTP 400. הערוצים והמחירים המוגדרים נשארים ללא שינוי. ממשקי טקסט שולחים את הערך הסטנדרטי של הספק; ממשקי Decisions ויצירה משמיטים את השדה מהבקשה לספק.
- סוג: string פורמט: urilast
_frame _url - סוג: stringpromptאורך מקסימלי:2000
- סוג: array string[] …3פורמט: urireference
_audio _urls - סוג: array string[] …9פורמט: urireference
_image _urls - סוג: array string[] …3פורמט: urireference
_video _urls - סוג: string enumresolutionערכים
- 480p
- 720p
- 1080p
- 4k
- סוג: string | nullservice
_tier נכון לעכשיו נתמך רק default (סטנדרטי). ערך שהושמט, null, כינויים ומחרוזות לא נתמכות נופלים חזרה ל-default; סוגים אחרים מחזירים HTTP 400. הערוצים והמחירים המוגדרים נשארים ללא שינוי. ממשקי טקסט שולחים את הערך הסטנדרטי של הספק; ממשקי Decisions ויצירה משמיטים את השדה מהבקשה לספק.
- סוג: object · VideoGenerationAccepted202
המשימה התקבלה
- enumkindconst:videoחובהערכים
- video
- סוג: array string[]outputsחובה
ריק עד שהמשימה תצליח.
- enumstatusconst:queuedחובהערכים
- queued
- סוג: stringtask
_id חובהמזהה המשימה לשימוש בבדיקה החוזרת.
application/json - סוג: object · GenerationError400
בקשה לא חוקית (מודל לא מוכר, מצבי קלט מעורבים, שדות לא חוקיים)
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json - סוג: object · GenerationError401
מפתח API של Felo לא חוקי או חסר
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json - סוג: object · GenerationError402
יתרה לא מספקת / דרישת חיוב לא מתקיימת
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json - סוג: object · GenerationError403
החשבון אינו מורשה (נדרש מינוי או שהמשתמש חסום). מודלים מושבתים נדחים גם הם לפני קריאות לספק החיצוני. בקשות ומשימות שכבר התקבלו ממשיכות.
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json - סוג: object · GenerationError429
הגעתם למגבלת בקשות או הוצאות
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json - סוג: object · GenerationError502
הספק החיצוני נכשל
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json - סוג: object · GenerationError503
שירות היצירה או שירות החיוב אינו זמין באופן זמני
מעטפת שגיאה תואמת OpenAI.
- סוג: objecterror
- messageסוג: stringחובה
- typeסוג: string enumחובהערכים
- invalid
_request _error - server
_error
- codeסוג: string
- paramסוג: string עשוי להיות null
application/json
curl https://openapi.felo.ai/api/v1/videos/generations \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"model": "seedance-2.0-mini",
"prompt": "a cinematic trailer shot, 720p",
"resolution": "720p",
"duration": 5,
"generate_audio": true
}'
{
"task_id": "string",
"status": "queued",
"kind": "video",
"outputs": [
"string"
]
}