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
}
}
}