Video Modelskrea

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

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

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

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

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

معرفی مدل krea-wan-14b-video-to-video

مدل krea-wan-14b-video-to-video یک مدل هوش مصنوعی پیشرفته است که برای ویرایش ویدیو طراحی شده است. این مدل با استفاده از 14 میلیارد پارامتر، قادر است ویدیوها را بر اساس توضیحات متنی (prompt) و ویدیوهای مرجع، تغییر دهد و ویرایش کند. این مدل به کاربران امکان می‌دهد تا با ارائه یک ویدیو و یک توضیح متنی، ویدیوهای جدیدی با محتوای دلخواه تولید کنند.

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

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

نحوه استفاده:

برای استفاده از این مدل، ابتدا باید یک حساب کاربری در ای آی کار (AI-KAR) ایجاد کنید و یک کلید API دریافت کنید. سپس، می‌توانید از طریق API، درخواست‌های خود را به مدل ارسال کنید. برای هر درخواست، باید یک ویدیو و یک توضیح متنی ارائه دهید. مدل پس از پردازش درخواست، یک ویدیوی جدید تولید می‌کند که می‌توانید آن را دانلود کنید.

مراحل فراخوانی API:

  1. ایجاد یک وظیفه تولید ویدیو: با ارسال یک درخواست POST به endpoint `/v2/video/generations`، یک وظیفه تولید ویدیو ایجاد کنید. این درخواست باید شامل مدل، prompt و URL ویدیو مرجع باشد.
  2. دریافت شناسه تولید (generation ID): پس از ایجاد وظیفه، یک شناسه تولید دریافت می‌کنید. این شناسه برای پیگیری وضعیت وظیفه و دریافت ویدیوی تولید شده استفاده می‌شود.
  3. دریافت ویدیوی تولید شده: با استفاده از شناسه تولید، می‌توانید وضعیت وظیفه را بررسی کنید. هنگامی که وضعیت وظیفه به `complete` تغییر کرد، می‌توانید ویدیوی تولید شده را از URL ارائه شده دانلود کنید.

نکات مهم:

  • کیفیت ویدیوی تولید شده به کیفیت ویدیو مرجع و دقت توضیح متنی بستگی دارد.
  • پردازش ویدیو ممکن است زمان‌بر باشد.
  • هزینه استفاده از مدل بر اساس میزان استفاده محاسبه می‌شود.

مدل krea-wan-14b-video-to-video یک ابزار قدرتمند برای ویرایش ویدیو است که به کاربران امکان می‌دهد تا ویدیوهای خلاقانه و منحصربه‌فردی تولید کنند. با استفاده از این مدل، می‌توانید ایده‌های خود را به واقعیت تبدیل کنید و ویدیوهایی تولید کنید که قبلاً تصور آن را هم نمی‌کردید.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار این فیلد باید `krea/krea-wan-14b/video-to-video` باشد.
مقادیر مجاز (کلیک برای کپی):
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود.
video_url
stringRequired
یک URL HTTPS که به یک ویدیو اشاره دارد یا یک URI داده حاوی یک ویدیو. این ویدیو به عنوان مرجع در طول تولید استفاده خواهد شد.
strength
number
قدرت حذف نویز برای تولید ویدیو-به-ویدیو. 0.0 ویدیو اصلی را حفظ می‌کند، 1.0 ویدیو را به طور کامل بازسازی می‌کند.
enable_prompt_expansion
boolean
فعال کردن یا غیرفعال کردن گسترش prompt.
seed
integer
تغییر عدد seed راهی برای دریافت نتایج مختلف برای پارامترهای درخواست مشابه است. استفاده از مقدار یکسان برای یک درخواست یکسان، نتایج مشابهی تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.

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

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

برای احراز هویت، حتما کلید 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/v2/video/generations"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "krea/krea-wan-14b/video-to-video",
        "video_url":"https://zovi0.github.io/public_misc/kling-v2-master-t2v-racoon.mp4",
        "prompt":'''
Add a small fairy as a rider on the raccoon’s back. She must have a black-and-golden face and a cloak in the colors of a dark emerald tropical butterfly with bright blue shimmering spots.
''',
        "strength": 0.55,
    }
    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/v2/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": "text",
  "status": "queued",
  "video": {
    "url": "https://example.com",
    "duration": 1
  },
  "duration": 1,
  "error": null,
  "meta": {
    "usage": {
      "tokens_used": 1
    }
  }
}