Video Modelsgoogle

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

مستندات مدل veo2-image-to-video از گوگل، ارائه شده توسط ای آی کار (AI-KAR)

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

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

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

مدل veo2-image-to-video یک مدل هوش مصنوعی پیشرفته چندوجهی (تصویر + متن) است که تصاویر ثابت را به محتوای ویدیویی پویا و با کیفیت بالا تبدیل می‌کند. این مدل بر اساس موفقیت مدل Veo2 text-to-video گوگل ساخته شده است و کنترل و واقع‌گرایی بی‌سابقه‌ای را در تولید ویدیو از تصاویر ثابت ارائه می‌دهد. این مدل قادر است محتوای اصلی تصاویر منبع را به طور وفادارانه حفظ کند و حرکات بصری و فیزیکی واقع‌گرایانه‌ای را در ویدیو ایجاد کند. این مدل از دو مرحله اصلی برای تولید ویدیو استفاده می‌کند. در مرحله اول، یک درخواست تولید ویدیو به سرور ارسال می‌شود و یک شناسه تولید (generation ID) دریافت می‌شود. در مرحله دوم، با استفاده از این شناسه، ویدیو تولید شده از سرور درخواست می‌شود. با استفاده از این مدل، کاربران می‌توانند به راحتی تصاویر خود را به ویدیوهای جذاب و پویا تبدیل کنند. این مدل برای کاربردهای مختلفی مانند تولید محتوای تبلیغاتی، آموزشی، سرگرمی و غیره مناسب است. یکی از ویژگی‌های برجسته این مدل، توانایی آن در حفظ محتوای اصلی تصاویر ورودی است. این بدان معناست که ویدیوهای تولید شده، ویژگی‌ها و جزئیات اصلی تصاویر را به دقت حفظ می‌کنند. علاوه بر این، مدل veo2-image-to-video قادر است حرکات طبیعی و واقع‌گرایانه‌ای را در ویدیو ایجاد کند. این حرکات بر اساس قوانین فیزیک شبیه‌سازی شده‌اند و باعث می‌شوند ویدیوها بسیار جذاب‌تر و باورپذیرتر به نظر برسند. کاربران می‌توانند با استفاده از توضیحات متنی (prompt)، نوع حرکت و رفتاری که می‌خواهند در ویدیو ایجاد شود را مشخص کنند. این مدل همچنین امکان کنترل دقیق بر جنبه‌های مختلف ویدیو را فراهم می‌کند. کاربران می‌توانند نسبت تصویر (aspect ratio) و طول ویدیو (duration) را به دلخواه تنظیم کنند. همچنین، امکان تعیین یک تصویر به عنوان فریم پایانی (tail_image_url) نیز وجود دارد که می‌تواند برای ایجاد ویدیوهای با ساختار مشخص و جذاب مورد استفاده قرار گیرد. به طور خلاصه، مدل veo2-image-to-video یک ابزار قدرتمند و کارآمد برای تولید ویدیو از تصاویر ثابت است که با ارائه کنترل دقیق، واقع‌گرایی بالا و حفظ محتوای اصلی، امکان ایجاد ویدیوهای جذاب و با کیفیت را برای کاربران فراهم می‌کند. این مدل با بهره‌گیری از آخرین دستاوردهای هوش مصنوعی، تجربه کاربری بی‌نظیری را در زمینه تولید ویدیو ارائه می‌دهد و می‌تواند به عنوان یک ابزار ارزشمند برای تولیدکنندگان محتوا، بازاریابان و سایر افراد علاقه‌مند به تولید ویدیو مورد استفاده قرار گیرد.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تولید ویدیو.
مقادیر مجاز (کلیک برای کپی):
prompt
stringRequired
توضیحات متنی صحنه، موضوع یا عملی که می‌خواهید در ویدیو تولید شود.
image_url
stringRequired
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر محلی کدگذاری شده با Base64 که به عنوان پایه بصری یا اولین فریم برای ویدیو استفاده می‌شود.
tail_image_url
string
یک لینک مستقیم به یک تصویر آنلاین یا یک تصویر محلی کدگذاری شده با Base64 که به عنوان آخرین فریم ویدیو استفاده می‌شود.
aspect_ratio
string
نسبت تصویر ویدیوی تولید شده.
مقادیر مجاز (کلیک برای کپی):
duration
integer
طول ویدیوی خروجی بر حسب ثانیه.
مقادیر مجاز (کلیک برای کپی):
negative_prompt
string
توضیحات عناصری که باید در ویدیوی تولید شده از آنها اجتناب شود.
seed
integer
تغییر عدد seed راهی برای دریافت نتایج مختلف برای سایر پارامترهای درخواست یکسان است. استفاده از مقدار یکسان برای یک درخواست مشابه، نتایج مشابهی را تولید می‌کند. اگر مشخص نشود، یک عدد تصادفی انتخاب می‌شود.
enhance_prompt
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/google/generation"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "veo2/image-to-video",
        "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()
        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/google/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
    }
  }
}