Claude Opus 5 is now live on CometAPI →
Q

Wan2.7

في الثانية:$0.08
تاريخ الإصدار:May 31, 2026

Wan2.7 هو نموذج لتوليد الفيديو مصمم للتوليف البصري عالي الجودة ولتحسين اتساق الحركة. وهو مناسب لإنشاء محتوى سينمائي وعمليات سير عمل إنتاج الفيديو الاحترافية.

جديد
الاستخدام التجاري

المواصفات التقنية لـ Wan 2.7

البندWan 2.7 (Video Suite)
ProviderAlibaba Tongyi Lab
Model familyWan 2.7 Video Suite
ArchitectureMixture-of-Experts (MoE) بعدد معاملات 27B
Input typesنصوص، صور، فيديوهات، مراجع صوتية
Output typesمقاطع فيديو مولدة/محررة مع صوت اختياري
Supported modesتحويل النص إلى فيديو (T2V)، تحويل الصورة إلى فيديو (I2V)、 تحويل المرجع إلى فيديو (R2V)، تحرير الفيديو
Resolutionمخرجات 720P و 1080P
Video duration2–15 ثانية
Audio supportتوليد صوتي أصيل، مراجع صوتية، تدفقات عمل لمزامنة حركة الشفاه
Reference capabilityصور/فيديوهات متعددة المراجع، اتساق الهوية
Character consistencyيدعم عدة مواضيع مرجعية بحسب سير العمل
Release generationخليفة رئيسي لـ Wan 2.6

ما هو Wan 2.7؟

Wan 2.7 هي حزمة توليد فيديو متعددة الوسائط رائدة من Alibaba، مصممة لعمليات صناعة الأفلام بالذكاء الاصطناعي القابلة للتحكم، وليس لمجرد إنشاء فيديو من مطالبة نصية. تجمع عائلة النماذج بين التوليد والتحرير والاستكمال والاتساق المستند إلى المراجع في نظام واحد، مما يتيح للمبدعين بناء مقاطع سينمائية قصيرة مع حفظ أقوى للموضوع وتحكم أفضل بالمشهد.

على عكس مولدات الفيديو السابقة التي ركزت أساساً على جودة المطالبة، يركز Wan 2.7 على القابلية للتحكم عبر تثبيت الإطارات، ومدخلات المراجع، ومزامنة الصوت، وتدفقات عمل متعددة اللقطات منظمة.

الميزات الرئيسية في Wan 2.7

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

أداء المعايير القياسية لـ Wan 2.7

تظل إتاحة المعايير العامة لـ Wan 2.7 محدودة مقارنةً بنماذج اللغة، لكن تقييمات أطراف ثالثة واختبارات المجتمع تشير إلى تحسن ملحوظ في استقرار الحركة والالتزام بالمطالبة والقابلية للتحكم مقارنةً بـ Wan 2.6.

تشمل الملاحظات الواردة من النظام البيئي ما يلي:

  • استمرارية حركة أقوى مقارنة بالإصدارات السابقة من Wan.
  • مراكز أعلى في لوحات الصدارة ضمن تقييمات تحويل النص إلى فيديو من أطراف ثالثة.
  • تحسن اتساق المواضيع المتعددة والحفاظ على المراجع.
  • تكامل صوتي أفضل من العديد من نماذج الفيديو المفتوحة السابقة.

لا تزال الشفافية الرسمية للمعايير محدودة، لذا ينبغي التعامل بحذر مع ادعاءات الأداء.

Wan 2.7 مقابل نماذج الفيديو الأخرى

الميزةWan 2.7Veo 3.1Seedance 2.0
تدفقات عمل صوتية أصليةقويقويمتوسط
اتساق مدفوع بالمراجعقويمتوسطمتوسط
تحكم بإطار البداية + النهايةنعمجزئيمحدود
تدفقات عمل تحرير الفيديونعمنعممحدود
أقصى دقة شائعة1080Pمخرجات سينمائية رفيعة المستوى1080P
دعم متعدد المراجعتركيز قويمتوسطمتوسط

