Video Modelskling-ai

معرفی و مستندات مدل هوش مصنوعی v2.1-pro-image-to-video

مستندات مدل پیشرفته تولید ویدیو از تصویر، v2.1-pro-image-to-video، ارائه شده توسط ای ای کار (AI-KAR).

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

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

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

مدل v2.1-pro-image-to-video یک مدل هوش مصنوعی پیشرفته است که توسط تیم ای ای کار (AI-KAR) برای تولید ویدیوهای با کیفیت بالا از تصاویر ثابت توسعه داده شده است. این مدل بر اساس معماری Kling 2.1 ساخته شده و برای تولید ویدیوهای حرفه‌ای با دقت بصری بالا، حرکات دوربین روان و کنترل دقیق بر روی حرکت طراحی شده است. این مدل به ویژه برای داستان‌سرایی سینمایی مناسب است و به کاربران امکان می‌دهد تا تصاویر خود را به ویدیوهای جذاب و پویا تبدیل کنند.
این مدل از دو مرحله اصلی برای تولید ویدیو استفاده می‌کند. در مرحله اول، یک درخواست تولید ویدیو به سرور ارسال می‌شود و یک شناسه تولید (generation ID) دریافت می‌شود. در مرحله دوم، با استفاده از این شناسه، وضعیت تولید ویدیو بررسی می‌شود و پس از تکمیل، ویدیوی تولید شده از سرور دریافت می‌گردد. این فرآیند به کاربران امکان می‌دهد تا به طور موثر و کارآمد ویدیوهای خود را تولید کنند.
یکی از ویژگی‌های برجسته این مدل، توانایی آن در کنترل دقیق حرکات دوربین است. کاربران می‌توانند با استفاده از پارامترهای مختلف، حرکات دوربین را به دلخواه خود تنظیم کنند و ویدیوهایی با جلوه‌های بصری جذاب ایجاد کنند. همچنین، این مدل از ماسک‌های استاتیک و دینامیک پشتیبانی می‌کند که به کاربران امکان می‌دهد تا مناطق خاصی از تصویر را برای اعمال تغییرات و افکت‌ها انتخاب کنند.
مدل v2.1-pro-image-to-video از پارامترهای مختلفی برای کنترل فرآیند تولید ویدیو پشتیبانی می‌کند. کاربران می‌توانند با استفاده از پارامتر `image_url` یک تصویر را به عنوان پایه ویدیو ارائه دهند. پارامتر `prompt` به کاربران امکان می‌دهد تا توضیحات متنی برای صحنه، موضوع یا عملی که می‌خواهند در ویدیو تولید شود، ارائه دهند. پارامتر `negative_prompt` به کاربران امکان می‌دهد تا عناصری که می‌خواهند از ویدیو حذف شوند را مشخص کنند. همچنین، پارامتر `duration` به کاربران امکان می‌دهد تا طول ویدیو را در ثانیه تعیین کنند.
این مدل با هدف ارائه یک راهکار جامع و کارآمد برای تولید ویدیو از تصاویر ثابت توسعه یافته است و به کاربران امکان می‌دهد تا با استفاده از هوش مصنوعی، ویدیوهای با کیفیت بالا و جلوه‌های بصری جذاب ایجاد کنند. تیم ای ای کار (AI-KAR) به طور مداوم در حال بهبود و توسعه این مدل است تا نیازهای کاربران را به بهترین شکل ممکن برآورده کند. این مدل به ویژه برای تولیدکنندگان محتوا، بازاریابان و هنرمندانی که به دنبال ایجاد ویدیوهای جذاب و حرفه‌ای هستند، مناسب است.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار ثابت: `kling-video/v2.1/pro/image-to-video`.
مقادیر مجاز (کلیک برای کپی):
image_url
stringRequired
لینک مستقیم به یک تصویر آنلاین یا یک تصویر محلی کدگذاری شده با Base64 که به عنوان پایه بصری یا اولین فریم برای ویدیو استفاده می‌شود.
prompt
string
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود. (اختیاری)
type
string
نوع تولید ویدیو. مقدار ثابت: `image-to-video` (اختیاری)
مقادیر مجاز (کلیک برای کپی):
static_mask
string
آدرس اینترنتی تصویر ماسک برای ناحیه ایستا (تصویر ماسک ایجاد شده توسط کاربر با استفاده از قلم موشن). (اختیاری)
dynamic_masks
object[]
لیستی از ماسک‌های پویا. حداکثر 6 عدد. (اختیاری)
camera_control
object
پارامترهای پیشرفته کنترل دوربین. (اختیاری)
negative_prompt
string
توضیحات عناصری که باید از ویدیوی تولید شده اجتناب شوند. (اختیاری)
duration
integer
طول ویدیوی خروجی در ثانیه. (اختیاری)
مقادیر مجاز (کلیک برای کپی):
cfg_scale
number
مقیاس CFG (Classifier Free Guidance) معیاری است برای اینکه مدل چقدر به درخواست شما نزدیک باشد. مقدار پیش‌فرض: 0.5. حداکثر: 1. (اختیاری)
external_task_id
string
شناسه سفارشی وظیفه. (اختیاری)

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

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

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

import requests
import time

# Insert your AI-KAR API Key instead of <YOUR_AI-KARAPI_KEY>:
api_key = "<YOUR_AI-KARAPI_KEY>"
base_url = "https://api.ai-kar.com/v2"

# Creating and sending a video generation task to the server
def generate_video():
    url = f"{base_url}/generate/video/kling/generation"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "kling-video/v2.1/pro/image-to-video",
        "prompt": "Mona Lisa puts on glasses with her hands.",
        "image_url": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg",
        "duration": "5",
    }
    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/kling/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 = 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
    }
  }
}