# واجهة API لـ Happy Horse 1.1 مرجع API كامل لنماذج إنشاء الفيديو Happy Horse 1.1 من Alibaba. ## متغيرات النموذج تدعم واجهة API هذه ثلاثة متغيرات للنموذج: | النموذج | ID | الوصف | | --------------------------------------- | ------------------------------------ | ---------------------------------------------------- | | **Happy Horse 1.1 Text to Video** | `happyhorse-1.1-text-to-video` | ينشئ مقاطع فيديو مباشرة من المطالبات النصية | | **Happy Horse 1.1 Image to Video** | `happyhorse-1.1-image-to-video` | يحرّك صورة إطار أول واحدة مع توجيه المطالبة | | **Happy Horse 1.1 Reference to Video** | `happyhorse-1.1-reference-to-video` | ينشئ مقاطع فيديو موجهة بما يصل إلى 9 صور مرجعية | ## مقارنة سريعة | الميزة | Text to Video | Image to Video | Reference to Video | | -------------- | ------------------------- | ------------------------- | ------------------------- | | الإدخال | مطالبة نصية | صورة الإطار الأول + مطالبة | صور مرجعية + مطالبة | | نطاق المدة | 3-15 ثانية | 3-15 ثانية | 3-15 ثانية | | الدقة | 720p, 1080p (الافتراضي 1080p) | 720p, 1080p (الافتراضي 1080p) | 720p, 1080p (الافتراضي 1080p) | | نسبة العرض إلى الارتفاع | 9 نسب مدعومة (الافتراضي 16:9) | غير مدعومة (تتبع صورة الإدخال) | 9 نسب مدعومة (الافتراضي 16:9) | | Seed | اختياري | اختياري | اختياري | ### نسب العرض إلى الارتفاع المدعومة (Text to Video و Reference to Video) | النسبة | الوصف | | ------ | ---------------------- | | `16:9` | أفقي (شاشة عريضة) | | `9:16` | عمودي (رأسي) | | `3:4` | عمودي قياسي | | `4:3` | أفقي قياسي | | `4:5` | عمودي | | `5:4` | أفقي | | `1:1` | مربع | | `9:21` | عمودي فائق الطول | | `21:9` | أفقي فائق العرض | ## Happy Horse 1.1 Text to Video ### نقطة النهاية ``` POST /api/v1/video/task ``` ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | | -------------- | ------ | ------------------------------------------------------------------ | | `model_name` | string | يجب أن يكون `"happyhorse-1.1-text-to-video"` | | `prompt` | string | مطالبة إنشاء الفيديو | | `duration` | number | مدة الفيديو بالثواني (3-15) | | `resolution` | string | دقة الإخراج: `"720p"` أو `"1080p"` (الافتراضي `"1080p"`) | | `aspect_ratio` | string | نسبة عرض الفيديو إلى ارتفاعه (راجع الجدول أعلاه؛ الافتراضي `"16:9"`) | #### اختياري | المعامل | النوع | الوصف | | --------- | ------ | ---------------------------------------------------------------------------------- | | `seed` | number | Seed عشوائي لعمليات إنشاء قابلة للتكرار، عدد صحيح في النطاق من `0` إلى `2147483647` | ### مثال طلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'happyhorse-1.1-text-to-video', prompt: 'A cat playing with a ball of yarn on a sunny windowsill', duration: 5, resolution: '1080p', aspect_ratio: '16:9', seed: 42, }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Happy Horse 1.1 Image to Video ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | | ------------ | ------ | ------------------------------------------------------------------ | | `model_name` | string | يجب أن يكون `"happyhorse-1.1-image-to-video"` | | `prompt` | string | مطالبة إنشاء الفيديو | | `duration` | number | مدة الفيديو بالثواني (3-15) | | `resolution` | string | دقة الإخراج: `"720p"` أو `"1080p"` (الافتراضي `"1080p"`) | | `image_url` | string | عنوان URL لصورة الإطار الأول (الإطار الأول فقط) | #### اختياري | المعامل | النوع | الوصف | | --------- | ------ | ---------------------------------------------------------------------------------- | | `seed` | number | Seed عشوائي لعمليات إنشاء قابلة للتكرار، عدد صحيح في النطاق من `0` إلى `2147483647` | > **ملاحظة:** لا يتم دعم `aspect_ratio` في image-to-video. يتبع تأطير الإخراج صورة الإطار الأول التي تم تحميلها. ### مثال طلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'happyhorse-1.1-image-to-video', image_url: 'https://example.com/first-frame.jpg', prompt: 'Gentle motion; cinematic lighting', duration: 5, resolution: '1080p', seed: 42, }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Happy Horse 1.1 Reference to Video ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | | -------------- | -------- | ------------------------------------------------------------------ | | `model_name` | string | يجب أن يكون `"happyhorse-1.1-reference-to-video"` | | `prompt` | string | موجه إنشاء الفيديو. اكتب موجها قياسيا بدون عناصر نائبة، أو استخدم اختياريا ميزة الإشارة @ (AT) مع `<<>>` للإشارة صراحة إلى العناصر في مصفوفة `images` | | `duration` | number | مدة الفيديو بالثواني (3-15) | | `resolution` | string | دقة الإخراج: `"720p"` أو `"1080p"` (الافتراضي `"1080p"`) | | `aspect_ratio` | string | نسبة عرض الفيديو إلى ارتفاعه (راجع الجدول أعلاه؛ الافتراضي `"16:9"`) | | `images` | string[] | عناوين URL للصور المرجعية (1-9 صور) | #### العناصر النائبة للإشارة @ (AT) تربط ميزة الإشارة @ (AT) الصور المرجعية بالموجه من خلال عناصر نائبة مرقمة بصيغة `<<>>`. يبدأ الترقيم من `1` ويتبع ترتيب مصفوفة `images`. | العنصر النائب | القيمة المشار إليها | |-------------|------------------| | `<<>>` | `images[0]` | | `<<>>` | `images[1]` | | `<<>>` | `images[2]` | #### اختياري | المعامل | النوع | الوصف | | --------- | ------ | ---------------------------------------------------------------------------------- | | `seed` | number | Seed عشوائي لعمليات إنشاء قابلة للتكرار، عدد صحيح في النطاق من `0` إلى `2147483647` | ### متطلبات الصور المرجعية - التنسيقات المدعومة: `JPEG`, `JPG`, `PNG`, `WEBP` - الحد الأقصى لحجم الملف: 20 MB لكل صورة - الحد الأدنى للجانب القصير: 400 px - العدد: صورة واحدة على الأقل، وحتى 9 صور ### مثال طلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'happyhorse-1.1-reference-to-video', prompt: 'Subject moves naturally while preserving reference style and appearance', duration: 5, resolution: '1080p', aspect_ratio: '16:9', images: [ 'https://example.com/ref-1.jpg', 'https://example.com/ref-2.jpg', ], seed: 42, }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ### مثال طلب Reference-to-Video باستخدام @ (AT) ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'happyhorse-1.1-reference-to-video', prompt: 'Show the person from <<>> walking beside the bicycle from <<>> through the street in <<>>, preserving all reference details', duration: 5, resolution: '1080p', aspect_ratio: '16:9', images: [ 'https://example.com/person-reference.jpg', 'https://example.com/bicycle-reference.jpg', 'https://example.com/street-reference.jpg', ], seed: 42, }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## تنسيق الاستجابة ### الاستجابة الأولية ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` ### استجابة الاستعلام استعلم عن `GET /api/v1/video/{taskId}` للتحقق من الحالة: ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "succeed", "task_status_msg": null, "task_result": { "credit": 0.2, "videos": [ { "url": "https://example.com/generated-video.mp4" } ] } } } ``` ### قيم الحالة - `submitted`: تم قبول المهمة وهي في انتظار المعالجة - `processing`: إنشاء الفيديو قيد التقدم - `succeed`: اكتمل إنشاء الفيديو - `failed`: فشل إنشاء الفيديو ## وقت المعالجة وقت المعالجة المعتاد: 2-5 دقائق حسب المدة وحمل قائمة الانتظار. ## أفضل الممارسات 1. **صف الحركة بوضوح**: أضف حركة العنصر، وحركة الكاميرا، وتطور المشهد لتحسين ديناميكية الفيديو. 2. **استخدم تكرارات قصيرة أولا**: ابدأ بعمليات إنشاء من 3-5 ثوان للتحقق من اتجاه المطالبة قبل تشغيل مقاطع أطول. 3. **اختر صورة الإدخال المناسبة**: في image-to-video، استخدم صورة إطار أول واضحة وجيدة الإضاءة مع تركيز قوي على العنصر. 4. **نسّق الصور المرجعية بعناية**: في reference-to-video، قدم صورا مرجعية متسقة وعالية الجودة تمثل بوضوح العنصر أو النمط الذي تريد الحفاظ عليه. 5. **أعد استخدام seed للمتغيرات**: احتفظ بنفس `seed` عند اختبار تحسينات المطالبة لمقارنة المخرجات بشكل أكثر اتساقا. 6. **طابق النسبة مع قناة التسليم**: استخدم `16:9` للفيديو الأفقي، و`9:16` للمقاطع القصيرة وreels، و`1:1` للمواضع المربعة.