قيود Wan 2.7

  • مدة المقطع قصيرة مقارنة بأدوات الإنتاج الطويلة.
  • الحد الأقصى 1080P يقيد تدفقات العمل فائقة الدقة.
  • قد تُظهر مشاهد الحركة السريعة شوائب عدم استقرار.
  • تزيد تدفقات العمل متعددة المراجع من التعقيد ومتطلبات هندسة المطالبات.
  • تظل تقارير المعايير العامة محدودة نسبياً.

حالات استخدام نموذجية

  1. أفلام قصيرة متسقة الشخصيات ولوحات القصة.
  2. مقاطع تسويقية مع مزامنة صوتية.
  3. توليد فيديو لوسائل التواصل الاجتماعي.
  4. تصوير المنتجات ومقاطع دعائية للمفاهيم.
  5. استكمال الفيديو واستيفاء المشاهد ضمن تدفقات العمل.
  6. تحريك الشخصيات والصور الرمزية اعتماداً على المراجع.

كيفية استخدام WAN 2.7 Video API في CometAPI

الخطوة 1: جرّب WAN 2.7 Video API في Kie Al Playground

أولاً، اختبر وظائف WAN 2.7 باستخدام WAN 2.7 Video API في ساحة اللعب الخاصة بـ CometAPI. حمّل صوراً، وأضف مطالبات، أو استخدم مراجع لمعاينة فيديو WAN المُولد قبل دمج فيديو WAN 2.7 بالذكاء الاصطناعي في سير الإنتاج لديك.

الخطوة 2: احصل على مفتاح WAN 2.7 API وراجع وثائق الـ API

احصل على مفتاح WAN 2.7 API من وحدة تحكم CometAPI وراجع الوثائق. افهم نقاط النهاية في WAN 2.7 Video API وآليات المصادقة والمعاملات لدعم تحويل النص إلى فيديو، وتحويل الصورة إلى فيديو، وتدفقات عمل فيديو WAN.

الخطوة 3: ولّد فيديوهات WAN 2.7 بالذكاء الاصطناعي وادمجها في سير عملك

استخدم WAN 2.7 Video API لتوليد فيديوهات WAN 2.7 بالذكاء الاصطناعي اعتماداً على المطالبات أو الصور أو المراجع. ادمج مخرجات WAN 2.7 في تدفقات عمل المنتجات، أو خطوط محتوى، أو أدوات الفيديو بالذكاء الاصطناعي لتمكين إنشاء فيديو قابل للتوسّع.

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

التسعير لـ Wan2.7

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

Wan Video Generation Pricing

Pricing (Per Second)

Model720p1080p
wan2.6$0.08$0.12
wan2.7$0.08$0.12

💡 Billed per second. Total cost = price per second × video duration (seconds).

نموذج الكود وواجهة برمجة التطبيقات لـ Wan2.7

احصل على أكواد نماذجية شاملة وموارد API لـ Wan2.7 لتبسيط عملية التكامل الخاصة بك. توفر وثائقنا التفصيلية إرشادات خطوة بخطوة، مما يساعدك على الاستفادة من الإمكانات الكاملة لـ Wan2.7 في مشاريعك.

# Create a video with wan2.7
# Step 1: Submit the video generation request
echo "Submitting video generation request..."
response=$(curl -s https://api.cometapi.com/v1/videos \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -F "model=wan2.7" \
  -F "prompt=Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam." \
  -F "seconds=5" \
  -F "size=1280x720")

echo "Response: $response"

