ارسال وظیفه تولید ویدیو
یک وظیفه تولید ویدیوی ناهمگام ایجاد میکند و بلافاصله task_id را برمیگرداند (HTTP 202). GET /api/v1/videos/generations/{task_id} را بهصورت دورهای بررسی کنید تا موفق شود. بدنه درخواست میتواند بهصورت مسطح ({model, prompt, ...}) یا تودرتو ({model, input: {prompt, ...}}) ارائه شود؛ در صورت وجود، شیء input اولویت دارد. فیلدهای callback (callBackUrl / callback_url / callbackUrl) نادیده گرفته میشوند.
سه حالت ورودی متقابلاً منحصر به فرد:
- متنبهویدیو: فقط prompt؛
- تصویربهویدیو (فریم اول/آخر): first_frame_url (+ last_frame_url اختیاری)؛
- ارجاع همهجانبه: 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 فهرست مقادیرaspect
_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 فهرست مقادیر
_ratio نسبت ابعاد خروجی؛ adaptive نسبت تصویر ورودی را دنبال میکند.
مقادیر- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- durationنوع: integerحداقل:4حداکثر:15
مدت خروجی به ثانیه.
- firstنوع: string قالب: uri
_frame _url نشانی تصویر فریم اول (حالت تصویربهویدیو).
- generateنوع: boolean
_audio اینکه آیا یک مسیر صوتی همگامشده تولید شود.
- lastنوع: string قالب: uri
_frame _url نشانی تصویر فریم آخر؛ باید همراه با first_frame_url استفاده شود.
- promptنوع: stringحداکثر طول:2000
پرامپت. برای حالتهای متنبهویدیو و ارجاع همهجانبه الزامی است.
- referenceنوع: array string[] …3قالب: uri
_audio _urls کلیپهای صوتی ارجاع همهجانبه.
- referenceنوع: array string[] …9قالب: uri
_image _urls تصاویر ارجاع همهجانبه. متقابلاً منحصر به فرد با فریم اول/آخر.
- referenceنوع: array string[] …3قالب: uri
_video _urls ویدیوهای ارجاع همهجانبه. متقابلاً منحصر به فرد با فریم اول/آخر. ارائه ویدیو قیمت واحد صورتحساب را تغییر میدهد و مدت ورودی را به تعداد توکن اضافه میکند.
- resolutionنوع: string فهرست مقادیر
وضوح خروجی. وضوح بالاتر توکن بیشتری مصرف میکند و هزینه بیشتری دارد.
مقادیر- 480p
- 720p
- 1080p
- 4k
- serviceنوع: string | null
_tier در حال حاضر فقط default (استاندارد) پشتیبانی میشود. مقادیر حذفشده، null، نامهای مستعار و رشتههای پشتیبانینشده به default بازمیگردند؛ انواع دیگر HTTP 400 برمیگردانند. کانالها و قیمتهای پیکربندیشده بدون تغییر میمانند. APIهای متنی مقدار استاندارد ارائهدهنده را ارسال میکنند؛ APIهای 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 فهرست مقادیرresolutionمقادیر
- 480p
- 720p
- 1080p
- 4k
- نوع: string | nullservice
_tier در حال حاضر فقط default (استاندارد) پشتیبانی میشود. مقادیر حذفشده، null، نامهای مستعار و رشتههای پشتیبانینشده به default بازمیگردند؛ انواع دیگر HTTP 400 برمیگردانند. کانالها و قیمتهای پیکربندیشده بدون تغییر میمانند. APIهای متنی مقدار استاندارد ارائهدهنده را ارسال میکنند؛ APIهای Decisions و تولید فیلد بالادست را حذف میکنند.
- نوع: object · VideoGenerationAccepted202
وظیفه پذیرفته شد
- فهرست مقادیرkindمقدار ثابت:videoالزامیمقادیر
- video
- نوع: array string[]outputsالزامی
تا موفقیت وظیفه خالی است.
- فهرست مقادیرstatusمقدار ثابت:queuedالزامیمقادیر
- queued
- نوع: stringtask
_id الزامیشناسه وظیفه برای بررسی دورهای.
application/json - نوع: object · GenerationError400
درخواست نامعتبر (مدل ناشناخته، حالتهای ورودی مخلوط، فیلدهای نامعتبر)
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
application/json - نوع: object · GenerationError401
کلید API Felo نامعتبر است یا وجود ندارد.
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
application/json - نوع: object · GenerationError402
موجودی ناکافی / الزام صورتحساب برآورده نشده است
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
application/json - نوع: object · GenerationError403
حساب مجاز نیست (اشتراک لازم است یا کاربر مسدود شده است). مدلهای غیرفعال نیز پیش از فراخوانیهای بالادست رد میشوند. درخواستها و وظایف پذیرفتهشده موجود ادامه مییابند.
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
application/json - نوع: object · GenerationError429
سقف درخواست یا هزینه به پایان رسیده است
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
application/json - نوع: object · GenerationError502
ارائهدهنده بالادست ناموفق بود
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
application/json - نوع: object · GenerationError503
سرویس تولید یا سرویس صورتحساب موقتاً در دسترس نیست
پاکت خطای سازگار با OpenAI.
- نوع: objecterror
- messageنوع: stringالزامی
- typeنوع: string فهرست مقادیرالزامیمقادیر
- invalid
_request _error - server
_error
- codeنوع: string
- paramنوع: string تهیپذیر
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"
]
}