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