# Extract video_id from response (handle JSON with spaces like "id": "xxx")
video_id=$(echo "$response" | tr -d '
' | sed 's/.*"id"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
echo "Video ID: $video_id"

# Step 2: Poll for progress until 100%
echo ""
echo "Checking video generation progress..."
while true; do
  status_response=$(curl -s "https://api.cometapi.com/v1/videos/$video_id" \
    -H "Authorization: Bearer $COMETAPI_KEY")

  progress=$(echo "$status_response" | grep -o '"progress"[[:space:]]*:[[:space:]]*"\?[^",}]*"\?' | head -1 | sed 's/.*:[[:space:]]*"\?//;s/"$//')
  status=$(echo "$status_response" | grep -o '"status"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"status"[[:space:]]*:[[:space:]]*"//;s/"$//')

  echo "Progress: $progress, Status: $status"

  if [ "$status" = "FAILURE" ] || [ "$status" = "failed" ] || [ "$status" = "error" ]; then
    echo "Video generation failed!"
    exit 1
  fi

  if [ "$progress" = "100%" ] || [ "$progress" = "100" ] || [ "$status" = "completed" ] || [ "$status" = "success" ]; then
    echo "Video generation completed!"
    break
  fi

  sleep 10
done

# Step 3: Download the video to output directory
echo ""
echo "Downloading video to ./output/$video_id.mp4..."
mkdir -p ./output
curl -s "https://api.cometapi.com/v1/videos/$video_id/content" \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -o "./output/$video_id.mp4"

if [ -f "./output/$video_id.mp4" ]; then
  echo "Video saved to ./output/$video_id.mp4"
  ls -la "./output/$video_id.mp4"
else
  echo "Failed to download video"
  exit 1
fi

cURL Code Example

# Create a video with wan2.7
# Step 1: Submit the video generation request
echo "Submitting video generation request..."
response=$(curl -s https://api.cometapi.com/v1/videos \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -F "model=wan2.7" \
  -F "prompt=Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam." \
  -F "seconds=5" \
  -F "size=1280x720")

echo "Response: $response"

# Extract video_id from response (handle JSON with spaces like "id": "xxx")
video_id=$(echo "$response" | tr -d '\n' | sed 's/.*"id"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
echo "Video ID: $video_id"

# Step 2: Poll for progress until 100%
echo ""
echo "Checking video generation progress..."
while true; do
  status_response=$(curl -s "https://api.cometapi.com/v1/videos/$video_id" \
    -H "Authorization: Bearer $COMETAPI_KEY")
  
  progress=$(echo "$status_response" | grep -o '"progress"[[:space:]]*:[[:space:]]*"\?[^",}]*"\?' | head -1 | sed 's/.*:[[:space:]]*"\?//;s/"$//')
  status=$(echo "$status_response" | grep -o '"status"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"status"[[:space:]]*:[[:space:]]*"//;s/"$//')
  
  echo "Progress: $progress, Status: $status"
  
  if [ "$status" = "FAILURE" ] || [ "$status" = "failed" ] || [ "$status" = "error" ]; then
    echo "Video generation failed!"
    exit 1
  fi
  
  if [ "$progress" = "100%" ] || [ "$progress" = "100" ] || [ "$status" = "completed" ] || [ "$status" = "success" ]; then
    echo "Video generation completed!"
    break
  fi
  
  sleep 10
done

# Step 3: Download the video to output directory
echo ""
echo "Downloading video to ./output/$video_id.mp4..."
mkdir -p ./output
curl -s "https://api.cometapi.com/v1/videos/$video_id/content" \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -o "./output/$video_id.mp4"

if [ -f "./output/$video_id.mp4" ]; then
  echo "Video saved to ./output/$video_id.mp4"
  ls -la "./output/$video_id.mp4"
else
  echo "Failed to download video"
  exit 1
fi

Python Code Example

# Create a video with wan2.7 using raw HTTP requests
import os
import time
import requests

api_key = os.environ.get("COMETAPI_KEY")
base_url = "https://api.cometapi.com/v1"
headers = {"Authorization": f"Bearer {api_key}"}

# Step 1: Submit the video generation request
print("Submitting video generation request...")
response = requests.post(
    f"{base_url}/videos",
    headers=headers,
    files={
        "model": (None, "wan2.7"),
        "prompt": (None, "Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam."),
        "seconds": (None, "5"),
        "size": (None, "1280x720"),
    },
)

result = response.json()
print(f"Response: {result}")

video_id = result.get("id") or result.get("task_id")
print(f"Video ID: {video_id}")

# Step 2: Poll for progress until 100%
print("\nChecking video generation progress...")
while True:
    try:
        status_response = requests.get(f"{base_url}/videos/{video_id}", headers=headers)
        status_result = status_response.json()

        data = status_result.get("data") or status_result
        progress = data.get("progress", "0%")
        status = data.get("status", "unknown")

        print(f"Progress: {progress}, Status: {status}")

        if status in ["FAILURE", "failed", "error"]:
            print("Video generation failed!")
            print(status_result)
            exit(1)

        if progress == "100%" or progress == 100 or status in ["completed", "success"]:
            print("Video generation completed!")
            break
    except Exception as e:
        print(f"Temporary error: {e}, retrying...")

    time.sleep(10)

# Step 3: Download the video to output directory
print(f"\nDownloading video to ./output/{video_id}.mp4...")
os.makedirs("./output", exist_ok=True)

video_response = requests.get(f"{base_url}/videos/{video_id}/content", headers=headers)

output_path = f"./output/{video_id}.mp4"
with open(output_path, "wb") as f:
    f.write(video_response.content)

if os.path.exists(output_path):
    file_size = os.path.getsize(output_path)
    print(f"Video saved to {output_path}")
    print(f"File size: {file_size} bytes")
else:
    print("Failed to download video")
    exit(1)

JavaScript Code Example

// Create a video with wan2.7 using raw HTTP requests
import fs from "fs";
import path from "path";

const apiKey = process.env.COMETAPI_KEY;
const baseUrl = "https://api.cometapi.com/v1";
const headers = { Authorization: `Bearer ${apiKey}` };

function sleep(ms) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

// Step 1: Submit the video generation request
console.log("Submitting video generation request...");
const formData = new FormData();
formData.append("model", "wan2.7");
formData.append("prompt", "Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam.");
formData.append("seconds", "5");
formData.append("size", "1280x720");

const submitResponse = await fetch(`${baseUrl}/videos`, {
  method: "POST",
  headers,
  body: formData,
});

const result = await submitResponse.json();
console.log("Response:", JSON.stringify(result, null, 2));

const videoId = result.id || result.task_id;
console.log("Video ID:", videoId);

// Step 2: Poll for progress until 100%
console.log("\nChecking video generation progress...");
while (true) {
  try {
    const statusResponse = await fetch(`${baseUrl}/videos/${videoId}`, { headers });
    const statusResult = await statusResponse.json();
    const data = statusResult.data || statusResult;
    const progress = data.progress || "0%";
    const status = data.status || "unknown";

    console.log(`Progress: ${progress}, Status: ${status}`);

    if (status === "FAILURE" || status === "failed" || status === "error") {
      console.log("Video generation failed!");
      console.log(JSON.stringify(statusResult, null, 2));
      process.exit(1);
    }

    if (progress === "100%" || progress === 100 || status === "completed" || status === "success") {
      console.log("Video generation completed!");
      break;
    }
  } catch (e) {
    console.log(`Temporary error: ${e.message}, retrying...`);
  }

  await sleep(10000);
}

// Step 3: Download the video to output directory
console.log(`\nDownloading video to ./output/${videoId}.mp4...`);
fs.mkdirSync("./output", { recursive: true });

const videoResponse = await fetch(`${baseUrl}/videos/${videoId}/content`, { headers });
const outputPath = path.join("./output", `${videoId}.mp4`);
fs.writeFileSync(outputPath, Buffer.from(await videoResponse.arrayBuffer()));

if (fs.existsSync(outputPath)) {
  const stats = fs.statSync(outputPath);
  console.log(`Video saved to ${outputPath}`);
  console.log(`File size: ${stats.size} bytes`);
} else {
  console.log("Failed to download video");
  process.exit(1);
}

إصدارات Wan2.7

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

Version
wan2.7