EasyAnimate adalah kerangka kerja pembuatan video yang dikembangkan oleh Alibaba Cloud Platform for AI (PAI) berdasarkan arsitektur Diffusion Transformer (DiT). Kerangka ini memungkinkan pengguna menghasilkan video definisi tinggi dan panjang dengan cepat dari teks atau gambar serta mencakup fitur penyempurnaan model untuk personalisasi.
Ikhtisar
Solusi | Keunggulan dan Skenario | Deskripsi Penagihan |
Menyediakan IDE cloud dengan tutorial dan kode bawaan. Solusi ini ideal untuk pengguna yang ingin mengeksplorasi model secara mendalam atau menyesuaikan fungsinya. | Solusi ini menggunakan sumber daya publik untuk membuat instans Data Science Workshop (DSW), yang ditagih berdasarkan model bayar sesuai penggunaan. Untuk detail penagihan lebih lanjut, lihat Informasi Penagihan DSW. | |
Menghilangkan konfigurasi lingkungan. Anda dapat menerapkan atau menyempurnakan model dengan satu klik dan memanggilnya melalui WebUI atau API. Solusi ini ideal untuk pengguna yang perlu memvalidasi hasil dengan cepat atau mengintegrasikan model ke dalam aplikasi. | Tutorial ini menggunakan Sumber Daya Publik untuk membuat layanan Elastic Algorithm Service (EAS) untuk penerapan model dan tugas Deep Learning Containers (DLC) untuk penyempurnaan model. Kedua layanan tersebut menggunakan model penagihan bayar sesuai penggunaan. Untuk detail penagihan lebih lanjut, lihat Penagihan DLC dan Penagihan EAS. |
Solusi 1: Hasilkan video dengan DSW
Langkah 1: Buat instans DSW
Masuk ke Konsol PAI dan pilih wilayah. Di panel navigasi di sebelah kiri, klik Workspace List, lalu pilih dan klik ruang kerja target.
Di panel navigasi di sebelah kiri, pilih Model Training > Data Science Workshop (DSW) untuk masuk ke halaman DSW.
Klik New Instance dan konfigurasikan parameter berikut. Anda dapat mempertahankan nilai default untuk parameter lainnya.
Parameter
Deskripsi
Instance Name
Tutorial ini menggunakan nilai contoh AIGC_test_01.
Resource Type
Pilih Public Resources.
Resource Specification
Di bawah Tipe Instans GPU, pilih
ecs.gn7i-c8g1.2xlargeatau tipe instans lain dengan GPU A10 atau GU100.Image
Pilih Alibaba Cloud Image, lalu cari dan pilih
easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04.Klik Yes untuk membuat instans. Tunggu hingga status instans berubah menjadi Running.
Langkah 2: Unduh tutorial dan model EasyAnimate
Di kolom Actions dari instans DSW target, klik Open untuk masuk ke lingkungan pengembangan DSW.
Di halaman Launcher tab Notebook, klik DSW Gallery.
Di halaman Galeri DSW, cari AI video generation demo based on EasyAnimate (V5), klik Open In DSW untuk mengunduh sumber daya tutorial secara otomatis ke instans DSW Anda.
Contoh Pembuatan Video AI dengan EasyAnimate memiliki beberapa versi. Panduan ini menggunakan V5 sebagai contoh.

Unduh dan instal kode dan model terkait EasyAnimate.
Di file tutorial EasyAnimate, klik
untuk menjalankan Define functions, Download code, dan Download models secara berurutan.
Langkah 3: Mulai WebUI dan hasilkan video
Klik
untuk menjalankan sel berjudul Start UI untuk memulai layanan WebUI.Klik tautan yang dihasilkan untuk membuka WebUI.

Di WebUI, pilih jalur model pra-latih dari menu dropdown. Konfigurasikan parameter lain sesuai kebutuhan.

Klik Generate. Setelah sekitar 5 menit, Anda dapat melihat atau mengunduh video yang dihasilkan di sisi kanan halaman.

Solusi 2: Hasilkan video menggunakan Model Gallery
Langkah 1: Terapkan model pra-latih
Masuk ke Konsol PAI dan pilih wilayah. Di panel navigasi di sebelah kiri, klik Workspace List, lalu pilih dan klik ruang kerja target.
Di panel navigasi di sebelah kiri, klik . Cari Model Pembuatan Video Panjang EasyAnimate, klik Deploy, dan konfirmasi penerapan dengan konfigurasi default. Penerapan selesai ketika status layanan adalah Running.

