Video Modelskrea

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

مستندات مدل تولید ویدیو از متن krea-wan-14b-text-to-video، ارائه شده توسط ای ای کار (AI-KAR).

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

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

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

مدل krea-wan-14b-text-to-video یک مدل هوش مصنوعی 14 میلیارد پارامتری است که برای تولید ویدیو از متن طراحی شده است. این مدل به شما امکان می‌دهد تا با ارائه یک توضیح متنی، ویدیویی با محتوای مورد نظر خود ایجاد کنید. این مدل از طریق API قابل دسترسی است و به توسعه‌دهندگان اجازه می‌دهد تا به راحتی آن را در برنامه‌های خود ادغام کنند. برای استفاده از این مدل، ابتدا باید یک کلید API از ای ای کار (AI-KAR) دریافت کنید. سپس می‌توانید با ارسال درخواست‌های HTTP به API، ویدیوهای مورد نظر خود را تولید کنید. این فرایند شامل دو مرحله است: ابتدا یک درخواست برای ایجاد یک وظیفه تولید ویدیو به سرور ارسال می‌کنید که یک شناسه تولید (generation ID) را برمی‌گرداند. سپس با استفاده از این شناسه، درخواست دیگری برای دریافت ویدیوی تولید شده از سرور ارسال می‌کنید. در این مدل، طول ویدیو بر اساس تعداد فریم‌ها تعیین می‌شود، نه ثانیه‌ها. شما می‌توانید با استفاده از نرخ فریم 16 فریم در ثانیه، طول ویدیو را به ثانیه محاسبه کنید. به عنوان مثال، اگر تعداد فریم‌ها 78 باشد، طول ویدیو تقریباً 4.875 ثانیه خواهد بود. این مدل از پارامترهای مختلفی برای کنترل فرایند تولید ویدیو پشتیبانی می‌کند، از جمله متن ورودی (prompt)، تعداد فریم‌ها (num_frames)، فعال‌سازی توسعه prompt (enable_prompt_expansion) و seed. با تغییر مقدار seed، می‌توانید نتایج مختلفی را برای یک درخواست یکسان بدست آورید. این مدل برای تولید ویدیوهای کوتاه و با کیفیت مناسب است و می‌تواند در زمینه‌های مختلفی مانند تولید محتوای تبلیغاتی، آموزشی و سرگرمی مورد استفاده قرار گیرد. دقت داشته باشید که کیفیت و مرتبط بودن ویدیو تولید شده به کیفیت و دقت متن ورودی (prompt) بستگی دارد. هرچه متن ورودی دقیق‌تر و جزئی‌تر باشد، ویدیوی تولید شده نیز به واقعیت نزدیک‌تر خواهد بود. همچنین، این مدل از منابع محاسباتی قابل توجهی استفاده می‌کند، بنابراین ممکن است زمان تولید ویدیو بسته به پیچیدگی درخواست، متغیر باشد.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار این پارامتر باید 'krea/krea-wan-14b/text-to-video' باشد.
مقادیر مجاز (کلیک برای کپی):
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود.
num_frames
integer
تعداد فریم‌هایی که باید تولید شوند. باید مضربی از 12 به اضافه 6 باشد (به عنوان مثال 18، 30، 42 و غیره). حداقل مقدار 18 و حداکثر 162 است.
enable_prompt_expansion
boolean
مشخص می‌کند که آیا توسعه prompt فعال شود یا خیر.
seed
integer
تغییر مقدار seed راهی برای دریافت نتایج مختلف برای پارامترهای درخواست یکسان است. استفاده از مقدار یکسان برای یک درخواست مشابه، نتایج مشابهی را تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.
generation_id
stringRequired
شناسه تولید (generation ID) که از درخواست ایجاد وظیفه تولید ویدیو دریافت شده است.

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

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

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

import requests
import time

# Insert your ای آی کار (AI-KAR) key instead of <YOUR_AI-KARAPI_KEY>:
api_key = "<YOUR_AI-KARAPI_KEY>"

# Creating and sending a video generation task to the server
def generate_video():
    url = "https://api.ai-kar.com/v1/video/generations"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "krea/krea-wan-14b/text-to-video",
        "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.",
        "num_frames": 90
    }
    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 = "https://api.ai-kar.com/v1/video/generations"
    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():
    # Generate video
    gen_response = generate_video()
    gen_id = gen_response.get("id")
    print("Generation ID:  ", gen_id)

    # Try 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
    }
  }
}