Video Modelsbytedance

معرفی و مستندات مدل هوش مصنوعی seedance-1.0-lite-image-to-video

مستندات مدل تولید ویدیو از تصویر seedance-1.0-lite-image-to-video، ارائه شده توسط ای آی کار (AI-KAR).

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

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

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

مدل seedance-1.0-lite-image-to-video یک مدل هوش مصنوعی است که توسط bytedance توسعه داده شده و برای تولید ویدیوهای حرفه‌ای از یک تصویر مرجع و یک توضیح متنی (prompt) طراحی شده است. این مدل به کاربران امکان می‌دهد تا در عرض چند دقیقه ویدیوهایی با کیفیت بالا ایجاد کنند. یکی از ویژگی‌های برجسته این مدل، امکان ثابت نگه داشتن دوربین در طول ویدیو است که می‌تواند برای تولید ویدیوهای آموزشی، تبلیغاتی و یا هنری بسیار مفید باشد.
نحوه کار با این مدل به این صورت است که ابتدا یک تصویر به عنوان مبنا و یک متن توصیفی به عنوان راهنما به مدل داده می‌شود. مدل با استفاده از این دو ورودی، یک ویدیوی کوتاه تولید می‌کند که محتوای آن بر اساس تصویر و متن توصیفی تعیین می‌شود. این مدل برای تولید ویدیوهایی با موضوعات مختلف، از جمله ویدیوهای تبلیغاتی، آموزشی، هنری و سرگرمی مناسب است.
یکی از مزایای استفاده از این مدل، سرعت بالای تولید ویدیو است. کاربران می‌توانند در عرض چند دقیقه ویدیوهایی با کیفیت بالا ایجاد کنند که این امر می‌تواند در زمان و هزینه صرفه‌جویی کند. همچنین، این مدل به کاربران امکان می‌دهد تا ویدیوهایی با موضوعات مختلف و با سبک‌های بصری متفاوت ایجاد کنند.
برای استفاده از این مدل، کاربران باید ابتدا یک کلید API از ای آی کار (AI-KAR) دریافت کنند. سپس، با استفاده از این کلید API، می‌توانند درخواست‌های تولید ویدیو را به سرور ارسال کنند. فرآیند تولید ویدیو شامل دو مرحله است: ابتدا یک درخواست برای ایجاد و ارسال یک وظیفه تولید ویدیو به سرور ارسال می‌شود (که یک شناسه تولید را برمی‌گرداند). سپس، با استفاده از این شناسه تولید، می‌توان ویدیوی تولید شده را از سرور درخواست کرد.
این مدل از طریق API قابل دسترسی است و کاربران می‌توانند با استفاده از زبان‌های برنامه‌نویسی مختلف، از جمله Python، JavaScript، cURL و HTTP، با آن تعامل داشته باشند. ای آی کار (AI-KAR) مستندات کاملی را برای استفاده از این مدل ارائه کرده است که شامل نمونه کدها و توضیحات مفصل در مورد پارامترهای مختلف API است.
به طور خلاصه، مدل seedance-1.0-lite-image-to-video یک ابزار قدرتمند و کارآمد برای تولید ویدیوهای حرفه‌ای از تصاویر و متن است. این مدل با سرعت بالا، کیفیت بالا و امکانات متنوع، به کاربران امکان می‌دهد تا ویدیوهایی با موضوعات مختلف و با سبک‌های بصری متفاوت ایجاد کنند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدل. مقدار این پارامتر باید `bytedance/seedance-1-0-lite-i2v` باشد.
مقادیر مجاز (کلیک برای کپی):
image_url
stringRequired
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر محلی که به صورت Base64 کدگذاری شده است. این تصویر به عنوان پایه بصری یا اولین فریم برای ویدیو استفاده می‌شود.
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود.
resolution
string
یک شمارش که در آن ضلع کوتاه فریم ویدیو، وضوح را تعیین می‌کند. مقدار پیش‌فرض `720p` است.
مقادیر مجاز (کلیک برای کپی):
duration
integer
طول ویدیوی خروجی بر حسب ثانیه.
مقادیر مجاز (کلیک برای کپی):
seed
integer
تغییر عدد seed یک راه برای به دست آوردن نتایج مختلف برای سایر پارامترهای درخواست یکسان است. استفاده از مقدار یکسان برای یک درخواست مشابه، نتایج مشابهی را تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.
camera_fixed
boolean
اینکه آیا موقعیت دوربین ثابت شود یا خیر.
watermark
boolean
منسوخ شده. اینکه آیا ویدیو حاوی واترمارک باشد یا خیر.
generation_id
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}/generate/video/bytedance/generation"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "bytedance/seedance-1-0-lite-i2v",
        "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/bytedance/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)
    # print("Generation:", response.json())
    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
    }
  }
}