Video Modelsalibaba-cloud

معرفی و مستندات مدل هوش مصنوعی wan-2.5-preview-text-to-video

مستندات مدل تولید ویدیو از متن wan-2.5-preview-text-to-video ارائه شده توسط ای آی کار (AI-KAR)

معرفی و بررسی فنی

⚡ وضعیت پشتیبانی از زبان فارسی

این مدل از زبان فارسی به صورت متوسط پشتیبانی می‌کند. درک مفاهیم کلی را دارد اما ممکن است در جزئیات و ظرافت‌های زبانی دچار مشکل شود. برای نتایج بهتر، توصیه می‌شود از عبارات ساده و واضح استفاده کنید.

معرفی مدل wan-2.5-preview-text-to-video

این مدل هوش مصنوعی، که توسط Alibaba Cloud توسعه یافته، قادر است ویدیوهایی با کیفیت تا 1080p را از روی متن تولید کند. یکی از ویژگی‌های برجسته این مدل، امکان صداگذاری بر روی شخصیت‌های ویدیو با هماهنگی کامل لب‌ها (lip-sync) است. برای این کار، کافی است دیالوگ مورد نظر را مستقیماً در پارامتر prompt وارد کنید.

این مدل به شما امکان می‌دهد تا ایده‌های خود را به ویدیو تبدیل کنید، بدون نیاز به تجهیزات فیلم‌برداری یا دانش تخصصی در زمینه تولید ویدیو. با استفاده از این مدل، می‌توانید به سرعت و به آسانی ویدیوهای تبلیغاتی، آموزشی، یا سرگرم‌کننده تولید کنید.

نحوه استفاده

برای استفاده از این مدل، باید دو مرحله را طی کنید:

  1. ابتدا، یک درخواست ایجاد و ارسال وظیفه تولید ویدیو به سرور ارسال می‌کنید. این درخواست، یک شناسه (generation ID) را برمی‌گرداند.
  2. سپس، با استفاده از شناسه دریافتی، درخواست دریافت ویدیوی تولید شده را از سرور ارسال می‌کنید.

در ادامه، می‌توانید شمای API و نمونه‌هایی از نحوه فراخوانی هر دو endpoint را مشاهده کنید.

ویژگی‌های کلیدی

  • تولید ویدیو با کیفیت بالا: این مدل قادر است ویدیوهایی با رزولوشن تا 1080p تولید کند.
  • صداگذاری با هماهنگی لب‌ها: می‌توانید دیالوگ مورد نظر را در پارامتر prompt وارد کنید تا مدل به طور خودکار صداگذاری را با هماهنگی کامل لب‌ها انجام دهد.
  • کنترل جنبه‌های مختلف ویدیو: می‌توانید جنبه‌های مختلف ویدیو مانند نسبت تصویر (aspect ratio)، رزولوشن، و طول ویدیو را کنترل کنید.
  • استفاده آسان: استفاده از این مدل بسیار آسان است و نیاز به دانش تخصصی در زمینه تولید ویدیو ندارد.

موارد استفاده

  • تولید ویدیوهای تبلیغاتی: می‌توانید به سرعت و به آسانی ویدیوهای تبلیغاتی جذاب و موثر تولید کنید.
  • تولید ویدیوهای آموزشی: می‌توانید مفاهیم پیچیده را به صورت ویدیوهای آموزشی ساده و قابل فهم ارائه دهید.
  • تولید ویدیوهای سرگرم‌کننده: می‌توانید ایده‌های خلاقانه خود را به ویدیوهای سرگرم‌کننده تبدیل کنید.

این مدل یک ابزار قدرتمند برای تولید ویدیو است که می‌تواند به شما در رسیدن به اهدافتان کمک کند. با استفاده از این مدل، می‌توانید به سرعت و به آسانی ویدیوهایی با کیفیت بالا تولید کنید و ایده‌های خود را به واقعیت تبدیل کنید.

