Felo API PlatformFelo API Platform
v0.4.0
OpenAPI 3.1.0

ارسال وظیفه تولید ویدیو

سرور:https://openapi.felo.ai
کتابخانه‌های کلاینت

ارسال وظیفه تولید ویدیو

​

یک وظیفه تولید ویدیوی ناهمگام ایجاد می‌کند و بلافاصله 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 برمی‌گرداند.
هدرها
  • X-Request-Id
    نوع: string

    شناسه درخواست اختیاری فراخوان که برای عیب‌یابی بازتاب داده می‌شود.

  • X-Felo-Channel
    نوع: string

    کدهای کانال عمومی جداشده با کاما و مرتب‌شده. برای استفاده از default این هدر را حذف کنید؛ default باید به‌تنهایی استفاده شود. در حالت کیف پول، default ترتیب مؤثر کانال‌های عمومی مدل را به‌صورت معکوس بررسی می‌کند، کانال‌های منتشرنشده یا در دسترس نبودن را رد می‌کند و ارائه‌دهنده اولین کانال در دسترس را انتخاب می‌کند. نقاط پایانی در دسترس آن ارائه‌دهنده با همان شناسه مدل بالادست و سطح سرویس را شامل می‌شود. کانال‌های صریح به ترتیب مشخص‌شده توسط کلاینت اعتبارسنجی می‌شوند؛ فقط گروه ارائه‌دهنده اولین کانال ارسال می‌شود. هیچ بازگشت خودکار به ارائه‌دهندگان دیگر وجود ندارد. هدرهای ارائه‌دهنده قدیمی نمی‌توانند مسیریابی کانال را بازنویسی کنند.

بدنه·VideoGenerationRequest
الزامی
application/json

ورودی تولید ویدیو. یا مسطح ({model, prompt, ...}) یا تودرتو ({model, input: {...}}). input اولویت دارد. باید دقیقاً یک حالت ورودی استفاده شود؛ ترکیب فریم اول/آخر با ورودی‌های ارجاع چندرسانه‌ای رد می‌شود.

  • model
    نوع: string
    الزامی

    نام مدل در سمت Felo، مثلاً seedance-2.0-mini.

  • aspect_ratio
    نوع: string فهرست مقادیر
    مقادیر
    • 16:9
    • 9:16
    • 1:1
    • 4:3
    • 3:4
    • 21:9
    • adaptive
  • duration
    نوع: integer
    حداقل:  
    4
    حداکثر:  
    15

    Integer numbers.

  • first_frame_url
    نوع: string قالب: uri
  • generate_audio
    نوع: boolean
  • input
    نوع: object

    شیء ورودی تودرتوی اختیاری؛ در صورت وجود، فیلدهای آن بر فیلدهای هم‌سطح اولویت دارند.

    • aspect_ratio
      نوع: string فهرست مقادیر

      نسبت ابعاد خروجی؛ adaptive نسبت تصویر ورودی را دنبال می‌کند.

      مقادیر
      • 16:9
      • 9:16
      • 1:1
      • 4:3
      • 3:4
      • 21:9
      • adaptive
    • duration
      نوع: integer
      حداقل:  
      4
      حداکثر:  
      15

      مدت خروجی به ثانیه.

    • first_frame_url
      نوع: string قالب: uri

      نشانی تصویر فریم اول (حالت تصویر‌به‌ویدیو).

    • generate_audio
      نوع: boolean

      اینکه آیا یک مسیر صوتی همگام‌شده تولید شود.

    • last_frame_url
      نوع: string قالب: uri

      نشانی تصویر فریم آخر؛ باید همراه با first_frame_url استفاده شود.

    • prompt
      نوع: string
      حداکثر طول:  
      2000

      پرامپت. برای حالت‌های متن‌به‌ویدیو و ارجاع همه‌جانبه الزامی است.

    • reference_audio_urls
      نوع: array string[] …3قالب: uri

      کلیپ‌های صوتی ارجاع همه‌جانبه.

    • reference_image_urls
      نوع: array string[] …9قالب: uri

      تصاویر ارجاع همه‌جانبه. متقابلاً منحصر به فرد با فریم اول/آخر.

    • reference_video_urls
      نوع: array string[] …3قالب: uri

      ویدیوهای ارجاع همه‌جانبه. متقابلاً منحصر به فرد با فریم اول/آخر. ارائه ویدیو قیمت واحد صورت‌حساب را تغییر می‌دهد و مدت ورودی را به تعداد توکن اضافه می‌کند.

    • resolution
      نوع: string فهرست مقادیر

      وضوح خروجی. وضوح بالاتر توکن بیشتری مصرف می‌کند و هزینه بیشتری دارد.

      مقادیر
      • 480p
      • 720p
      • 1080p
      • 4k
    • service_tier
      نوع: string | null

      در حال حاضر فقط default (استاندارد) پشتیبانی می‌شود. مقادیر حذف‌شده، null، نام‌های مستعار و رشته‌های پشتیبانی‌نشده به default بازمی‌گردند؛ انواع دیگر HTTP 400 برمی‌گردانند. کانال‌ها و قیمت‌های پیکربندی‌شده بدون تغییر می‌مانند. APIهای متنی مقدار استاندارد ارائه‌دهنده را ارسال می‌کنند؛ APIهای Decisions و تولید فیلد بالادست را حذف می‌کنند.

  • last_frame_url
    نوع: string قالب: uri
  • prompt
    نوع: string
    حداکثر طول:  
    2000
  • reference_audio_urls
    نوع: array string[] …3قالب: uri
  • reference_image_urls
    نوع: array string[] …9قالب: uri
  • reference_video_urls
    نوع: array string[] …3قالب: uri
  • resolution
    نوع: string فهرست مقادیر
    مقادیر
    • 480p
    • 720p
    • 1080p
    • 4k
  • service_tier
    نوع: string | null

    در حال حاضر فقط default (استاندارد) پشتیبانی می‌شود. مقادیر حذف‌شده، null، نام‌های مستعار و رشته‌های پشتیبانی‌نشده به default بازمی‌گردند؛ انواع دیگر HTTP 400 برمی‌گردانند. کانال‌ها و قیمت‌های پیکربندی‌شده بدون تغییر می‌مانند. APIهای متنی مقدار استاندارد ارائه‌دهنده را ارسال می‌کنند؛ APIهای Decisions و تولید فیلد بالادست را حذف می‌کنند.

