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 اختياري)؛
  • omni-reference: 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

      عنوان URL لصورة الإطار الأول (نمط تحويل الصورة إلى فيديو).

    • generate_audio
      النوع: boolean

      هل يتم توليد مسار صوتي متزامن.

    • last_frame_url
      النوع: string التنسيق: uri

      عنوان URL لصورة الإطار الأخير؛ يجب استخدامه مع first_frame_url.

    • prompt
      النوع: string
      أقصى طول:  
      2000

      حقل prompt. مطلوب في نمطي تحويل النص إلى فيديو وomni-reference.

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

      مقاطع صوت omni-reference.

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

      صور omni-reference. متعارضة حصريًا مع الإطار الأول/الأخير.

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

      فيديوهات omni-reference. متعارضة حصريًا مع الإطار الأول/الأخير. يؤدي توفير فيديو إلى تغيير سعر وحدة الفوترة وإضافة مدة الإدخال إلى عدد الرموز.

    • resolution
      النوع: string تعداد

      دقة الإخراج. تستهلك الدقة الأعلى رموزًا أكثر وتكلّف أكثر.

      القيم
      • 480p
      • 720p
      • 1080p
      • 4k
    • service_tier
      النوع: string | null

      لا يُدعم حاليًا سوى default (standard). عند الحذف أو null أو الأسماء البديلة أو السلاسل غير المدعومة، يحدث رجوع إلى default؛ وتعيد الأنواع الأخرى HTTP 400. تبقى القنوات والأسعار المُهيَّأة دون تغيير. ترسل واجهات 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 (standard). عند الحذف أو null أو الأسماء البديلة أو السلاسل غير المدعومة، يحدث رجوع إلى default؛ وتعيد الأنواع الأخرى HTTP 400. تبقى القنوات والأسعار المُهيَّأة دون تغيير. ترسل واجهات 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 يقبل null
    application/json
  • 401
    النوع: object · GenerationError

    مفتاح API من Felo غير صالح أو مفقود

    مغلّف أخطاء متوافق مع OpenAI.

    • error
      النوع: object
      • message
        النوع: string
        مطلوب
      • type
        النوع: string تعداد
        مطلوب
        القيم
        • invalid_request_error
        • server_error
      • code
        النوع: string
      • param
        النوع: string يقبل null
    application/json
  • 402
    النوع: object · GenerationError

    الرصيد غير كافٍ / متطلب الفوترة غير مستوفٍ

    مغلّف أخطاء متوافق مع OpenAI.

    • error
      النوع: object
      • message
        النوع: string
        مطلوب
      • type
        النوع: string تعداد
        مطلوب
        القيم
        • invalid_request_error
        • server_error
      • code
        النوع: string
      • param
        النوع: string يقبل null
    application/json
  • 403
    النوع: object · GenerationError

    الحساب غير مصرّح له (يلزم اشتراك أو المستخدم محظور). تُرفض النماذج المعطّلة قبل استدعاءات المنبع أيضًا. تظل الطلبات والمهام المقبولة قائمة.

    مغلّف أخطاء متوافق مع OpenAI.

    • error
      النوع: object
      • message
        النوع: string
        مطلوب
      • type
        النوع: string تعداد
        مطلوب
        القيم
        • invalid_request_error
        • server_error
      • code
        النوع: string
      • param
        النوع: string يقبل null
    application/json
  • 429
    النوع: object · GenerationError

    تم بلوغ حد الطلبات أو حد الإنفاق

    مغلّف أخطاء متوافق مع OpenAI.

    • error
      النوع: object
      • message
        النوع: string
        مطلوب
      • type
        النوع: string تعداد
        مطلوب
        القيم
        • invalid_request_error
        • server_error
      • code
        النوع: string
      • param
        النوع: string يقبل null
    application/json
  • 502
    النوع: object · GenerationError

    فشل مزوّد المنبع

    مغلّف أخطاء متوافق مع OpenAI.

    • error
      النوع: object
      • message
        النوع: string
        مطلوب
      • type
        النوع: string تعداد
        مطلوب
        القيم
        • invalid_request_error
        • server_error
      • code
        النوع: string
      • param
        النوع: string يقبل null
    application/json
  • 503
    النوع: object · GenerationError

    خدمة التوليد أو خدمة الفوترة غير متاحة مؤقتًا

    مغلّف أخطاء متوافق مع OpenAI.

    • error
      النوع: object
      • message
        النوع: string
        مطلوب
      • type
        النوع: string تعداد
        مطلوب
        القيم
        • invalid_request_error
        • server_error
      • code
        النوع: string
      • param
        النوع: string يقبل null
    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