Video Modelsminimax

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

مستندات مدل تولید ویدیو hailuo-02 از ای آی کار (AI-KAR)

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

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

این مدل از زبان فارسی به صورت متوسط پشتیبانی می‌کند. برای دریافت بهترین نتیجه، توصیه می‌شود از دستورات متنی واضح و دقیق استفاده کنید.

مدل hailuo-02 از minimax، یک مدل پیشرفته تولید ویدیو است که توسط ای آی کار (AI-KAR) ارائه شده است. این مدل با بهبودهای چشمگیر در فیزیک، حرکت طبیعی‌تر دوربین و تطابق بهتر با دستورات متنی، تجربه کاربری بهتری را ارائه می‌دهد. در حال حاضر، این مدل از کلیپ‌های 10 ثانیه‌ای با کیفیت 768p پشتیبانی می‌کند و به زودی پشتیبانی از کیفیت 1080p نیز به آن اضافه خواهد شد.

hailuo-02 با استفاده از الگوریتم‌های پیچیده یادگیری عمیق، قادر است صحنه‌ها، اشیاء و حرکات را با دقت بالا شبیه‌سازی کند. این مدل می‌تواند از یک توضیح متنی (prompt) یک ویدیوی کوتاه تولید کند. همچنین، امکان استفاده از یک تصویر به عنوان فریم اول یا آخر ویدیو نیز وجود دارد که به کاربر اجازه می‌دهد کنترل بیشتری بر محتوای تولیدی داشته باشد.

یکی از ویژگی‌های برجسته این مدل، توانایی بهینه‌سازی خودکار دستورات ورودی است. اگر گزینه `prompt_optimizer` فعال باشد (که به طور پیش‌فرض فعال است)، مدل به صورت خودکار دستور ورودی را بهینه می‌کند تا کیفیت ویدیوهای تولیدی بهبود یابد. با این حال، اگر کاربر نیاز به کنترل دقیق‌تری بر روی فرآیند تولید داشته باشد، می‌تواند این گزینه را غیرفعال کند تا مدل دقیقاً از دستورات ورودی پیروی کند.

برای استفاده از این مدل، ابتدا باید یک کلید API معتبر از ای آی کار (AI-KAR) دریافت کنید. سپس، با استفاده از دو endpoint ارائه شده، می‌توانید یک درخواست تولید ویدیو به سرور ارسال کرده و پس از اتمام فرآیند، ویدیوی تولید شده را دریافت کنید. فرآیند تولید ویدیو ممکن است چند دقیقه طول بکشد، بنابراین باید با استفاده از شناسه تولید (generation ID) وضعیت فرآیند را به صورت دوره‌ای بررسی کنید.

این مدل در زمینه‌های مختلفی کاربرد دارد، از جمله تولید محتوای تبلیغاتی، ساخت ویدیوهای آموزشی، ایجاد جلوه‌های ویژه برای فیلم‌ها و بازی‌ها، و تولید محتوای خلاقانه برای شبکه‌های اجتماعی. با توجه به کیفیت بالای ویدیوهای تولیدی و سهولت استفاده، hailuo-02 یک ابزار قدرتمند برای تولید محتوای ویدیویی به شمار می‌رود.

تیم ای آی کار (AI-KAR) به طور مداوم در حال بهبود و توسعه این مدل است تا بتواند نیازهای کاربران را به بهترین شکل ممکن برآورده کند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو.
مقادیر مجاز (کلیک برای کپی):
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود. حداکثر طول: 2000 کاراکتر.
first_frame_image
string
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر Base64-encoded محلی که به عنوان فریم اول ویدیو استفاده می‌شود. مشخصات تصویر: فرمت باید JPG، JPEG یا PNG باشد؛ نسبت تصویر باید بین 2:5 و 5:2 باشد؛ ضلع کوچکتر باید بیشتر از 300 پیکسل باشد؛ حجم فایل نباید بیشتر از 20 مگابایت باشد.
last_image_url
string
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر Base64-encoded محلی که به عنوان فریم آخر ویدیو استفاده می‌شود.
duration
integer
طول ویدیوی خروجی بر حسب ثانیه.
مقادیر مجاز (کلیک برای کپی):
resolution
string
ابعاد نمایش ویدیو. 1080p معادل 1920 x 1080 پیکسل و 768p معادل 1366 x 768 پیکسل است. مقدار پیش‌فرض: 768P
مقادیر مجاز (کلیک برای کپی):
prompt_optimizer
boolean
اگر True باشد، دستور ورودی به طور خودکار بهینه می‌شود تا کیفیت تولید بهبود یابد. برای کنترل دقیق‌تر، آن را روی False تنظیم کنید — مدل دستورالعمل‌ها را دقیق‌تر دنبال می‌کند. مقدار پیش‌فرض: true

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

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

برای احراز هویت، حتما کلید API خود را جایگزین YOUR_API_KEY کنید. هدر Authorization الزامی است.

import requests
import time

# Insert your AI-KAR API Key instead of <YOUR_AI-KARAPI_KEY>:
base_url = "https://api.ai-kar.com/v1"
api_key = "<YOUR_AI-KARAPI_KEY>"

# Creating and sending a video generation task to the server
def generate_video():
    url = f"{base_url}/generate/video/minimax/generation"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    data = {
        "model": "minimax/hailuo-02",
        "prompt": "Mona Lisa puts on glasses with her hands.",
        "first_frame_image": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg"
    }
    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/minimax/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()
    print(gen_response)
    gen_id = gen_response.get("generation_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
    }
  }
}