پاسخ‌ها
  • 202
    نوع: object · VideoGenerationAccepted

    وظیفه پذیرفته شد

    • kind
      فهرست مقادیر
      مقدار ثابت:  
      video
      الزامی
      مقادیر
      • video
    • outputs
      نوع: array string[]
      الزامی

      تا موفقیت وظیفه خالی است.

    • status
      فهرست مقادیر
      مقدار ثابت:  
      queued
      الزامی
      مقادیر
      • queued
    • task_id
      نوع: string
      الزامی

      شناسه وظیفه برای بررسی دوره‌ای.

    application/json
  • 400
    نوع: object · GenerationError

    درخواست نامعتبر (مدل ناشناخته، حالت‌های ورودی مخلوط، فیلدهای نامعتبر)

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
  • 401
    نوع: object · GenerationError

    کلید API Felo نامعتبر است یا وجود ندارد.

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
  • 402
    نوع: object · GenerationError

    موجودی ناکافی / الزام صورت‌حساب برآورده نشده است

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
  • 403
    نوع: object · GenerationError

    حساب مجاز نیست (اشتراک لازم است یا کاربر مسدود شده است). مدل‌های غیرفعال نیز پیش از فراخوانی‌های بالادست رد می‌شوند. درخواست‌ها و وظایف پذیرفته‌شده موجود ادامه می‌یابند.

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
  • 429
    نوع: object · GenerationError

    سقف درخواست یا هزینه به پایان رسیده است

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
  • 502
    نوع: object · GenerationError

    ارائه‌دهنده بالادست ناموفق بود

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
  • 503
    نوع: object · GenerationError

    سرویس تولید یا سرویس صورت‌حساب موقتاً در دسترس نیست

    پاکت خطای سازگار با OpenAI.

    • error
      نوع: object
      • message
        نوع: string
        الزامی
      • type
        نوع: string فهرست مقادیر
        الزامی
        مقادیر
        • invalid_request_error
        • server_error
      • code
        نوع: string
      • param
        نوع: string تهی‌پذیر
    application/json
Request Example for post/api/v1/videos/generations
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"
  ]
}
Submit a video generation task