بدء سريع مع Hunyuan Video Fast API

بدء سريع مع Hunyuan Video Fast API

Hunyuan Video Fast متاح على Novita AI في POST https://api.novita.ai/v3/async/hunyuan-video-fast. إنه الإصدار المُحسَّن للسرعة من نموذج Hunyuan Video مفتوح المصدر من Tencent — فهو يقلل وقت التوليد مقارنة بالإصدار القياسي على حساب بعض دقة الحركة، مما يجعله عمليًا لخطوط الإنتاج عالية الإنتاجية، وتكرار المحفزات، وسير العمل التحضيري حيث تكون سرعة الإنجاز أهم من الجودة السينمائية القصوى.

مثل جميع واجهات برمجة التطبيقات غير المتزامنة للفيديو في Novita، فإنها تُرجع task_id عند الإرسال وتوفر رابط الفيديو بمجرد اكتمال المهمة. يغطي هذا الدليل نقطة النهاية، تنسيق الطلب، أمثلة عملية بلغة Python و cURL، ومكان الإصدار السريع مقارنة بالنموذج القياسي.

متى تستخدم Hunyuan Video Fast مقابل الإصدار القياسي

الإصدار السريع هو الخيار الصحيح عندما تكون سرعة الإنجاز وحجم الطلبات أهم من الجودة البصرية القصوى. يُنتج Hunyuan Video القياسي حركة عالية الدقة والتزامًا أفضل بالمحفز لكل توليد. الإصدار السريع يقلص ذلك الوقت بشكل كبير — مفيد في:

  • تكرار المحفزات — اختبر العديد من المتغيرات بتكلفة منخفضة قبل الالتزام بتوليد عالي الجودة
  • خطوط الإنتاج عالية الإنتاجية — توليد دفعات من المحتوى حيث يؤثر زمن الانتظار لكل مقطع مباشرة على الإنتاجية
  • المراجعة الداخلية والتحضيرية — احصل على مخرجات قابلة للمشاركة بسرعة، ثم انتقل إلى الإصدار القياسي للتسليم النهائي
  • التطبيقات منخفضة زمن الاستجابة — سير عمل إنتاجي بميزانيات زمن استجابة ضيقة

إذا كانت جودة المخرجات هي القيد الأساسي — البث، التسليم النهائي، أو الحركة الفوتوغرافية الواقعية — استخدم نقطة نهاية Hunyuan Video القياسية بدلاً من ذلك.

الخطوة 1: احصل على مفتاح API الخاص بك من Novita AI

سجّل في novita.ai وأنشئ مفتاح API من صفحة إدارة المفاتيح. الحسابات الجديدة تحصل على رصيد مجاني. خزّن المفتاح كمتغير بيئة — لا تقم بتضمينه في ملفات المصدر.

export NOVITA_API_KEY="your_api_key_here"

الخطوة 2: نقطة النهاية ومعرف النموذج

الحقل القيمة
نقطة نهاية الإرسال POST https://api.novita.ai/v3/async/hunyuan-video-fast
استرجاع النتيجة GET https://api.novita.ai/v3/async/task-result?task_id=<id>
رأس المصادقة Authorization: Bearer $NOVITA_API_KEY
نوع المحتوى application/json

مرجع API الرسمي: novita.ai/docs/api-reference/model-apis-hunyuan-video-fast

الخطوة 3: أرسل طلبك الأول

أرسل طلب توليد مع المحفز وإعدادات المخرجات:

curl -s -X POST https://api.novita.ai/v3/async/hunyuan-video-fast \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "ثعلب أحمر يركض عبر غابة ثلجية عند الفجر، حركة بطيئة، لقطة سينمائية واسعة",
    "negative_prompt": "ضبابي، جودة منخفضة، مشوه، علامة مائية",
    "width": 1280,
    "height": 720,
    "seed": -1
  }'
`

تُرجع API `task_id` فورًا:

```json
{
  "task_id": "hunyuan-fast-abc123"
}

الفيديو ليس في هذا الرد — احفظ task_id واستخدمه في الخطوة التالية.

الخطوة 4: استعلم عن نتيجة الفيديو

curl -s "https://api.novita.ai/v3/async/task-result?task_id=hunyuan-fast-abc123" \
  -H "Authorization: Bearer $NOVITA_API_KEY"

استمر في الاستعلام حتى يصبح task_status هو TASK_STATUS_SUCCEED:

{
  "task_status": "TASK_STATUS_SUCCEED",
  "videos": [
    {
      "video_url": "https://cdn.novitai.com/output/...",
      "video_url_ttl": 3600,
      "video_type": "mp4"
    }
  ]
}

