Video Modelskling-ai

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

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

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

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

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

مدل v2.1-standard-image-to-video یک مدل هوش مصنوعی است که توسط ای‌آی‌کار (AI-KAR) ارائه شده و بر اساس معماری Kling 2.1 توسعه یافته است. این مدل قادر است با دریافت یک تصویر و یک توضیح متنی (prompt)، یک ویدیوی کوتاه با کیفیت 1080p تولید کند. این مدل یک گزینه مقرون به صرفه برای تولید ویدیوهای با کیفیت بالا محسوب می‌شود. **کاربردهای مدل:** * **تبدیل تصاویر استاتیک به ویدیوهای پویا:** با استفاده از این مدل، می‌توانید تصاویر ثابت خود را به ویدیوهای جذاب و پویا تبدیل کنید. به عنوان مثال، می‌توانید یک عکس از یک منظره را به یک ویدیوی کوتاه با حرکت ابرها و درختان تبدیل کنید. * **تولید محتوای تبلیغاتی:** این مدل می‌تواند برای تولید محتوای تبلیغاتی کوتاه و جذاب برای شبکه‌های اجتماعی و وب‌سایت‌ها مورد استفاده قرار گیرد. با ارائه یک تصویر از محصول و یک توضیح کوتاه، می‌توانید یک ویدیوی تبلیغاتی ایجاد کنید. * **ایجاد ویدیوهای آموزشی:** با استفاده از این مدل، می‌توانید تصاویر و نمودارها را به ویدیوهای آموزشی تبدیل کنید. این کار می‌تواند به درک بهتر مفاهیم کمک کند. * **تولید محتوای سرگرم‌کننده:** این مدل می‌تواند برای تولید ویدیوهای سرگرم‌کننده و خلاقانه مورد استفاده قرار گیرد. به عنوان مثال، می‌توانید یک عکس از یک شخصیت کارتونی را به یک ویدیوی کوتاه با انجام حرکات خنده‌دار تبدیل کنید. **نحوه کارکرد مدل:** مدل v2.1-standard-image-to-video از دو مرحله اصلی برای تولید ویدیو استفاده می‌کند: 1. **ایجاد و ارسال درخواست تولید ویدیو:** در این مرحله، یک درخواست به سرور ارسال می‌شود که شامل تصویر ورودی، توضیح متنی (prompt) و سایر پارامترهای مورد نیاز است. سرور یک شناسه تولید (generation ID) را به عنوان پاسخ برمی‌گرداند. 2. **دریافت ویدیوی تولید شده:** با استفاده از شناسه تولید (generation ID)، می‌توان وضعیت تولید ویدیو را بررسی کرد. هنگامی که وضعیت تولید به "complete" تغییر کرد، می‌توان ویدیوی تولید شده را از سرور دریافت کرد. **مزایای استفاده از مدل:** * **کیفیت بالا:** این مدل قادر است ویدیوهایی با کیفیت 1080p تولید کند. * **مقرون به صرفه:** این مدل یک گزینه مقرون به صرفه برای تولید ویدیوهای با کیفیت بالا محسوب می‌شود. * **استفاده آسان:** استفاده از این مدل بسیار آسان است و نیاز به دانش تخصصی ندارد. * **سرعت بالا:** فرآیند تولید ویدیو با استفاده از این مدل نسبتاً سریع است. **محدودیت‌ها:** * **طول ویدیو:** طول ویدیوهای تولید شده با این مدل محدود است (5 یا 10 ثانیه). * **کیفیت تصویر ورودی:** کیفیت تصویر ورودی بر کیفیت ویدیوی تولید شده تأثیر می‌گذارد. * **درک زبان فارسی:** مدل در درک زبان فارسی ممکن است با محدودیت‌هایی روبرو باشد (توضیحات بیشتر در بخش Persian Support Info). با توجه به قابلیت‌ها و مزایای ذکر شده، مدل v2.1-standard-image-to-video یک ابزار قدرتمند برای تولید ویدیوهای کوتاه و جذاب از تصاویر است.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو. مقدار ثابت: kling-video/v2.1/standard/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) معیاری است برای اینکه مدل چقدر به prompt شما پایبند باشد.
external_task_id
string
شناسه وظیفه سفارشی.
generation_id
stringRequired
شناسه تولید ویدیو که از درخواست قبلی دریافت شده است.

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

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

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

# 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/standard/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
    }
  }
}