Video Modelsalibaba-cloud

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

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

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

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

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

معرفی مدل wan-2.1-turbo-text-to-video

مدل wan-2.1-turbo-text-to-video یک مدل تبدیل متن به ویدیو (T2V) است که توسط alibaba-cloud توسعه داده شده است. این مدل قادر است ویدیوهای صامت با کیفیت 480p و 720p را با نرخ تقریبی 30 فریم بر ثانیه تولید کند. این مدل برای تولید محتوای ویدیویی کوتاه از توضیحات متنی طراحی شده است و می‌تواند در زمینه‌های مختلفی مانند تولید پیش‌نمایش فیلم، ایجاد محتوای آموزشی، و تولید ویدیوهای تبلیغاتی مورد استفاده قرار گیرد.

نحوه کارکرد مدل

برای تولید ویدیو با استفاده از این مدل، باید یک متن توصیفی (prompt) به مدل ارائه دهید. این متن باید به طور واضح و مختصر صحنه، موضوع یا عملی که می‌خواهید در ویدیو نمایش داده شود را توصیف کند. مدل با استفاده از این متن، یک ویدیوی کوتاه تولید می‌کند که تا حد امکان با توصیفات ارائه شده مطابقت داشته باشد.

کاربردهای مدل

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

مزایای استفاده از مدل

  • سرعت بالا: تولید ویدیو با سرعت بالا و نرخ 30 فریم بر ثانیه.
  • کیفیت مناسب: تولید ویدیو با کیفیت 480p و 720p.
  • سهولت استفاده: استفاده آسان از مدل از طریق API.
  • تنوع کاربرد: کاربرد در زمینه‌های مختلف تولید محتوای ویدیویی.

محدودیت‌های مدل

  • صامت بودن ویدیو: ویدیوهای تولید شده صامت هستند و فاقد صدا می‌باشند.
  • محدودیت در طول ویدیو: طول ویدیوهای تولید شده محدود است.
  • نیاز به متن توصیفی دقیق: کیفیت ویدیو به شدت وابسته به دقت و وضوح متن توصیفی ارائه شده است.

به طور کلی، مدل wan-2.1-turbo-text-to-video یک ابزار قدرتمند برای تولید محتوای ویدیویی کوتاه از توضیحات متنی است. با استفاده از این مدل، می‌توانید به سرعت و به آسانی ویدیوهای جذاب و با کیفیتی را تولید کنید.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار این فیلد باید `alibaba/wan2.1-t2v-turbo` باشد.
مقادیر مجاز (کلیک برای کپی):
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود.
resolution
string
کیفیت و رزولوشن ویدیو تولید شده. مقادیر قابل قبول `480P` و `720P` هستند. مقدار پیش‌فرض `720P` است.
مقادیر مجاز (کلیک برای کپی):
aspect_ratio
string
نسبت تصویر ویدیو تولید شده. مقادیر قابل قبول `16:9`, `9:16`, `1:1`, `4:3` و `3:4` هستند. مقدار پیش‌فرض `16:9` است.
مقادیر مجاز (کلیک برای کپی):
negative_prompt
string
توضیحات عناصری که می‌خواهید در ویدیو از آنها اجتناب شود.
watermark
boolean
مشخص می‌کند که آیا ویدیو حاوی واترمارک باشد یا خیر. مقدار پیش‌فرض `false` است.
seed
integer
یک عدد صحیح برای تولید نتایج مختلف با پارامترهای مشابه. استفاده از یک مقدار یکسان برای درخواست‌های مشابه، نتایج مشابهی تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.
enable_prompt_expansion
boolean
مشخص می‌کند که آیا گسترش prompt فعال شود یا خیر. مقدار پیش‌فرض `true` است.

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

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

برای احراز هویت، حتما کلید 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.1-t2v-turbo",
        "prompt": '''
A menacing evil dragon appears in a distance above the tallest mountain, then rushes toward the camera with its jaws open, revealing massive fangs. We see it's coming.
'''
    }
    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
    }
  }
}