वीडियो जनरेशन टास्क सबमिट करें
एक async वीडियो जनरेशन टास्क बनाता है और तुरंत task_id लौटाता है (HTTP 202)। GET /api/v1/videos/generations/{task_id} को सफल होने तक पोल करें। request बॉडी को फ़्लैट ({model, prompt, ...}) या नेस्टेड ({model, input: {prompt, ...}}) रूप में दिया जा सकता है; मौजूद होने पर input ऑब्जेक्ट को प्राथमिकता मिलती है। callback फ़ील्ड (callBackUrl / callback_url / callbackUrl) अनदेखे किए जाते हैं।
तीन परस्पर अनन्य input मोड:
- text-to-video: केवल prompt;
- image-to-video (पहला/अंतिम फ़्रेम): first_frame_url (+ वैकल्पिक last_frame_url);
- omni-reference: reference_image_urls / reference_video_urls / reference_audio_urls. पहले/अंतिम फ़्रेम को किसी भी मल्टीमॉडल reference input के साथ मिलाने पर 400 invalid_request_error लौटता है।
- टाइप: stringX
- Request - Id वैकल्पिक caller request ID, जो डायग्नोस्टिक्स के लिए वापस भेजी जाती है।
- टाइप: stringX
- Felo - Channel क्रमबद्ध, कॉमा से अलग किए गए सार्वजनिक चैनल कोड। default का उपयोग करने के लिए यह header छोड़ दें; default अकेले ही इस्तेमाल होना चाहिए। वॉलेट मोड में, default मॉडल के प्रभावी सार्वजनिक चैनल क्रम को उल्टे क्रम में स्कैन करता है, अप्रकाशित या अनुपलब्ध चैनल छोड़ देता है, और पहले उपलब्ध चैनल का प्रोवाइडर चुनता है। इसमें उसी upstream मॉडल ID और service tier वाले उस प्रोवाइडर के उपलब्ध endpoints शामिल होते हैं। स्पष्ट रूप से दिए गए चैनल client द्वारा निर्दिष्ट क्रम में सत्यापित होते हैं; केवल पहले चैनल का प्रोवाइडर समूह सबमिट किया जाता है। अन्य प्रोवाइडर पर स्वचालित fallback नहीं होता। पुराने प्रोवाइडर headers चैनल रूटिंग को ओवरराइड नहीं कर सकते।
वीडियो जनरेशन input। या तो फ़्लैट ({model, prompt, ...}) या नेस्टेड ({model, input: {...}})। input को प्राथमिकता मिलती है। ठीक एक input मोड का उपयोग करना चाहिए; पहले/अंतिम फ़्रेम को मल्टीमॉडल reference inputs के साथ मिलाना अस्वीकार किया जाता है।
- टाइप: 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
वैकल्पिक नेस्टेड input ऑब्जेक्ट; मौजूद होने पर इसके फ़ील्ड सहोदर फ़ील्ड पर प्राथमिकता लेते हैं।
- aspectटाइप: string enum
_ratio output आस्पेक्ट अनुपात; adaptive input इमेज के अनुपात का पालन करता है।
मान- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- durationटाइप: integerन्यूनतम:4अधिकतम:15
output अवधि सेकंड में।
- firstटाइप: string फ़ॉर्मेट: uri
_frame _url पहले फ़्रेम की इमेज URL (image-to-video मोड)।
- generateटाइप: boolean
_audio सिंक किया गया ऑडियो ट्रैक जनरेट करना है या नहीं।
- lastटाइप: string फ़ॉर्मेट: uri
_frame _url अंतिम फ़्रेम की इमेज URL; इसे first_frame_url के साथ ही उपयोग करना चाहिए।
- promptटाइप: stringअधिकतम लंबाई:2000
Prompt। 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 वीडियो। पहले/अंतिम फ़्रेम के साथ परस्पर अनन्य। वीडियो देने पर बिलिंग इकाई मूल्य बदलता है और token गणना में input अवधि जुड़ती है।
- resolutionटाइप: string enum
output रिज़ॉल्यूशन। अधिक रिज़ॉल्यूशन अधिक tokens लेता है और अधिक खर्च करता है।
मान- 480p
- 720p
- 1080p
- 4k
- serviceटाइप: string | null
_tier फ़िलहाल केवल default (standard) समर्थित है। छोड़ा गया, null, उपनाम और असमर्थित स्ट्रिंग्स default पर fallback करते हैं; अन्य प्रकार HTTP 400 लौटाते हैं। कॉन्फ़िगर किए गए चैनल और कीमतें अपरिवर्तित रहती हैं। Text API प्रोवाइडर का standard मान भेजते हैं; Decisions और जनरेशन API upstream फ़ील्ड छोड़ देते हैं।
- टाइप: 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 (standard) समर्थित है। छोड़ा गया, null, उपनाम और असमर्थित स्ट्रिंग्स default पर fallback करते हैं; अन्य प्रकार HTTP 400 लौटाते हैं। कॉन्फ़िगर किए गए चैनल और कीमतें अपरिवर्तित रहती हैं। Text API प्रोवाइडर का standard मान भेजते हैं; Decisions और जनरेशन API upstream फ़ील्ड छोड़ देते हैं।
- टाइप: object · VideoGenerationAccepted202
टास्क स्वीकार किया गया
- enumkindconst:videoआवश्यकमान
- video
- टाइप: array string[]outputsआवश्यक
टास्क सफल होने तक खाली।
- enumstatusconst:queuedआवश्यकमान
- queued
- टाइप: stringtask
_id आवश्यकपोलिंग के लिए उपयोग करने वाला टास्क ID।
application/json - टाइप: object · GenerationError400
अमान्य request (अज्ञात मॉडल, मिश्रित input मोड, अमान्य फ़ील्ड)
OpenAI-संगत एरर एनवेलप।
- टाइप: objecterror
- messageटाइप: stringआवश्यक
- typeटाइप: string enumआवश्यकमान
- invalid
_request _error - server
_error
- codeटाइप: string
- paramटाइप: string null स्वीकार्य
application/json - टाइप: object · GenerationError401
अमान्य या अनुपलब्ध Felo API key
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
खाते को अनुमति नहीं है (सदस्यता आवश्यक है या उपयोगकर्ता पर प्रतिबंध है)। बंद किए गए मॉडल भी upstream कॉल से पहले अस्वीकार कर दिए जाते हैं। पहले से स्वीकृत requests और टास्क जारी रहते हैं।
OpenAI-संगत एरर एनवेलप।
- टाइप: objecterror
- messageटाइप: stringआवश्यक
- typeटाइप: string enumआवश्यकमान
- invalid
_request _error - server
_error
- codeटाइप: string
- paramटाइप: string null स्वीकार्य
application/json - टाइप: object · GenerationError429
request या खर्च सीमा पूरी हो गई
OpenAI-संगत एरर एनवेलप।
- टाइप: objecterror
- messageटाइप: stringआवश्यक
- typeटाइप: string enumआवश्यकमान
- invalid
_request _error - server
_error
- codeटाइप: string
- paramटाइप: string null स्वीकार्य
application/json - टाइप: object · GenerationError502
upstream प्रोवाइडर विफल रहा
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"
]
}