قم بتنزيل أو تخزين video_url على الفور — تنتهي صلاحيته بعد video_url_ttl ثانية.

حالات حالة المهمة

الحالة المعنى
TASK_STATUS_QUEUED الطلب مقبول، في انتظار التنفيذ
TASK_STATUS_PROCESSING التوليد قيد التقدم
TASK_STATUS_SUCCEED اكتمل — رابط الفيديو متاح في videos[0].video_url
TASK_STATUS_FAILED فشل التوليد — تحقق من الرد لمعرفة سبب الفشل

مثال بلغة Python

import os
import time
import requests

API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}


def submit_video(
    prompt: str,
    negative_prompt: str = "",
    width: int = 1280,
    height: int = 720,
    seed: int = -1,
) -> str:
    payload = {
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "width": width,
        "height": height,
        "seed": seed,
    }
    resp = requests.post(
        f"{BASE_URL}/v3/async/hunyuan-video-fast",
        headers=HEADERS,
        json=payload,
    )
    resp.raise_for_status()
    return resp.json()["task_id"]


def poll_result(task_id: str, interval: int = 5, timeout: int = 300) -> dict:
    deadline = time.time() + timeout
    while time.time() < deadline:
        resp = requests.get(
            f"{BASE_URL}/v3/async/task-result",
            headers=HEADERS,
            params={"task_id": task_id},
        )
        resp.raise_for_status()
        data = resp.json()
        status = data.get("task_status", "")
        if status == "TASK_STATUS_SUCCEED":
            return data
        if status == "TASK_STATUS_FAILED":
            raise RuntimeError(f"فشلت المهمة: {data}")
        time.sleep(interval)
    raise TimeoutError(f"المهمة {task_id} لم تكتمل خلال {timeout} ثانية")


if __name__ == "__main__":
    task_id = submit_video(
        prompt="ثعلب أحمر يركض عبر غابة ثلجية عند الفجر، حركة بطيئة، لقطة سينمائية واسعة",
        negative_prompt="ضبابي، جودة منخفضة، مشوه، علامة مائية",
        width=1280,
        height=720,
    )
    print(f"تم إرسال المهمة: {task_id}")

    result = poll_result(task_id)
    for video in result.get("videos", []):
        print(f"رابط الفيديو (ينتهي في {video['video_url_ttl']} ثانية): {video['video_url']}")

مثال باستخدام cURL

# الخطوة 1: إرسال طلب التوليد
TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/hunyuan-video-fast \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "تسلسل زمني لأفق مدينة ينتقل من الغسق إلى الليل، سينمائي",
    "negative_prompt": "ضبابي، جودة منخفضة، مشوه",
    "width": 1280,
    "height": 720,
    "seed": 42
  }' | jq -r '.task_id')

echo "معرف المهمة: $TASK_ID"

