Video Modelsbytedance

معرفی و مستندات مدل هوش مصنوعی omnihuman-1.5

مستندات مدل تولید انیمیشن از تصویر و صدا omnihuman-1.5، ارائه شده توسط ای آی کار (AI-KAR)

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

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

این مدل از زبان فارسی به صورت متوسط پشتیبانی می‌کند. درک نسبی از دستور زبان فارسی دارد اما ممکن است در تشخیص عبارات پیچیده و اصطلاحات محاوره‌ای دچار مشکل شود.

مدل omnihuman-1.5 از Bytedance، یک مدل هوش مصنوعی پیشرفته است که قادر به تولید انیمیشن‌های واقع‌گرایانه از شخصیت‌ها با استفاده از یک تصویر و یک فایل صوتی است. این مدل با تحلیل ریتم، آهنگ و معنای گفتار، انیمیشنی تولید می‌کند که حرکات لب و حالات چهره شخصیت را به طور کامل با صدا هماهنگ می‌کند. این قابلیت، امکان ایجاد ویدیوهای جذاب و طبیعی را فراهم می‌سازد که در آن‌ها شخصیت‌ها به شکلی باورپذیر صحبت می‌کنند و احساسات خود را بروز می‌دهند.

یکی از ویژگی‌های برجسته این مدل، توانایی آن در تولید حرکات طبیعی بدن و ژست‌های مناسب با محتوای صوتی است. به این ترتیب، انیمیشن تولید شده نه تنها از نظر بصری جذاب است، بلکه از نظر معنایی نیز با پیام صوتی هماهنگ است. این امر باعث می‌شود که ویدیوهای تولید شده با این مدل، برای اهداف مختلفی از جمله آموزش، تبلیغات، سرگرمی و تولید محتوای رسانه‌ای مناسب باشند.

برای استفاده از این مدل، ابتدا باید یک تصویر از شخصیت مورد نظر و یک فایل صوتی حاوی گفتار را به مدل ارائه دهید. مدل سپس با پردازش این اطلاعات، یک ویدیو تولید می‌کند که در آن شخصیت با حرکات لب و حالات چهره مناسب، گفتار موجود در فایل صوتی را بیان می‌کند. این فرایند به طور خودکار انجام می‌شود و نیازی به دخالت دستی در تنظیم حرکات لب و حالات چهره نیست.

مدل omnihuman-1.5 از الگوریتم‌های پیشرفته یادگیری عمیق برای تحلیل صدا و تصویر استفاده می‌کند. این الگوریتم‌ها به مدل امکان می‌دهند تا الگوهای پیچیده موجود در صدا و تصویر را شناسایی کرده و حرکات لب و حالات چهره مناسب را تولید کند. این مدل همچنین قادر است تا با تغییرات در صدا و تصویر، انیمیشن تولید شده را به طور خودکار تنظیم کند.

به طور خلاصه، مدل omnihuman-1.5 یک ابزار قدرتمند برای تولید انیمیشن‌های واقع‌گرایانه از شخصیت‌ها با استفاده از یک تصویر و یک فایل صوتی است. این مدل با تحلیل ریتم، آهنگ و معنای گفتار، انیمیشنی تولید می‌کند که حرکات لب و حالات چهره شخصیت را به طور کامل با صدا هماهنگ می‌کند. این قابلیت، امکان ایجاد ویدیوهای جذاب و طبیعی را فراهم می‌سازد که در آن‌ها شخصیت‌ها به شکلی باورپذیر صحبت می‌کنند و احساسات خود را بروز می‌دهند. این مدل برای اهداف مختلفی از جمله آموزش، تبلیغات، سرگرمی و تولید محتوای رسانه‌ای مناسب است و می‌تواند به کاربران کمک کند تا ویدیوهای جذاب و موثری را به سادگی تولید کنند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدل مورد استفاده برای تولید ویدیو. مقدار این فیلد باید `bytedance/omnihuman/v1.5` باشد.
مقادیر مجاز (کلیک برای کپی):
image_url
stringRequired
آدرس مستقیم یک تصویر آنلاین یا یک تصویر محلی که به صورت Base64 کدگذاری شده است. این تصویر به عنوان پایه بصری یا اولین فریم برای ویدیو استفاده می‌شود.
audio_url
stringRequired
آدرس مستقیم فایل صوتی که شخصیت در ویدیو آن را بیان می‌کند. این فایل صوتی باید حاوی گفتار باشد.

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

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

برای احراز هویت، حتما کلید 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/v1.5",
        "image_url": "https://cdn.AI-KARapi.com/assets/content/office_man.png",
        "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
    }
  }
}