Video Modelsbytedance
معرفی و مستندات مدل هوش مصنوعی omnihuman
مستندات مدل تولید ویدیو از تصویر و صدا omnihuman، ارائه شده توسط ای ای کار (AI-KAR)
معرفی و بررسی فنی
⚡ وضعیت پشتیبانی از زبان فارسی
این مدل از زبان فارسی به صورت متوسط پشتیبانی میکند. درک متن فارسی در سطح قابل قبولی است اما ممکن است در تولید ویدیو با تلفظ دقیق کلمات فارسی مشکلاتی وجود داشته باشد.
مدل omnihuman یک فریمورک هوش مصنوعی پیشرفته از ByteDance است که ویدیوهای واقعگرایانه lip-sync را از یک تصویر و سیگنالهای حرکتی (صدا) تولید میکند. این مدل از سبکهای بصری و صوتی متعددی پشتیبانی میکند و ویدیوها را با هر تناسب بدنی تولید میکند، با واقعیتی که توسط حرکت، نورپردازی و جزئیات بافت افزایش مییابد. این مدل با استفاده از تکنیکهای پیشرفته یادگیری عمیق، قادر است حرکات لب و صورت را به طور دقیق با صدای ورودی هماهنگ کند و نتایجی بسیار طبیعی و باورپذیر ارائه دهد. یکی از ویژگیهای برجسته omnihuman، توانایی آن در تولید ویدیوهایی با کیفیت بالا و جزئیات دقیق است. این مدل قادر است جزئیات کوچکی مانند چین و چروکهای صورت، حرکات چشم و ابرو و تغییرات نورپردازی را به طور واقعگرایانه شبیهسازی کند. این امر باعث میشود ویدیوهای تولید شده توسط omnihuman بسیار طبیعیتر و جذابتر به نظر برسند. علاوه بر این، omnihuman از سبکهای بصری و صوتی متعددی پشتیبانی میکند. این بدان معناست که کاربران میتوانند ویدیوهایی با سبکهای مختلف، از جمله سبکهای واقعگرایانه، کارتونی و فانتزی تولید کنند. همچنین، omnihuman قادر است صداهای مختلف، از جمله صداهای مردانه، زنانه و کودکانه را پردازش کند و حرکات لب و صورت را به طور دقیق با آنها هماهنگ کند. یکی دیگر از ویژگیهای مهم omnihuman، توانایی آن در تولید ویدیوها با هر تناسب بدنی است. این بدان معناست که کاربران میتوانند ویدیوهایی از شخصیتهایی با اندازهها و شکلهای مختلف تولید کنند. این امر باعث میشود omnihuman ابزاری بسیار انعطافپذیر و قدرتمند برای تولید ویدیوهای سفارشی باشد. در مجموع، omnihuman یک مدل هوش مصنوعی پیشرفته و قدرتمند است که میتواند ویدیوهای واقعگرایانه lip-sync را از یک تصویر و صدا تولید کند. این مدل از سبکهای بصری و صوتی متعددی پشتیبانی میکند و ویدیوها را با هر تناسب بدنی تولید میکند. omnihuman ابزاری ارزشمند برای تولیدکنندگان محتوا، بازاریابان و هر کسی است که به دنبال تولید ویدیوهای جذاب و با کیفیت بالا است. با استفاده از این مدل، کاربران میتوانند به راحتی ویدیوهایی با کیفیت استودیویی تولید کنند و مخاطبان خود را تحت تاثیر قرار دهند. این مدل با در نظر گرفتن جزئیات دقیق و ارائه نتایج واقعگرایانه، تجربه بصری بینظیری را برای کاربران فراهم میکند.
مشخصات فنی (API References)
| پارامتر | نوع | توضیحات و مقادیر |
|---|---|---|
model | stringRequired | نام مدل مورد استفاده برای تولید ویدیو. مقدار آن باید `bytedance/omnihuman` باشد. مقادیر مجاز (کلیک برای کپی): |
image_url | stringRequired | یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر محلی که به صورت Base64 کدگذاری شده است. این تصویر به عنوان پایه بصری یا اولین فریم برای ویدیو استفاده خواهد شد. |
audio_url | stringRequired | یک لینک مستقیم به فایل صوتی که قرار است در ویدیو استفاده شود. شخصیت موجود در تصویر، صدا را با lip-sync کامل و حرکات طبیعی بیان خواهد کرد. |
نمونه کدهای درخواست
نکته مهم برای توسعهدهندگان:
برای احراز هویت، حتما کلید 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}/video/generations"
headers = {
"Authorization": f"Bearer {api_key}",
}
data = {
"model": "bytedance/omnihuman",
"image_url": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg",
"audio_url": "https://storage.googleapis.com/falserverless/example_inputs/omnihuman_audio.mp3",
}
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}/video/generations"
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 = 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
}
}
}