Wan 2.7 VideoEdit API على Novita AI: تحرير المقاطع الموجودة باستخدام النصوص والصور المرجعية

Wan 2.7 VideoEdit API على Novita AI: تحرير المقاطع الموجودة باستخدام النصوص والصور المرجعية

يُعد Wan 2.7 VideoEdit على Novita AI نقطة النهاية المناسبة عندما يكون لديك بالفعل مقطع فيديو وتريد من النموذج إعادة تصميم المشهد أو كتابته دون إعادة بناء الحركة من الصفر. يمكنك إرسال فيديو مصدر إلى POST https://api.novita.ai/v3/async/wan2.7-videoedit، والحصول على task_id، ثم الاستقصاء عبر GET /v3/async/task-result حتى يصبح المقطع المحرّر جاهزًا. يوضّح هذا الدليل شكل الطلب الدقيق، ومتى يجب إضافة الصور المرجعية، وتفاصيل التنفيذ المهمة قبل دمجه في الإنتاج.

لمقارنة أوسع بين الأنماط، راجع Wan 2.7 على Novita AI: تحويل النص إلى فيديو مقابل الصورة إلى فيديو مقابل المرجع إلى فيديو.

متى يكون Wan 2.7 VideoEdit الأداة المناسبة

استخدم Wan 2.7 VideoEdit عندما يكون التوقيت وحركة الكاميرا في المقطع المصدر جيدين بما يكفي، وتريد من الذكاء الاصطناعي تغيير ما يراه المشاهد بدلاً من كيفية تنظيم اللقطة.

الاستخدامات النمطية:

  • لديك مقطع من تصوير حي وتريد تحويله إلى رسم أنمي أو مشهد سينمائي أو عرض بتصميم محدد.
  • تحتاج إلى تغيير الملابس أو البيئة أو الدعائم أو الأجواء مع الحفاظ على مسار الحركة الأصلي.
  • تريد تطبيق تحول موجه بنص على مقطع فيديو وإمكانية توجيه المظهر بشكل إضافي باستخدام صورة مرجعية.

ليس نقطة النهاية المناسبة عندما:

  • تحتاج إلى حركة جديدة كليًا من النص وحده. استخدم Wan 2.7 T2V بدلاً من ذلك.
  • تريد تحريك صورة ثابتة. استخدم Wan 2.7 I2V بدلاً من ذلك.
  • تحتاج إلى لعب دور متعدد الشخصيات مع فتحات مرجعية مسماة عبر مشهد تم إنشاؤه. استخدم Wan 2.7 R2V بدلاً من ذلك.

هذا التمييز مهم لأن VideoEdit يبدأ من مقطع إدخال. إذا كانت الحركة الأصلية خاطئة، فلن يقوم النموذج بإصلاح تصميم الرقصات نيابة عنك.

نقطة النهاية وسير العمل المُوثَّقان

يستخدم Wan 2.7 VideoEdit على Novita AI نقطة نهاية واحدة للإرسال ونقطة نهاية مشتركة لنتائج المهام غير المتزامنة:

الحقل القيمة
نقطة نهاية الإرسال POST https://api.novita.ai/v3/async/wan2.7-videoedit
استقصاء النتائج GET https://api.novita.ai/v3/async/task-result?task_id=<id>
رأس المصادقة Authorization: Bearer $NOVITA_API_KEY
نوع المحتوى application/json
الوثائق الرسمية مرجع API Wan 2.7 VideoEdit

الـ API غير متزامن. يعيد استدعاء الإرسال الناجح task_id، وليس رابط الفيديو النهائي. يجب على تطبيقك الاحتفاظ بمعرف المهمة هذا وبناء منطق استقصاء أو مهام خلفية حوله.

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

أنشئ مفتاحًا من إدارة مفاتيح Novita AI واحتفظ به في متغير بيئة:

export NOVITA_API_KEY="your_api_key_here"

لا تقم بتضمين المفتاح مباشرة في كود المتصفح أو تطبيقات الهاتف أو ملفات الإعدادات المدرجة في نظام التحكم بالنسخ.

الخطوة 2: فهم شكل الطلب

يستخدم Wan 2.7 VideoEdit نص JSON مسطح. لا يقوم الطلب بتداخل الحقول تحت input أو parameters.

