Video Modelsluma-ai

معرفی و مستندات مدل هوش مصنوعی luma-ray-flash-2

مستندات مدل luma-ray-flash-2 ارائه شده توسط ای آی کار (AI-KAR)

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

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

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

مدل luma-ray-flash-2 از luma-ai یک مدل پیشرفته تولید ویدیو است که قادر به تولید کلیپ‌های ویدیویی تا 9 ثانیه با کیفیت 4K می‌باشد. این مدل نسبت به مدل‌های قبلی مانند Ray 1.6، رزولوشن بالاتر و مدت زمان طولانی‌تری را ارائه می‌دهد. یکی از ویژگی‌های برجسته این مدل، امکان تعیین فریم‌های اول و آخر ویدیو با استفاده از تصاویر است. همچنین، می‌توان ویدیوهای تولید شده قبلی را با استفاده از شناسه تولید (generation ID) آن‌ها گسترش داد. این قابلیت به کاربران اجازه می‌دهد تا ویدیوهای پیوسته و طولانی‌تری را ایجاد کنند. علاوه بر این، مدل luma-ray-flash-2 از ویدیوهای حلقه‌ای (looped videos) نیز پشتیبانی می‌کند که برای ایجاد محتوای تکراری و جذاب بسیار مناسب است. این نسخه از مدل، تقریباً دو برابر سریع‌تر از Luma Ray 2 عمل می‌کند که این امر باعث صرفه‌جویی در زمان و افزایش بهره‌وری کاربران می‌شود. برای استفاده از این مدل، ابتدا باید یک کلید API معتبر از AI-KAR دریافت کنید. فرآیند تولید ویدیو با این مدل شامل دو مرحله اصلی است: ابتدا یک درخواست ایجاد و ارسال وظیفه تولید ویدیو به سرور ارسال می‌شود که در پاسخ، یک شناسه تولید (generation ID) دریافت می‌کنید. سپس، با استفاده از این شناسه، می‌توانید ویدیو تولید شده را از سرور درخواست کنید. این مدل با دریافت یک تصویر مرجع و یک متن توصیفی (prompt)، قادر است ویدیویی با کیفیت و مطابق با خواسته کاربر تولید کند. پارامترهای مختلفی مانند نسبت تصویر (aspect ratio)، امکان ایجاد ویدیوهای حلقه‌ای (loop)، کلیدفریم‌ها (keyframes)، رزولوشن (resolution) و مدت زمان (duration) قابل تنظیم هستند تا کاربران بتوانند ویدیوهای دقیقا مطابق با نیازهای خود ایجاد کنند. این مدل برای تولید محتوای تبلیغاتی، آموزشی، هنری و سرگرمی بسیار مناسب است و با ارائه کیفیت بالا و سرعت مناسب، تجربه کاربری بی‌نظیری را فراهم می‌کند. با استفاده از luma-ray-flash-2، می‌توانید ایده‌های خلاقانه خود را به ویدیوهای جذاب و با کیفیت تبدیل کنید و در پلتفرم‌های مختلف به اشتراک بگذارید. این مدل با پشتیبانی از فرمت‌های مختلف و امکانات گسترده، یک ابزار قدرتمند برای تولید محتوای ویدیویی حرفه‌ای است.

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

پارامترنوعتوضیحات و مقادیر
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود.
aspect_ratio
string
نسبت تصویر ویدیوی تولید شده.
مقادیر مجاز (کلیک برای کپی):
loop
boolean
مشخص می‌کند که آیا ویدیو به صورت حلقه‌ای پخش شود یا خیر.
keyframes
object
کلیدفریم‌ها برای تبدیل تصویر به ویدیو، گسترش یا درون‌یابی.
model
stringRequired
مدلی که برای تولید ویدیو استفاده می‌شود.
مقادیر مجاز (کلیک برای کپی):
resolution
string
رزولوشن ویدیوی خروجی، که عدد به ضلع کوچک‌تر بر حسب پیکسل اشاره دارد.
مقادیر مجاز (کلیک برای کپی):
duration
integer
طول ویدیوی خروجی بر حسب ثانیه.
مقادیر مجاز (کلیک برای کپی):
generation_id
stringRequired
شناسه تولید ویدیو

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

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

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

import requests
import time

api_key = "<YOUR_API_KEY>"
base_url = "https://api.ai-kar.com/v1"

def generate_video():
    url = f"{base_url}/video/generations"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "luma/ray-flash-2",
        "prompt": "The camera moves down and gradually dives underwater and moves through a dark, moody world of greenish light and drifting plants. Giant white koi fish emerge from the shadows and turn curiously toward the camera as it passes, their scales shimmering faintly in the murky depths.",
        "keyframes":{
            "frame0": {
                "type": "image",
                "url": "https://raw.githubusercontent.com/AI-KARapi/api-docs/main/reference-files/landscape.jpg",
            },
            "frame1": {
                "type": "image",
                "url": "https://cdn.AI-KARapi.com/assets/content/white-fish.png",
            },
        },
        "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

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():
    gen_response = generate_video()
    gen_id = gen_response.get("id")
    print("Generation ID:  ", gen_id)

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