Video Modelskling-ai

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

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

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

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

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

مدل v2.1-master-image-to-video از kling-ai یک مدل پیشرفته هوش مصنوعی است که توسط ای ای کار (AI-KAR) ارائه شده و قادر است تصاویر را به ویدیوهای جذاب و با کیفیت تبدیل کند. این مدل با بهره‌گیری از تکنولوژی‌های نوین، امکان ایجاد ویدیوهایی با حرکت روان، جلوه‌های بصری سینمایی و دقت بالا در اجرای دستورات متنی (prompt) را فراهم می‌سازد. این مدل به ویژه برای تولید محتوای خلاقانه، تبلیغات، آموزش و سرگرمی بسیار مناسب است. یکی از ویژگی‌های برجسته این مدل، توانایی آن در حفظ جزئیات و کیفیت تصویر اصلی در ویدیوهای تولید شده است. به این ترتیب، کاربران می‌توانند با اطمینان از اینکه ویدیوهای تولید شده از وضوح و شفافیت بالایی برخوردار هستند، از آن استفاده کنند. همچنین، مدل v2.1-master-image-to-video از الگوریتم‌های پیشرفته‌ای برای تشخیص و پردازش تصاویر استفاده می‌کند که باعث می‌شود ویدیوهای تولید شده دارای حرکتی طبیعی و بدون نقص باشند. این مدل امکانات متنوعی را در اختیار کاربران قرار می‌دهد. به عنوان مثال، کاربران می‌توانند با استفاده از پارامتر `prompt`، توضیحات متنی دقیقی از صحنه، موضوع یا عملی که می‌خواهند در ویدیو تولید شود، ارائه دهند. مدل با تحلیل این توضیحات، سعی می‌کند تا حد امکان ویدیو را مطابق با خواسته کاربر تولید کند. همچنین، کاربران می‌توانند از پارامتر `image_url` برای ارائه یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر Base64-encoded استفاده کنند که به عنوان پایه بصری یا اولین فریم ویدیو عمل می‌کند. علاوه بر این، مدل v2.1-master-image-to-video امکان استفاده از ماسک‌های استاتیک و دینامیک را نیز فراهم می‌کند. با استفاده از ماسک‌های استاتیک، کاربران می‌توانند ناحیه‌های خاصی از تصویر را برای اعمال تغییرات یا افکت‌های ویژه مشخص کنند. ماسک‌های دینامیک نیز امکان کنترل دقیق‌تر حرکت و تغییرات در طول ویدیو را فراهم می‌کنند. این ویژگی‌ها به کاربران امکان می‌دهند تا ویدیوهایی با جلوه‌های بصری پیچیده و جذاب ایجاد کنند. پارامترهای پیشرفته‌تری مانند `camera_control` و `negative_prompt` نیز در این مدل وجود دارند. پارامتر `camera_control` به کاربران امکان می‌دهد تا پارامترهای مربوط به دوربین را به صورت دقیق کنترل کنند و ویدیوهایی با زوایای دید و حرکات دوربین دلخواه ایجاد کنند. پارامتر `negative_prompt` نیز به کاربران این امکان را می‌دهد تا عناصری که نمی‌خواهند در ویدیو وجود داشته باشند را مشخص کنند. این ویژگی به ویژه برای جلوگیری از تولید ویدیوهایی با محتوای نامناسب یا ناخواسته بسیار مفید است. در نهایت، مدل v2.1-master-image-to-video با ارائه امکاناتی مانند تنظیم طول ویدیو (`duration`) و مقیاس CFG (`cfg_scale`)، به کاربران این امکان را می‌دهد تا ویدیوهایی کاملاً سفارشی و مطابق با نیازهای خود تولید کنند. این مدل با دقت بالا در اجرای دستورات متنی و کیفیت بالای ویدیوهای تولید شده، یک ابزار قدرتمند برای تولید محتوای ویدیویی خلاقانه و جذاب است.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار ثابت: klingai/v2.1-master-image-to-video
مقادیر مجاز (کلیک برای کپی):
image_url
stringRequired
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر Base64-encoded که به عنوان پایه بصری یا اولین فریم ویدیو عمل می‌کند.
prompt
string
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود. (اختیاری)
type
string
نوع تولید ویدیو. (اختیاری)
مقادیر مجاز (کلیک برای کپی):
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
base_url = "https://api.ai-kar.com/v1"
api_key = "<YOUR_API_KEY>"
# 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": "klingai/v2.1-master-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()
        # 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/kling/generation"
    params = {
        "generation_id": gen_id,
    }
    # Insert your AI-KAR API Key instead of <YOUR_AI-KARAPI_KEY>:
    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
    }
  }
}