Langkah 2: Hasilkan video melalui WebUI atau API
Setelah penerapan, Anda dapat menggunakan WebUI atau API untuk menghasilkan video.
Untuk melihat detail tugas penerapan nanti, pilih Model Gallery > Job Management > Deployment Jobs di panel navigasi di sebelah kiri, lalu klik Service name.
Gunakan WebUI
Di halaman Service Details, klik View Web App.

Di WebUI, pilih jalur model pra-latih. Konfigurasikan parameter lain sesuai kebutuhan.

Klik Generate. Setelah sekitar 5 menit, Anda dapat melihat atau mengunduh video yang dihasilkan di sisi kanan halaman.

Gunakan API
Untuk mendapatkan URL layanan dan token, di halaman Service Details , di bagian Call Information , klik View Call Information.

Panggil layanan untuk menghasilkan video. Berikut adalah contoh permintaan Python:
import os import requests import json import base64 from typing import Dict, Any class EasyAnimateClient: """ EasyAnimate EAS Service API Client. """ def __init__(self, service_url: str, token: str): if not service_url or not token: raise ValueError("The service URL (service_url) and token cannot be empty") self.base_url = service_url.rstrip('/') self.headers = { 'Content-Type': 'application/json', 'Authorization': token } def update_model(self, model_path: str, edition: str = "v3", timeout: int = 300) -> Dict[str, Any]: """ Updates and loads the specified model version and path. Args: model_path: The path of the model within the service, such as "/mnt/models/Diffusion_Transformer/EasyAnimateV3-XL-2-InP-512x512". edition: The model edition. Default value: "v3". timeout: The request timeout period in seconds. Model loading is slow, so we recommend that you set a long timeout period. """ # 1. Update the edition. requests.post( f"{self.base_url}/easyanimate/update_edition", headers=self.headers, json={"edition": edition}, timeout=timeout ).raise_for_status() # 2. Update the model path and wait for the model to load. print(f"Sending a request to load the model: {model_path}") response = requests.post( f"{self.base_url}/easyanimate/update_diffusion_transformer", headers=self.headers, json={"diffusion_transformer_path": model_path}, timeout=15000 ) response.raise_for_status() return response.json() def generate_video(self, prompt_textbox: str, **kwargs) -> bytes: """ Generates a video based on the prompt. Args: prompt: The English positive prompt. **kwargs: Other optional parameters. For more information, see the parameter description table below. Returns: The binary data of the video in MP4 format. """ payload = { "prompt_textbox": prompt_textbox, "negative_prompt_textbox": kwargs.get("negative_prompt", "The video is not of a high quality, it has a low resolution..."), "width_slider": kwargs.get("width_slider", 672), "height_slider": kwargs.get("height_slider", 384), "length_slider": kwargs.get("length_slider", 144), "sample_step_slider": kwargs.get("sample_step_slider", 30), "cfg_scale_slider": kwargs.get("cfg_scale_slider", 6.0), "seed_textbox": kwargs.get("seed_textbox", 43), "sampler_dropdown": kwargs.get("sampler_dropdown", "Euler"), "generation_method": "Video Generation", "is_image": False, "lora_alpha_slider": 0.55, "lora_model_path": "none", "base_model_path": "none", "motion_module_path": "none" } response = requests.post( f"{self.base_url}/easyanimate/infer_forward", headers=self.headers, json=payload, timeout=1500 ) response.raise_for_status() result = response.json() if "base64_encoding" not in result: raise ValueError(f"Invalid API return format: {result}") return base64.b64decode(result["base64_encoding"]) # --- Example --- if __name__ == "__main__": try: # 1. Configure service information. Replace the placeholders with the actual service endpoint and token. We recommend that you set them as environment variables. EAS_URL = "<eas-service-url>" EAS_TOKEN = "<eas-service-token>" # 2. Create a client. client = EasyAnimateClient(service_url=EAS_URL, token=EAS_TOKEN) # 3. Load the model. After the service is deployed, no model is loaded by default. Before you send a generation request, you must call update_model at least once to specify the model to use. To switch to a different model later, call this method again. client.update_model(model_path="/mnt/models/Diffusion_Transformer/EasyAnimateV3-XL-2-InP-512x512") # 4. Generate a video. video_bytes = client.generate_video( prompt_textbox="A beautiful cat playing in a sunny garden, high quality, detailed", width_slider=672, height_slider=384, length_slider=72, sample_step_slider=20 ) # 5. Save the video file. with open("api_generated_video.mp4", "wb") as f: f.write(video_bytes) print("The video is saved as api_generated_video.mp4.") except requests.RequestException as e: print(f"Network request error: {e}") except (ValueError, KeyError) as e: print(f"Data or parameter error: {e}") except Exception as e: print(f"An unknown error occurred: {e}")Tabel berikut menjelaskan parameter input antarmuka layanan.
Langkah 3: (Opsional) Penyempurnaan model pra-latih
Anda dapat menyempurnakan model pada dataset kustom untuk menghasilkan video dengan gaya atau konten tertentu. Ikuti langkah-langkah berikut untuk menyempurnakan model:
Masuk ke Konsol PAI. Di panel navigasi di sebelah kiri, klik Workspace List, lalu pilih dan klik ruang kerja target.
Di panel navigasi di sebelah kiri, klik .
Di halaman Model Gallery, cari EasyAnimate Long Video Generation Model dan klik Train untuk masuk ke halaman konfigurasi.

