Video Modelskling-ai

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

مستندات مدل تبدیل تصویر به ویدیو v1-standard با استفاده از ای آی کار (AI-KAR)

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

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

این مدل از زبان فارسی در حد متوسط پشتیبانی می‌کند. استفاده از prompt های فارسی ممکن است نتایج را تحت تاثیر قرار دهد.

مدل v1-standard-image-to-video از kling-ai، یک ابزار قدرتمند است که به شما امکان می‌دهد تصاویر ثابت را به ویدیوهای پویا و جذاب تبدیل کنید. این مدل با دریافت یک تصویر به عنوان ورودی، قادر است با استفاده از هوش مصنوعی، محتوای ویدیویی مرتبط و هماهنگ با تصویر اولیه تولید کند. این فرایند شامل تحلیل تصویر، درک محتوای بصری، و تولید فریم‌های ویدیویی است که به طور پیوسته تصویر اولیه را به حرکت در می‌آورند. این مدل می‌تواند برای تولید محتوای تبلیغاتی، آموزشی، سرگرمی، و هنری مورد استفاده قرار گیرد. به عنوان مثال، می‌توانید یک تصویر از یک منظره طبیعی را به ویدیویی تبدیل کنید که در آن ابرها در حال حرکت هستند، آبشار جاری است، و پرندگان در آسمان پرواز می‌کنند. یا می‌توانید یک تصویر از یک محصول را به ویدیویی تبدیل کنید که ویژگی‌ها و مزایای آن را به نمایش می‌گذارد. این مدل از طریق API قابل دسترسی است و به توسعه‌دهندگان اجازه می‌دهد تا به راحتی آن را در برنامه‌ها و وب‌سایت‌های خود ادغام کنند. پارامترهای مختلفی برای کنترل فرایند تولید ویدیو وجود دارد، از جمله تعیین مدت زمان ویدیو، افزودن توضیحات متنی (prompt) برای هدایت مدل، و استفاده از تصاویر ماسک برای اعمال تغییرات خاص در نواحی مشخصی از تصویر. همچنین، امکان تعیین یک تصویر دیگر به عنوان فریم پایانی ویدیو نیز وجود دارد. این مدل با بهره‌گیری از الگوریتم‌های پیشرفته یادگیری عمیق، قادر است ویدیوهایی با کیفیت بالا و حرکات طبیعی تولید کند. دقت و کیفیت ویدیوهای تولید شده به عوامل مختلفی بستگی دارد، از جمله کیفیت تصویر ورودی، میزان وضوح توضیحات متنی، و تنظیمات پارامترهای مختلف. با این حال، به طور کلی، این مدل یک ابزار قدرتمند و کارآمد برای تبدیل تصاویر ثابت به ویدیوهای جذاب و پویا است. این مدل با درک محتوای تصویر و با استفاده از توضیحات متنی، می‌تواند ویدیوهایی تولید کند که نه تنها از نظر بصری جذاب هستند، بلکه از نظر معنایی نیز با تصویر اولیه مرتبط هستند. این امر باعث می‌شود که ویدیوهای تولید شده توسط این مدل، برای اهداف مختلفی از جمله تبلیغات، آموزش، و سرگرمی، مناسب باشند. همچنین، این مدل به کاربران امکان می‌دهد تا با استفاده از پارامترهای مختلف، فرایند تولید ویدیو را به طور دقیق کنترل کنند و ویدیوهایی تولید کنند که دقیقاً مطابق با نیازها و خواسته‌های آن‌ها باشند.

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

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

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

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

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

import requests
import time

# replace <YOUR_AI-KARAPI_KEY> with your actual ای آی کار (AI-KAR) 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/v1/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()
        # 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 = 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
    }
  }
}