全部产品
Search
文档中心

Platform For AI:Hasilkan video panjang definisi tinggi menggunakan EasyAnimate

更新时间:Oct 29, 2025

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

Solusi 1: Hasilkan Video dengan DSW

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.

Solusi 2: Hasilkan Video Menggunakan Model Gallery

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

  1. Masuk ke Konsol PAI dan pilih wilayah. Di panel navigasi di sebelah kiri, klik Workspace List, lalu pilih dan klik ruang kerja target.

  2. Di panel navigasi di sebelah kiri, pilih Model Training > Data Science Workshop (DSW) untuk masuk ke halaman DSW.

  3. 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.2xlarge atau 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.

  4. Klik Yes untuk membuat instans. Tunggu hingga status instans berubah menjadi Running.

Langkah 2: Unduh tutorial dan model EasyAnimate

  1. Di kolom Actions dari instans DSW target, klik Open untuk masuk ke lingkungan pengembangan DSW.

  2. Di halaman Launcher tab Notebook, klik DSW Gallery.

  3. 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.

    image

  4. Unduh dan instal kode dan model terkait EasyAnimate.

    Di file tutorial EasyAnimate, klik image untuk menjalankan Define functions, Download code, dan Download models secara berurutan.

Langkah 3: Mulai WebUI dan hasilkan video

  1. Klik image untuk menjalankan sel berjudul Start UI untuk memulai layanan WebUI.

  2. Klik tautan yang dihasilkan untuk membuka WebUI.

    image

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

    image

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

    image

Solusi 2: Hasilkan video menggunakan Model Gallery

Langkah 1: Terapkan model pra-latih

  1. Masuk ke Konsol PAI dan pilih wilayah. Di panel navigasi di sebelah kiri, klik Workspace List, lalu pilih dan klik ruang kerja target.

  2. Di panel navigasi di sebelah kiri, klik QuickStart > Model Gallery. Cari Model Pembuatan Video Panjang EasyAnimate, klik Deploy, dan konfirmasi penerapan dengan konfigurasi default. Penerapan selesai ketika status layanan adalah Running.

    image

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

  1. Di halaman Service Details, klik View Web App.

    image

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

    image

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

    image

Gunakan API

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

    image

  2. 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.

    Deskripsi Parameter Antarmuka

    Parameter

    Deskripsi

    Tipe

    Nilai default

    prompt_textbox

    Petunjuk positif.

    string

    Wajib. Tidak ada nilai default.

    negative_prompt_textbox

    Prompt negatif.

    string

    "Video tidak berkualitas tinggi, memiliki resolusi rendah, dan kualitas audio tidak jelas. Lintasan gerakan aneh, komposisi buruk dan video cacat, resolusi rendah, duplikat dan jelek, struktur tubuh aneh, leher panjang dan aneh, gigi buruk, mata buruk, anggota tubuh buruk, tangan buruk, kamera berputar, kamera buram, kamera bergoyang. Deformasi, resolusi rendah, buram, jelek, distorsi."

    sample_step_slider

    Jumlah langkah sampling untuk denoising model difusi. Lebih banyak langkah dapat menghasilkan detail yang lebih kaya tetapi memakan waktu lebih lama.

    int

    30

    cfg_scale_slider

    Skala panduan prompt. Nilai yang lebih tinggi membuat output lebih sesuai dengan prompt, berpotensi mengurangi keragaman.

    float

    6

    sampler_dropdown

    Tipe sampler.

    Nilai valid termasuk: EulerEulerADPM++PNDM, dan DDIM.

    string

    Euler

    width_slider

    Lebar video yang dihasilkan.

    int

    672

    height_slider

    Tinggi video yang dihasilkan.

    int

    384

    length_slider

    Jumlah frame dalam video yang dihasilkan.

    int

    144

    is_image

    Menentukan apakah input adalah gambar.

    bool

    False

    lora_alpha_slider

    Bobot parameter model LoRA.

    float

    0.55

    seed_textbox

    Seed acak.

    int

    43

    lora_model_path

    Jalur ke model LoRA tambahan.

    Model LoRA ini dimuat hanya untuk permintaan saat ini.

    string

    none

    base_model_path

    Jalur ke model transformer yang akan diperbarui.

    string

    none

    motion_module_path

    Jalur ke model motion_module yang akan diperbarui.

    string

    none

    generation_method

    Tipe pembuatan. Nilai valid: Video GenerationImage Generation.

    string

    none

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:

  1. Masuk ke Konsol PAI. Di panel navigasi di sebelah kiri, klik Workspace List, lalu pilih dan klik ruang kerja target.

  2. Di panel navigasi di sebelah kiri, klik QuickStart > Model Gallery.

  3. Di halaman Model Gallery, cari EasyAnimate Long Video Generation Model dan klik Train untuk masuk ke halaman konfigurasi.

    image

  4. 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:

    Gunakan Dataset Kustom

    1. Siapkan folder data dan file meta. Folder data berisi gambar dan video untuk pelatihan. File meta dalam format JSON, di mana setiap entri terdiri dari jalur file, deskripsi teks, dan tipe data, diwakili oleh bidang "file_path", "text", dan "type". Contohnya:

      [
          {
              "file_path": "00031-3640797216.png",
              "text": "1girl, black_hair",
              "type": "image"    },
          {
              "file_path": "00032-3838108680.png",
              "text": "1girl, black_hair",
              "type": "image"    }
      ]

      Tentukan "type":"video" untuk data video dan "type":"image" untuk data gambar.

    2. Unggah dan pilih folder data dan file meta. Di halaman konfigurasi pelatihan, klik OSS file or directory, lalu unggah dan pilih folder data dan file meta Anda.

      image

  5. 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.
  6. Di sudut kanan atas, klik Deploy untuk menerapkan model yang telah disempurnakan. Ketika status berubah menjadi Running, model berhasil diterapkan.

    image

  7. 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.
  8. Di WebUI, pilih model LoRA yang telah dilatih untuk menghasilkan video. Untuk pemanggilan API, lihat Langkah 2.

    image

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:

      image

    • Untuk menghentikan atau menghapus layanan model EAS:

      image

  • 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.