Untuk Resource Source, pilih Public Resources. Untuk Instance Type, pilih instans dengan GPU A10 atau lebih baik. Anda dapat mengonfigurasi hiperparameter sesuai kebutuhan dan mempertahankan nilai default untuk parameter lainnya.
Untuk menyempurnakan model dengan dataset kustom, ikuti petunjuk berikut:
Klik Train > OK untuk membuat tugas pelatihan. Dengan konfigurasi lingkungan yang dipilih dalam panduan ini, pelatihan memakan waktu sekitar 40 menit. Pelatihan selesai ketika status tugas berubah menjadi Succeeded.
Untuk melihat detail tugas pelatihan nanti, Anda dapat klik Model Gallery > Job Management > Training Jobs di panel navigasi di sebelah kiri, lalu klik nama tugas.
Di sudut kanan atas, klik Deploy untuk menerapkan model yang telah disempurnakan. Ketika status berubah menjadi Running, model berhasil diterapkan.

Di halaman Service Details, klik View Web Application di bagian atas halaman.
Untuk melihat detail layanan nanti, Anda dapat klik Model Gallery > Job Management > Deployment Jobs di panel navigasi di sebelah kiri, lalu klik Service Name.
Di WebUI, pilih model LoRA yang telah dilatih untuk menghasilkan video. Untuk pemanggilan API, lihat Langkah 2.

Mulai Produksi
Hentikan Sumber Daya untuk Menghemat Biaya: Tutorial ini menggunakan Sumber Daya Publik untuk membuat instans DSW dan layanan model EAS. Setelah selesai, hentikan atau hapus sumber daya ini segera untuk menghindari biaya tambahan.
Untuk menghentikan atau menghapus instans DSW:

Untuk menghentikan atau menghapus layanan model EAS:

Gunakan EAS untuk Menerapkan Layanan dalam Lingkungan Produksi: Jika Anda perlu menggunakan model dalam lingkungan produksi, kami merekomendasikan menggunakan Solusi 2 untuk menerapkan model ke EAS dengan satu klik. Jika Anda menggunakan Solusi 1, Anda dapat menerapkan model ke EAS dengan membuat gambar kustom. Untuk informasi lebih lanjut, lihat Terapkan Model sebagai Layanan Online.
EAS menyediakan fitur berikut untuk menangani lingkungan produksi yang kompleks:
Untuk menguji konkurensi yang didukung oleh titik akhir layanan Anda, gunakan Pengujian Stres Otomatis di EAS.
Untuk secara otomatis menyesuaikan instans naik atau turun untuk menangani puncak dan lembah lalu lintas serta memastikan operasi layanan yang stabil, gunakan Penyesuaian Skala Otomatis di EAS.
Untuk memantau status layanan secara real-time dan meningkatkan stabilitas dan keamanan sistem, gunakan Pemantauan Log dan Peringatan di EAS.
Referensi
EAS menawarkan penyebaran satu klik untuk layanan pembuatan video AI berbasis ComfyUI dan model Stable Video Diffusion. Untuk informasi lebih lanjut, lihat Pembuatan Video AI - Penyebaran ComfyUI.
