Video Modelspixverse

معرفی و مستندات مدل هوش مصنوعی v5-transition

مستندات مدل v5-transition از pixverse، ارائه شده توسط ای آی کار (AI-KAR)

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

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

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

مدل v5-transition از pixverse، که توسط ای آی کار (AI-KAR) ارائه شده است، یک مدل پیشرفته تبدیل تصویر به ویدیو است که به طور خاص برای تولید سکانس‌های ویدیویی طراحی شده است که می‌توانند به طور یکپارچه در یک ویرایشگر ویدیو ادغام شوند. این مدل با دریافت دو فریم ویدیویی به عنوان ورودی (فریم اول و فریم آخر)، قادر است یک ویدیوی پیوسته و با کیفیت تولید کند که بین این دو فریم انتقال می‌یابد. این ویژگی به کاربران امکان می‌دهد تا با تعیین ابتدا و انتهای یک صحنه، کنترل دقیقی بر محتوای ویدیویی داشته باشند.
یکی از ویژگی‌های برجسته این مدل، توانایی تولید ویدیوهایی با کیفیت بصری بالا است. نتایج حاصل از این مدل به طور مداوم شارپ، واقع‌گرایانه و با کیفیت سینمایی هستند. این امر باعث می‌شود که ویدیوهای تولید شده برای استفاده در پروژه‌های حرفه‌ای و تجاری مناسب باشند. مدل v5-transition از الگوریتم‌های پیشرفته‌ای برای حفظ جزئیات و بافت‌های موجود در تصاویر ورودی استفاده می‌کند، در نتیجه ویدیوهایی تولید می‌شوند که از نظر بصری جذاب و چشم‌نواز هستند.
این مدل دارای پارامترهای مختلفی است که به کاربران امکان می‌دهد تا خروجی ویدیو را سفارشی‌سازی کنند. به عنوان مثال، کاربران می‌توانند رزولوشن ویدیو را تعیین کنند (360p، 540p، 720p، 1080p) و همچنین مدت زمان ویدیو را مشخص کنند (5 یا 8 ثانیه). علاوه بر این، امکان تعیین یک prompt متنی برای توصیف صحنه، موضوع یا عملی که باید در ویدیو تولید شود وجود دارد. همچنین، کاربران می‌توانند یک negative prompt برای مشخص کردن عناصری که باید از ویدیو حذف شوند، ارائه دهند.
مدل v5-transition از ای آی کار (AI-KAR) همچنین از پارامتر style پشتیبانی می‌کند که به کاربران امکان می‌دهد تا سبک بصری ویدیو را تعیین کنند. سبک‌های مختلفی مانند anime، 3d_animation، clay، comic و cyberpunk در دسترس هستند. این ویژگی به کاربران امکان می‌دهد تا ویدیوهایی با سبک‌های مختلف هنری تولید کنند و خلاقیت خود را به نمایش بگذارند.
برای استفاده از این مدل، کاربران باید ابتدا یک کلید API از ای آی کار (AI-KAR) دریافت کنند. سپس، با استفاده از API ارائه شده، می‌توانند درخواست‌های تولید ویدیو را به سرور ارسال کنند. فرآیند تولید ویدیو شامل دو مرحله است: ابتدا یک درخواست برای ایجاد و ارسال یک وظیفه تولید ویدیو به سرور ارسال می‌شود (که یک شناسه تولید را برمی‌گرداند). سپس، با استفاده از این شناسه تولید، می‌توان ویدیو تولید شده را از سرور درخواست کرد.
در مجموع، مدل v5-transition از pixverse یک ابزار قدرتمند و انعطاف‌پذیر برای تولید ویدیوهای با کیفیت بالا است که می‌تواند در طیف گسترده‌ای از کاربردها مورد استفاده قرار گیرد. این مدل با ارائه امکانات سفارشی‌سازی متنوع و نتایج بصری چشم‌نواز، به کاربران امکان می‌دهد تا ویدیوهایی خلاقانه و جذاب تولید کنند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار ثابت: pixverse/v5/transition
مقادیر مجاز (کلیک برای کپی):
image_url
stringRequired
آدرس URL تصویری که به عنوان فریم اول ویدیو استفاده می‌شود.
tail_image_url
stringRequired
آدرس URL تصویری که به عنوان فریم آخر ویدیو استفاده می‌شود. می‌تواند یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر Base64-encoded باشد.
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که باید در ویدیو تولید شود.
resolution
string
رزولوشن ویدیو. سمت کوتاه فریم ویدیو، رزولوشن را تعیین می‌کند.
مقادیر مجاز (کلیک برای کپی):
duration
integer
طول ویدیو خروجی به ثانیه. گزینه کیفیت 1080p از ویدیوهای 8 ثانیه‌ای پشتیبانی نمی‌کند.
مقادیر مجاز (کلیک برای کپی):
negative_prompt
string
توضیحات عناصری که باید از ویدیو حذف شوند.
style
string
سبک ویدیوی تولید شده.
مقادیر مجاز (کلیک برای کپی):
seed
integer
تغییر مقدار seed باعث می‌شود نتایج متفاوتی برای پارامترهای درخواست یکسان به دست آید. استفاده از مقدار یکسان برای یک درخواست مشابه، نتایج مشابهی تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.

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

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

برای احراز هویت، حتما کلید 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"

# Creating and sending a video generation task to the server
def generate_video():
    url = f"{base_url}/generate/video/pixverse/generation"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "pixverse/v5/transition",
        "prompt": "Mona Lisa sits holding glasses in her hands, then puts them on, but changes her mind, takes them off, and hides them in a handbag on her lap. Then she smiles.",
        "image_url": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg",
        "tail_image_url": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg",
        "duration": 8
    }
    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}/generate/video/pixverse/generation"
    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": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
  "status": "completed",
  "video": {
    "url": "#",
    "duration": 8
  },
  "duration": 8,
  "error": null,
  "meta": {
    "usage": {
      "tokens_used": 120000
    }
  }
}