على الأقل، أرسل:

  • video_url
  • prompt

الحقول الاختيارية الموثقة التي ستهتم بها عادةً أولاً هي:

  • reference_image_url لمرجع المظهر/النمط
  • resolution
  • duration
  • audio_setting
  • prompt_extend
  • seed

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

هذا هو أصغر طلب عملي:

curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/source-clip.mp4",
    "prompt": "Turn this office hallway scene into a neon cyberpunk corridor, preserve the walking motion and camera path",
    "resolution": "720P",
    "duration": 5
  }'

الاستجابة المتوقعة:

{
  "task_id": "abc123..."
}

لا يوجد شيء آخر مضمون في وقت الإرسال. تعامل مع الطلب كخطوة إدراج مهمة، وليس كاستجابة تحرير متزامنة.

الخطوة 4: استقصاء نقطة نهاية نتيجة المهمة

استخدم task_id المُعاد مع واجهة API المشتركة لنتائج المهام:

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

قم بالبناء حول هذه الحالات:

الحالة المعنى
TASK_STATUS_QUEUED تم القبول ويُنتظر التنفيذ
TASK_STATUS_PROCESSING التحرير قيد التقدم
TASK_STATUS_SUCCEED الفيديو المحرر جاهز
TASK_STATUS_FAILED فشلت المهمة؛ افحص نص الاستجابة

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

الخطوة 5: إضافة صورة مرجعية عندما تحتاج إلى تحكم بصري أدق

reference_image_url اختياري، لكنه يغير سلوك التحرير بطرق مفيدة.

استخدمه عندما:

  • تريد أن يتبع المقطع النهائي مظهر شخصية معينة، أو زيًا، أو لوحة ألوان.
  • تريد توجيه المخرجات نحو اتجاه فني محدد بدلاً من ترك كل شيء للنص.
  • حركة فيديو المصدر صحيحة، لكن هوية المشهد فضفاضة جدًا مع التوجيه النصي فقط.

مثال على طلب مع صورة مرجعية:

curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/source-clip.mp4",
    "reference_image_url": "https://example.com/reference-look.png",
    "prompt": "Transform the performer into the look and color palette of the reference image while keeping the same dance timing",
    "resolution": "1080P",
    "duration": 6,
    "audio_setting": "auto"
  }'

إذا استمرت النتيجة في الانحراف، فإن الإصلاح المعتاد ليس نصًا أطول. بل هو نص أدق مع صورة مرجعية أفضل.

المعلمات الرئيسية التي يجب أن تهتم بها حقًا

المعلمة النوع مطلوب ما تقوم به
video_url string نعم الفيديو المصدر المراد تحريره
prompt string نعم يصف التحول المستهدف
reference_image_url string لا صورة مرجعية لتوجيه المظهر والأسلوب
resolution string لا دقة الإخراج، القيم الموثقة تشمل 720P و1080P
duration integer لا طول الإخراج المستهدف بالثواني؛ 0 يحافظ على طول فيديو الإدخال الكامل
audio_setting string لا يتحكم في سلوك توليد الصوت
prompt_extend boolean لا يسمح للنموذج بتوسيع النصوص القصيرة تلقائيًا
seed integer لا يحسن قابلية إعادة الإنتاج عبر المحاولات المتكررة

تحقق من مرجع المعلمات الرسمي قبل افتراض القيم الافتراضية. تتغير حقول نماذج الفيديو أكثر من حقول نماذج النص، ومن السهل ارتكاب أخطاء في قيود الإخراج إذا اعتمدت على الذاكرة.

القيود الموثقة والقيود العملية

اعتبارًا من 29 يوليو 2026، توثق وثائق Novita الرسمية لـ Wan 2.7 VideoEdit هذه الحدود:

  • الدقة المدعومة: 720P و1080P
  • duration الافتراضي هو 0، مما يعني طول فيديو الإدخال الكامل؛ نطاق مدة الإخراج الصريح الموثق هو 2 إلى 10 ثوانٍ عند تعيينها
  • تنسيقات فيديو الإدخال: mp4 وmov
  • حد حجم فيديو الإدخال: حتى 100 ميغابايت
  • تنسيقات الصور المرجعية: jpg، jpeg، png، webp
  • حد حجم الصورة المرجعية: حتى 20 ميغابايت
  • تنسيق فيديو الإخراج: mp4

