Video Modelsbytedance

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

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

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

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

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

مدل seedance-1.0-pro-image-to-video یک مدل هوش مصنوعی پیشرفته است که توسط bytedance توسعه داده شده و برای تولید محتوای ویدیویی حرفه‌ای از یک تصویر مرجع و یک متن توصیفی (prompt) طراحی شده است. این مدل قادر است در عرض یک دقیقه ویدیوهایی با کیفیت 1080p تولید کند و این امکان را به کاربر می‌دهد که دوربین را در طول کل ویدیو ثابت نگه دارد. این ویژگی به ویژه برای ایجاد ویدیوهایی با تمرکز بر روی یک موضوع خاص یا برای شبیه‌سازی نماهای سینمایی مفید است.

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

کاربردهای این مدل بسیار گسترده هستند. از تولید محتوای تبلیغاتی و آموزشی گرفته تا ایجاد ویدیوهای هنری و سرگرمی، seedance-1.0-pro-image-to-video می‌تواند به عنوان یک ابزار قدرتمند برای تولیدکنندگان محتوا و هنرمندان عمل کند. به عنوان مثال، یک طراح گرافیک می‌تواند از این مدل برای تبدیل یک تصویر ثابت به یک ویدیوی جذاب برای تبلیغ یک محصول استفاده کند، یا یک معلم می‌تواند از آن برای ایجاد ویدیوهای آموزشی تعاملی استفاده کند.

برای استفاده از این مدل، کاربران باید ابتدا یک کلید API از ای آی کار (AI-KAR) دریافت کنند. سپس، با استفاده از API ارائه شده، می‌توانند تصویر مرجع و متن توصیفی را به مدل ارسال کرده و ویدیوی تولید شده را دریافت کنند. API شامل دو endpoint است: یکی برای ایجاد و ارسال درخواست تولید ویدیو و دیگری برای دریافت ویدیوی تولید شده پس از اتمام فرآیند.

این مدل از پارامترهای مختلفی برای کنترل فرآیند تولید ویدیو پشتیبانی می‌کند. کاربران می‌توانند رزولوشن ویدیو، طول ویدیو، و seed را برای تولید نتایج متنوع‌تر تنظیم کنند. همچنین، امکان فعال یا غیرفعال کردن تثبیت دوربین و واترمارک نیز وجود دارد.

با توجه به توانایی‌های پیشرفته و کاربردهای گسترده، seedance-1.0-pro-image-to-video یک ابزار ارزشمند برای هر کسی است که به دنبال تولید محتوای ویدیویی با کیفیت بالا و به صورت سریع و آسان است. این مدل با ترکیب قدرت هوش مصنوعی و خلاقیت انسانی، امکانات جدیدی را در زمینه تولید ویدیو فراهم می‌کند و به کاربران اجازه می‌دهد تا ایده‌های خود را به واقعیت تبدیل کنند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدل. مقدار ثابت: bytedance/seedance-1-0-pro-i2v
مقادیر مجاز (کلیک برای کپی):
image_url
stringRequired
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر محلی کدگذاری شده به صورت Base64 که به عنوان پایه بصری یا اولین فریم برای ویدیو عمل می‌کند.
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که باید در ویدیو تولید شود.
resolution
string
یک شمارش که در آن ضلع کوتاه فریم ویدیو، رزولوشن را تعیین می‌کند.
مقادیر مجاز (کلیک برای کپی):
duration
integer
طول ویدیوی خروجی بر حسب ثانیه.
مقادیر مجاز (کلیک برای کپی):
seed
integer
تغییر عدد seed راهی برای به دست آوردن نتایج مختلف برای سایر پارامترهای درخواست است. استفاده از مقدار یکسان برای یک درخواست مشابه، نتایج مشابهی تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.
camera_fixed
boolean
اینکه آیا موقعیت دوربین ثابت شود یا خیر. true: موقعیت دوربین را ثابت کنید. پلتفرم دستورالعمل‌هایی را برای ثابت کردن موقعیت دوربین در prompt کاربر اضافه می‌کند، اما اثر واقعی تضمین نمی‌شود. false: موقعیت دوربین را ثابت نکنید.
watermark
boolean
منسوخ شده: اینکه آیا ویدیو حاوی واترمارک باشد یا خیر.

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

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

برای احراز هویت، حتما کلید 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-pro-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)
    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
    }
  }
}