# الخطوة 2: استعلم حتى الاكتمال
while true; do
  RESULT=$(curl -s "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
    -H "Authorization: Bearer $NOVITA_API_KEY")
  STATUS=$(echo "$RESULT" | jq -r '.task_status')
  if [ "$STATUS" = "TASK_STATUS_SUCCEED" ]; then
    echo "$RESULT" | jq -r '.videos[0].video_url'
    break
  elif [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
    echo "فشل: $RESULT"
    break
  fi
  echo "الحالة: $STATUS — انتظار..."
  sleep 5
done

المعلمات الرئيسية

المعامل النوع مطلوب الوصف
prompt نص نعم وصف نصي لمشهد الفيديو، الموضوع، الحركة، والأسلوب
negative_prompt نص لا عناصر يجب تجنبها في المخرجات (مثل “ضبابي، جودة منخفضة”)
width عدد صحيح لا عرض المخرجات بالبكسل — راجع وثائق API للقيم المدعومة
height عدد صحيح لا ارتفاع المخرجات بالبكسل — مقترن بـ width لتحديد الدقة
seed عدد صحيح لا قم بتعيين عدد صحيح ثابت لإعادة إنتاج نفس المخرج؛ -1 للعشوائية

للقائمة الكاملة للمعاملات بما في ذلك خيارات المدة، قيود الدقة القصوى، وأي حقول خاصة بالنموذج، راجع مرجع Hunyuan Video Fast API.

الأسعار والحدود

تحقق من أسعار الفيديو الحالية لكل فيديو على صفحة نماذج Novita AI. عادةً ما يكون تسعير توليد الفيديو لكل مقطع ويختلف حسب الدقة والمدة. تحقق من صفحة التسعير قبل بناء نموذج تكلفة لأحمال العمل الإنتاجية.

تأكد من الحدود التالية في الوثائق الرسمية قبل النشر:

  • الحد الأقصى لطول المحفز بالأحرف
  • قيم الدقة المدعومة (مجموعات العرض × الارتفاع)
  • الحد الأقصى لمدة الفيديو بالثواني
  • حدود المعدل وحدود المهام المتزامنة لكل مفتاح API

عادةً ما يكون الإصدار السريع أقل تكلفة لكل مقطع من النموذج القياسي بسبب وقت الحوسبة المنخفض — تحقق من الفرق الحالي على صفحة تسعير Novita.

استكشاف الأخطاء وإصلاحها

401 غير مصرح — مفتاح API مفقود أو غير صالح أو منتهي الصلاحية. تأكد من تعيين NOVITA_API_KEY وأن المفتاح نشط في لوحة تحكم Novita AI.

422 كيان غير قابل للمعالجة — معامل مطلوب مفقود أو قيمة خارج النطاق. تأكد من أن prompt غير فارغ وأن قيم width/height ضمن المجموعة المدعومة من وثائق API.

المهمة تبقى في TASK_STATUS_PROCESSING — التوليد لا يزال قيد التشغيل. الإصدار السريع يكتمل أسرع من القياسي، لكن الدقة الأعلى والمدة الأطول تستغرق وقتًا أطول. زِد مهلة الاستعلام للمخرجات الكبيرة.

video_url يُرجع 403 أو 404 — انتهت صلاحية الرابط (انقضت video_url_ttl). في الإنتاج، قم بتنزيل الفيديو أو نقله فورًا بعد TASK_STATUS_SUCCEED — لا تعتمد على الرابط المستضاف كتخزين دائم.

مشاكل جودة متسقة لأنواع محفزات محددة — انتقل إلى نهج تحسين prompt: صف الموضوع، الإجراء، زاوية الكاميرا، والأسلوب بشكل صريح. أضف إدخالات negative_prompt للعيوب الشائعة. إذا كانت الجودة لا تزال غير كافية لحالة الاستخدام، قيّم نقطة نهاية Hunyuan Video القياسية.

الأسئلة الشائعة

ما هي نقطة نهاية Novita AI لـ Hunyuan Video Fast؟

POST https://api.novita.ai/v3/async/hunyuan-video-fast. API غير متزامنة: أرسل طلبًا، استقبل task_id، ثم استعلم GET https://api.novita.ai/v3/async/task-result?task_id=<id> حتى يصبح task_status هو TASK_STATUS_SUCCEED.

كيف يختلف Hunyuan Video Fast عن Hunyuan Video القياسي؟

الإصدار السريع مُحسَّن لسرعة التوليد — يقلل الوقت من إرسال المهمة إلى اكتمال الفيديو. المقابل هو أن دقة الحركة والالتزام الدقيق بالمحفز أقل من النموذج القياسي. استخدم الإصدار السريع لتكرار المحفزات، مهام الدفعات عالية الإنتاجية، أو المراجعة؛ استخدم القياسي للمخرجات النهائية عالية الجودة.

هل يمكنني تعيين مدة فيديو محددة؟

تحقق من مرجع API للحصول على معاملات المدة المدعومة. بعض واجهات الفيديو في Novita تعرض حقل duration صريح؛ البعض الآخر يستخدم افتراضي النموذج. تحقق قبل افتراض طول مقطع افتراضي.

كيف يمكنني إعادة إنتاج مخرج فيديو محدد؟

اضبط seed على عدد صحيح ثابت. يجب أن ينتج نفس المزيج من seed و prompt و width و height مخرجات متسقة عبر عمليات التشغيل.

هل يدعم Hunyuan Video Fast تحويل الصورة إلى فيديو؟

Hunyuan Video Fast على Novita AI هو نموذج لنص إلى فيديو. لتوليد فيديو من صورة على Novita، تحقق من نماذج I2V المتاحة مثل Kling أو Vidu أو Wan على صفحة نماذج Novita.

كم تكلفة Hunyuan Video Fast على Novita AI؟

تحقق من الأسعار الحالية على novita.ai/models. يمكن أن يتغير تسعير نماذج الفيديو لكل مقطع؛ تحقق دائمًا من صفحة التسعير قبل بناء تقديرات التكلفة الإنتاجية.

هل Hunyuan Video Fast مناسب لخطوط إنتاج الفيديو الإنتاجية؟

نعم، مع المعالجة المناسبة. صمم خط الإنتاج الخاص بك حول إرسال المهام غير المتزامنة، خزّن task_id لتتبع الحالة، قم بتنزيل الفيديو فورًا بعد الاكتمال (قبل انتهاء صلاحية video_url_ttl)، وتعامل مع TASK_STATUS_FAILED باستراتيجية إعادة محاولة أو بديل.

مقالات موصى بها