من السهل تفويت هذه القيود عند بناء خط أنابيب وسائط عام. فشل التكامل الأكثر شيوعًا هو إرسال ملف مصدر أطول أو أكبر مما تقبله نقطة النهاية.

آثار عملية اثنان:

  1. إذا كنت تريد أن يحافظ المقطع المحرر على طول المصدر، فاحذف duration أو اضبطه على 0 بدلاً من فرض تقليم 2-10 ثوانٍ.
  2. إذا كنت تختبر النصوص بسرعة، استخدم 720P أولاً وانتقل إلى 1080P فقط عندما يعمل التحول.

مثال بلغة 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_edit(
    video_url: str,
    prompt: str,
    reference_image_url: str | None = None,
    resolution: str = "720P",
    duration: int = 0,
    audio_setting: str = "auto",
    prompt_extend: bool = True,
    seed: int | None = None,
) -> str:
    payload = {
        "video_url": video_url,
        "prompt": prompt,
        "resolution": resolution,
        "duration": duration,
        "audio_setting": audio_setting,
        "prompt_extend": prompt_extend,
    }
    if reference_image_url:
        payload["reference_image_url"] = reference_image_url
    if seed is not None:
        payload["seed"] = seed

    resp = requests.post(
        f"{BASE_URL}/v3/async/wan2.7-videoedit",
        headers=HEADERS,
        json=payload,
        timeout=60,
    )
    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},
            timeout=60,
        )
        resp.raise_for_status()
        data = resp.json()
        status = data.get("task", {}).get("status")

        if status == "TASK_STATUS_SUCCEED":
            return data
        if status == "TASK_STATUS_FAILED":
            reason = data.get("task", {}).get("reason", "unknown")
            raise RuntimeError(f"Task {task_id} failed: {reason}")

        time.sleep(interval)

    raise TimeoutError(f"Task {task_id} did not complete within {timeout}s")


if __name__ == "__main__":
    task_id = submit_video_edit(
        video_url="https://example.com/source-clip.mp4",
        prompt="Change the street scene into a rainy retro-futurist city at night, preserve the original tracking shot",
        reference_image_url="https://example.com/reference-frame.png",
        resolution="720P",
        duration=0,
        seed=42,
    )
    print(f"Submitted task: {task_id}")

    result = poll_result(task_id)
    video = result["videos"][0]
    print("Edited video URL:", video["video_url"])
    print("URL TTL:", video["video_url_ttl"])

مثال cURL مع استقصاء شل

TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/source-clip.mp4",
    "prompt": "Convert the clip into a hand-drawn anime city scene, preserve the running motion",
    "resolution": "720P",
    "duration": 0,
    "prompt_extend": true
  }' | jq -r '.task_id')

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
  fi

  if [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
    echo "$RESULT"
    break
  fi

  sleep 5
done

إذا كنت تدمج من خدمة خلفية، فلف حلقة الاستقصاء هذه في عامل (worker) بدلاً من إبقاء طلب المستخدم مفتوحًا خلال نافذة التوليد الكاملة.

التسعير والائتمانات وما يجب التحقق منه قبل تقدير التكلفة

تقدم Novita AI التسعير لنماذج الفيديو على صفحات النماذج والتسعير الخاصة بها، لكن هذه الأرقام قد تتغير. بالنسبة لـ Wan 2.7 VideoEdit، تحقق من الأسعار الحالية مباشرة من صفحة تسعير Novita AI وإدخال النموذج المرتبط من الوثائق الرسمية قبل نشر تقديرات التكلفة الموجهة للعملاء.

لتخطيط الهندسة، الافتراض الأكثر أمانًا هو:

  • التكلفة تتدرج مع إعدادات المقطع المُولّد، وليس فقط مع رسوم طلب ثابتة واحدة.
  • تشغيل 1080P هو خط أساس خاطئ للتكرار.
  • المقاطع الأقصر أسهل في التحقق وأرخص في التصحيح.

إذا كنت تبني أدوات داخلية، تعامل مع البحث عن التسعير كأمر تكوين، وليس كثابت مضمّن في الكود.

أخطاء التكامل الشائعة

إرسال ملفات مرفوعة خام بدلاً من رابط يمكن الوصول إليه. يتوقع شكل الطلب الموثق مدخلات وسائط قائمة على رابط. تأكد من أن مقطع المصدر متاح بالفعل على رابط مستقر يمكن لخادمك الرجوع إليه.

استخدام VideoEdit لتغييرات الحركة. VideoEdit هي نقطة نهاية للتحول، وليس نقطة نهاية لتصميم الرقصات. إذا كانت الحركة الأصلية خاطئة، قم بإعادة التوليد باستخدام T2V أو I2V.

الخلط بين حدود فيديو المصدر والصورة المرجعية. فيديو المصدر هو الأصل الأكبر: mp4/mov، حتى 100 ميغابايت. الحد الأصغر البالغ 20 ميغابايت ينطبق على reference_image_url، وليس video_url.

الاستقصاء بعدوانية شديدة. الوصول إلى نقطة نهاية نتيجة المهمة كل ثانية غير ضروري لمهام الفيديو التي تستغرق عدة ثوانٍ. عادةً ما تكون فاصل زمني من 5 إلى 10 ثوانٍ نقطة بداية أفضل.

تجاهل مدة صلاحية رابط URL. رابط النتيجة مؤقت. قم بحفظ الأصل فورًا إذا كان المقطع المحرر مهمًا في المراحل اللاحقة.

تخطي خصوصية النص. “اجعله أفضل” ليس نص تحرير. صف الأسلوب المستهدف والبيئة ومعالجة الموضوع والحركة التي يجب أن تبقى دون تغيير.

أي نقطة نهاية Wan 2.7 يجب أن تختار؟

استخدم هذه القاعدة السريعة:

  • اختر VideoEdit عندما يكون لديك بالفعل فيديو مصدر.
  • اختر I2V عندما يكون لديك صورة مصدر أو تريد الاستمرار من سير عمل قائم على الصور الثابتة.
  • اختر T2V عندما يكون لديك نص فقط.
  • اختر R2V عندما تكون تناسق الهوية والتحكم في الشخصيات المرجعية أكثر أهمية من تحرير مقطع موجود.

هذا الفصل هو ما يبقي تكاملك بسيطًا. غالبًا ما تفرط الفرق في استخدام تحويل النص إلى فيديو للمهام التي هي في الواقع مشاكل تحرير قائمة على النص.

إذا كنت تقوم بتنسيق التنسيق حول نقطة النهاية هذه، قارن دليل البدء السريع Macaron V1 Tall على Novita AI وQwen3.8-Max على Novita AI للحصول على نقاط ارتساء نموذجية أعلى وزنًا.

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

ما هي نقطة نهاية Novita AI لـ Wan 2.7 VideoEdit؟

POST https://api.novita.ai/v3/async/wan2.7-videoedit. تعيد task_id، ثم تستقصي GET https://api.novita.ai/v3/async/task-result?task_id=<id> للاكتمال.

هل يمكنني تقديم صورة مرجعية مع فيديو المصدر؟

نعم. يدعم شكل الطلب الموثق reference_image_url اختياريًا إلى جانب video_url وprompt، وهو مفيد لتوجيه المظهر النهائي بشكل أدق.

ما طول الفيديو الذي يدعمه Wan 2.7 VideoEdit على Novita AI؟

كما هو موثق في 29 يوليو 2026، القيمة الافتراضية لـ duration هي 0، مما يعني طول فيديو الإدخال الكامل. إذا قمت بتعيين duration بشكل صريح، فإن النطاق الموثق هو 2-10 ثوانٍ.

هل يقبل Wan 2.7 VideoEdit مقاطع فيديو مصدر كبيرة؟

نعم، ضمن الحد الموثق. تسرد الوثائق الرسمية إدخال mp4/mov حتى 100 ميغابايت. الحد المنفصل البالغ 20 ميغابايت ينطبق على الصورة المرجعية الاختيارية.

هل يجب أن أستخدم Wan 2.7 VideoEdit أم Wan 2.7 I2V؟

استخدم VideoEdit إذا كان لديك بالفعل مقطع وتريد تحويله. استخدم I2V إذا كانت نقطة البداية هي صورة ثابتة أو سير عمل قائم على الصور.

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