مشخصات فنی (API References)

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدلی که برای تولید ویدیو استفاده می‌شود.
مقادیر مجاز (کلیک برای کپی):
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود. حداقل طول: 1 کاراکتر، حداکثر طول: 800 کاراکتر.
aspect_ratio
string
نسبت تصویر ویدیوی تولید شده. مقدار پیش‌فرض: 16:9
مقادیر مجاز (کلیک برای کپی):
resolution
string
رزولوشن ویدیوی تولید شده. ضلع کوچک‌تر فریم ویدیو، رزولوشن را تعیین می‌کند. مقدار پیش‌فرض: 720p
مقادیر مجاز (کلیک برای کپی):
duration
integer
طول ویدیوی خروجی بر حسب ثانیه.
مقادیر مجاز (کلیک برای کپی):
negative_prompt
string
توضیح عناصری که باید در ویدیوی تولید شده از آن‌ها اجتناب شود.
enable_prompt_expansion
boolean
فعال‌سازی یا غیرفعال‌سازی توسعه prompt. مقدار پیش‌فرض: true
seed
integer
تغییر مقدار seed، روشی برای دریافت نتایج مختلف برای پارامترهای درخواست یکسان است. استفاده از مقدار یکسان برای درخواست‌های یکسان، نتایج مشابهی تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.

نمونه کدهای درخواست

نکته مهم برای توسعه‌دهندگان:

برای احراز هویت، حتما کلید API خود را جایگزین YOUR_API_KEY کنید. هدر Authorization الزامی است.

import requests
import time

# Insert your AI-KAR API Key instead of <YOUR_AI-KARAPI_KEY>:
AI-KARapi_key = "<YOUR_AI-KARAPI_KEY>"
base_url = "https://api.ai-kar.com/v1"

# Creating and sending a video generation task to the server
def generate_video():
    url = f"{base_url}/generate/video/alibaba/generation"
    headers = {
        "Authorization": f"Bearer {AI-KARapi_key}",
    }
    data = {
        "model": "alibaba/wan2.5-t2v-preview",
        "prompt": '''
A racoon is happily eating an ice cream. Suddenly, he pauses, looks directly into the camera, and says with full confidence: "Hello, two-legged!" His lip movements perfectly match the speech. Then, in a strong Irish accent, he adds: "Wanna some?" — while extending the half-eaten ice cream toward the camera.
''',
        "resolution": "1080p"
    }
    response = requests.post(url, json=data, headers=headers)
    if response.status_code >= 400:
        print(f"Error: {response.status_code} - {response.text}")
    else:
        response_data = response.json()
        return response_data

# Requesting the result of the task from the server using the generation_id
def get_video(gen_id):
    url = f"{base_url}/generate/video/alibaba/generation"
    params = {
        "generation_id": gen_id,
    }
    headers = {
        "Authorization": f"Bearer {AI-KARapi_key}",
        "Content-Type": "application/json"
    }
    response = requests.get(url, params=params, headers=headers)
    return response.json()

def main():
    # Running video generation and getting a task id
    gen_response = generate_video()
    gen_id = gen_response.get("id")
    print("Generation ID:  ", gen_id)

    # Trying to retrieve the video from the server every 10 sec
    if gen_id:
        start_time = time.time()
        timeout = 1000
        while time.time() - start_time < timeout:
            response_data = get_video(gen_id)
            if response_data is None:
                print("Error: No response from API")
                break
            status = response_data.get("status")
            print("Status:", status)
            if status == "waiting" or status == "active" or  status == "queued" or status == "generating":
                print("Still waiting... Checking again in 10 seconds.")
                time.sleep(10)
            else:
                print("Processing complete:/n", response_data)
                return response_data
        print("Timeout reached. Stopping.")
        return None

if __name__ == "__main__":
    main()

نمونه پاسخ موفق (JSON)

RESPONSE (200 OK)
{
  "id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
  "status": "completed",
  "video": {
    "url": "#",
    "duration": 8
  },
  "duration": 8,
  "error": null,
  "meta": {
    "usage": {
      "tokens_used": 120000
    }
  }
}