Video Modelskling-ai
معرفی و مستندات مدل هوش مصنوعی v1.6-standard-effects
مستندات مدل v1.6-standard-effects از ای آی کار (AI-KAR) برای تولید ویدیوهای کوتاه با افکتهای ویژه.
معرفی و بررسی فنی
⚡ وضعیت پشتیبانی از زبان فارسی
این مدل از زبان فارسی به صورت ضعیف پشتیبانی میکند و بیشتر برای پردازش تصاویر و اعمال افکتها طراحی شده است.
مدل هوش مصنوعی v1.6-standard-effects، ارائه شده توسط ای آی کار (AI-KAR)، یک مدل تخصصی در زمینه تولید ویدیوهای کوتاه است که بر اساس تصاویر مرجع از افراد، کلیپهای جذابی را با اعمال افکتهای از پیش تعیین شده ایجاد میکند. این مدل قادر است سناریوهای مختلفی را پیادهسازی کند: دو نفر که یکدیگر را در آغوش میگیرند، همدیگر را میبوسند، یا با دستان خود شکل قلب را ایجاد میکنند (که نیازمند دو تصویر مرجع است)، یا یک نفر به صورت خندهداری مانند خمیر بازی له میشود یا مانند یک بادکنک باد میشود (که نیازمند یک تصویر مرجع است).
به طور تئوری، میتوان نتایج قابل قبولی برای افکتهای له شدن (squish) و باد شدن (expansion) حتی با استفاده از عکسهای حیوانات، اشیاء بیجان یا حتی مناظر به دست آورد. خروجی ممکن است غیرمعمول باشد، اما ویدیو تولید خواهد شد. با این حال، اگر سعی کنید از چنین عکسهایی با افکتهای آغوش (hug)، بوسه (kiss) یا قلب (heart_gesture) استفاده کنید، با خطایی مبنی بر "تشخیص چهره در تصویر ممکن نیست" مواجه خواهید شد.
این مدل از طریق دو endpoint API قابل دسترسی است. Endpoint اول برای ایجاد و ارسال یک وظیفه تولید ویدیو به سرور است که یک شناسه تولید (generation ID) را برمیگرداند. Endpoint دوم برای درخواست و دریافت ویدیوی تولید شده از سرور با استفاده از شناسه تولید دریافتی از Endpoint اول است.
برای افکتهایی که شامل دو تصویر هستند، تصویر اول همیشه در سمت چپ ویدیو و تصویر دوم در سمت راست ظاهر میشود. بنابراین، برای دستیابی به طبیعیترین نتیجه، ممکن است گاهی اوقات نیاز به تعویض ترتیب تصاویر باشد. در ویدیوهایی که یک شخص واحد در آن حضور دارد (افکتهای له شدن و باد شدن)، یک آهنگ صوتی نیز تولید میشود - ترکیبی از موسیقی و صداهای تعامل مواد، مانند صدای جیر جیر لاستیک و جلوههای مشابه. این مدل با بهرهگیری از الگوریتمهای پیشرفته یادگیری عمیق، قادر است تا با دقت بالایی حرکات و حالات چهره را تشخیص داده و افکتهای مورد نظر را به شکلی واقعگرایانه بر روی ویدیو اعمال کند. همچنین، این مدل به طور مداوم در حال بهبود و توسعه است تا بتواند افکتهای جدید و متنوعتری را ارائه دهد و کیفیت ویدیوهای تولید شده را ارتقا بخشد. ای آی کار (AI-KAR) با ارائه این مدل، گامی بزرگ در جهت تسهیل و تسریع فرآیند تولید ویدیوهای خلاقانه و جذاب برداشته است.
به طور تئوری، میتوان نتایج قابل قبولی برای افکتهای له شدن (squish) و باد شدن (expansion) حتی با استفاده از عکسهای حیوانات، اشیاء بیجان یا حتی مناظر به دست آورد. خروجی ممکن است غیرمعمول باشد، اما ویدیو تولید خواهد شد. با این حال، اگر سعی کنید از چنین عکسهایی با افکتهای آغوش (hug)، بوسه (kiss) یا قلب (heart_gesture) استفاده کنید، با خطایی مبنی بر "تشخیص چهره در تصویر ممکن نیست" مواجه خواهید شد.
این مدل از طریق دو endpoint API قابل دسترسی است. Endpoint اول برای ایجاد و ارسال یک وظیفه تولید ویدیو به سرور است که یک شناسه تولید (generation ID) را برمیگرداند. Endpoint دوم برای درخواست و دریافت ویدیوی تولید شده از سرور با استفاده از شناسه تولید دریافتی از Endpoint اول است.
برای افکتهایی که شامل دو تصویر هستند، تصویر اول همیشه در سمت چپ ویدیو و تصویر دوم در سمت راست ظاهر میشود. بنابراین، برای دستیابی به طبیعیترین نتیجه، ممکن است گاهی اوقات نیاز به تعویض ترتیب تصاویر باشد. در ویدیوهایی که یک شخص واحد در آن حضور دارد (افکتهای له شدن و باد شدن)، یک آهنگ صوتی نیز تولید میشود - ترکیبی از موسیقی و صداهای تعامل مواد، مانند صدای جیر جیر لاستیک و جلوههای مشابه. این مدل با بهرهگیری از الگوریتمهای پیشرفته یادگیری عمیق، قادر است تا با دقت بالایی حرکات و حالات چهره را تشخیص داده و افکتهای مورد نظر را به شکلی واقعگرایانه بر روی ویدیو اعمال کند. همچنین، این مدل به طور مداوم در حال بهبود و توسعه است تا بتواند افکتهای جدید و متنوعتری را ارائه دهد و کیفیت ویدیوهای تولید شده را ارتقا بخشد. ای آی کار (AI-KAR) با ارائه این مدل، گامی بزرگ در جهت تسهیل و تسریع فرآیند تولید ویدیوهای خلاقانه و جذاب برداشته است.
مشخصات فنی (API References)
| پارامتر | نوع | توضیحات و مقادیر |
|---|---|---|
model | stringRequired | مدل مورد استفاده برای تولید ویدیو. مقادیر مجاز (کلیک برای کپی): |
type | string | نوع عملیات. مقدار پیشفرض 'effects' است. مقادیر مجاز (کلیک برای کپی): |
effect_scene | stringRequired | نوع صحنه افکت ویدیو. مقادیر مجاز (کلیک برای کپی): |
image_url | string | string[]Required | آدرس یا آدرسهای URL تصویر. برای افکتهای hug، kiss و heart_gesture، یک آرایه شامل دقیقاً دو آدرس URL تصویر ارسال کنید. برای squish یا expansion، فقط یک آدرس URL تصویر مورد نیاز است. |
duration | integer | طول ویدیوی خروجی بر حسب ثانیه. مقادیر مجاز (کلیک برای کپی): |
نمونه کدهای درخواست
نکته مهم برای توسعهدهندگان:
برای احراز هویت، حتما کلید API خود را جایگزین YOUR_API_KEY کنید. هدر Authorization الزامی است.
import requests
import time
base_url = "https://api.ai-kar.com/v2"
api_key = "<YOUR_AI-KARAPI_KEY>"
ref_img_url1 = "https://images.pexels.com/photos/733872/pexels-photo-733872.jpeg"
ref_img_url2 = "https://storage.googleapis.com/falserverless/juggernaut_examples/QEW5VrzccxGva7mPfEXjf.png"
# 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/kling-video-v1.6-standard-effects",
"image_url": [ref_img_url1, ref_img_url2],
"duration": 5,
"effect_scene": "kiss"
}
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("Gen_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
}
}
}