Video Modelsalibaba-cloud

معرفی و مستندات مدل هوش مصنوعی wan-2.2-14b-animate-move-image-to-video

مستندات مدل تولید انیمیشن و ویدیو از تصویر wan-2.2-14b-animate-move-image-to-video، ارائه شده توسط ای آی کار (AI-KAR).

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

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

این مدل از زبان فارسی به صورت ضعیف پشتیبانی می‌کند و ممکن است در درک دستورات پیچیده فارسی دچار مشکل شود.

مدل wan-2.2-14b-animate-move-image-to-video یک مدل هوش مصنوعی است که توسط Alibaba Cloud توسعه داده شده و برای تولید انیمیشن‌ها و ویدیوهای با کیفیت بالا از روی تصاویر و ویدیوهای ورودی طراحی شده است. این مدل قادر است حرکات و عبارات دقیق را از ویدیوهای مرجع استخراج کرده و به تصویر ورودی اعمال کند، در نتیجه انیمیشن‌های واقع‌گرایانه‌ای ایجاد می‌کند.

این مدل به طور خاص برای تولید انیمیشن‌های کاراکتر مناسب است و می‌تواند در زمینه‌های مختلفی مانند تولید محتوای سرگرمی، آموزش، تبلیغات و غیره مورد استفاده قرار گیرد. با استفاده از این مدل، کاربران می‌توانند به راحتی تصاویر ثابت را به ویدیوهای متحرک تبدیل کنند و محتوای جذاب و پویایی ایجاد کنند.

یکی از ویژگی‌های برجسته این مدل، دقت بالای آن در تشخیص و بازسازی حرکات است. مدل wan-2.2-14b-animate-move-image-to-video با تحلیل دقیق ویدیوهای مرجع، قادر است حرکات ظریف و پیچیده را به درستی تشخیص داده و به تصویر ورودی منتقل کند. این امر باعث می‌شود که انیمیشن‌های تولید شده بسیار طبیعی و واقع‌گرایانه به نظر برسند.

علاوه بر این، این مدل از قابلیت‌های پیشرفته‌ای برای تنظیم کیفیت و رزولوشن ویدیوهای خروجی برخوردار است. کاربران می‌توانند رزولوشن ویدیو را بین 480p، 580p و 720p انتخاب کنند و همچنین کیفیت ویدیو را بین حالت‌های low، medium، high و maximum تنظیم کنند. این امکان به کاربران اجازه می‌دهد تا ویدیوهای خروجی را با توجه به نیازهای خاص خود بهینه سازی کنند.

مدل wan-2.2-14b-animate-move-image-to-video همچنین از پارامترهای مختلفی برای کنترل فرآیند تولید انیمیشن پشتیبانی می‌کند. به عنوان مثال، کاربران می‌توانند با تنظیم پارامتر seed، نتایج مختلفی را برای یک درخواست مشابه به دست آورند. همچنین، پارامتر num_inference_steps به کاربران اجازه می‌دهد تا تعداد مراحل استنتاج را برای نمونه‌برداری تنظیم کنند. مقادیر بالاتر این پارامتر منجر به کیفیت بهتر ویدیو می‌شود، اما زمان پردازش را نیز افزایش می‌دهد.

این مدل همچنین دارای یک سیستم بررسی ایمنی است که قبل از پردازش، داده‌های ورودی را از نظر محتوای نامناسب بررسی می‌کند. این ویژگی به کاربران اطمینان می‌دهد که محتوای تولید شده توسط مدل، مطابق با استانداردهای اخلاقی و قانونی است.

به طور خلاصه، مدل wan-2.2-14b-animate-move-image-to-video یک ابزار قدرتمند و کارآمد برای تولید انیمیشن‌ها و ویدیوهای با کیفیت بالا از روی تصاویر و ویدیوهای ورودی است. این مدل با دقت بالا، قابلیت‌های تنظیم کیفیت و رزولوشن، و پارامترهای کنترلی متنوع، به کاربران امکان می‌دهد تا محتوای بصری جذاب و پویایی ایجاد کنند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدل. مقدار ثابت: alibaba/wan2.2-14b-animate-move
مقادیر مجاز (کلیک برای کپی):
video_url
stringRequired
آدرس URL ویدیوی ورودی.
image_url
stringRequired
آدرس URL تصویر ورودی. اگر تصویر ورودی با نسبت تصویر انتخاب شده مطابقت نداشته باشد، تغییر اندازه داده شده و از مرکز برش داده می‌شود.
resolution
string
رزولوشن ویدیوی تولید شده (480p، 580p یا 720p).
مقادیر مجاز (کلیک برای کپی):
seed
integer
تغییر عدد seed راهی برای به دست آوردن نتایج مختلف برای سایر پارامترهای درخواست یکسان است. استفاده از مقدار یکسان برای یک درخواست یکسان، نتایج مشابهی را تولید می‌کند. اگر مشخص نشده باشد، یک عدد تصادفی انتخاب می‌شود.
num_inference_steps
integer
تعداد مراحل استنتاج برای نمونه‌برداری. مقادیر بالاتر کیفیت بهتری می‌دهند اما زمان بیشتری می‌برند.
enable_safety_checker
boolean
اگر روی true تنظیم شود، داده‌های ورودی قبل از پردازش از نظر ایمنی بررسی می‌شوند.
shift
number
مقدار شیفت برای ویدیو. باید بین 1.0 و 10.0 باشد.
video_quality
string
کیفیت ویدیوی خروجی. کیفیت بالاتر به معنای کیفیت بصری بهتر اما حجم فایل بزرگتر است.
مقادیر مجاز (کلیک برای کپی):
video_write_mode
string
حالت نوشتن ویدیوی خروجی. حالت نوشتن سریعتر به معنای نتایج سریعتر اما حجم فایل بزرگتر است، حالت نوشتن متعادل یک مصالحه خوب بین سرعت و کیفیت است، و حالت نوشتن کوچکترین کندترین است اما کوچکترین اندازه فایل را تولید می‌کند.
مقادیر مجاز (کلیک برای کپی):

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

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

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

import requests
import time

# replace <YOUR_AI-KARAPI_KEY> with your actual ای آی کار (AI-KAR) key
api_key = "<YOUR_AI-KARAPI_KEY>"
base_url = "https://api.ai-kar.com/v1/video/generations"

# Creating and sending a video generation task to the server
def generate_video():
    url = f"{base_url}"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "alibaba/wan2.2-14b-animate-move",
        "video_url": "https://storage.googleapis.com/falserverless/example_inputs/wan_animate_input_video.mp4",
        "image_url": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg",
        "resolution": "720p",
    }
    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()
        print(response_data)
        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}"
    params = {
        "generation_id": gen_id,
    }
    headers = {
        "Authorization": f"Bearer {api_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 = 600
        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": "text",
  "status": "queued",
  "video": {
    "url": "https://example.com",
    "duration": 1
  },
  "duration": 1,
  "error": null,
  "meta": {
    "usage": {
      "tokens_used": 1
    }
  }
}