Tüm Ürünler
Search
Belge Merkezi

Platform For AI:Generate high-definition long videos using EasyAnimate

Son Güncelleme:Oct 04, 2026

EasyAnimate, Alibaba Cloud PAI tarafından Diffusion Transformer (DiT) mimarisine dayalı olarak geliştirilen bir video oluşturma çerçevesidir. Metin veya görüntülerden yüksek çözünürlüklü (HD), uzun formatlı videolar oluşturmak için eksiksiz bir çözüm sunar ve kişiselleştirme amacıyla model ince ayarı yapma yetenekleri içerir.

Çözümler


Çözüm


Avantajlar ve kullanım durumları


Faturalama


1. Çözüm: DSW kullanarak videolar oluşturun


Yerleşik eğitimler ve kodlarla birlikte bulut tabanlı bir Entegre Geliştirme Ortamı (IDE) sağlar. Bu çözüm, modelleri derinlemesine keşfetmek veya özel geliştirme yapmak isteyen kullanıcılar için idealdir.


Bu eğitim, genel kaynakları kullanan ve kullandıkça öde modeliyle faturalandırılan bir DSW örneği oluşturur. Daha fazla bilgi için bkz. DSW Faturalama.


2. Çözüm: Model Galerisi kullanarak videolar oluşturun


Ortam yapılandırması gerekmez. Tek tıklamayla modelleri dağıtabilir veya ince ayar yapabilir, ardından bunları WebUI veya API aracılığıyla çağırabilirsiniz. Bu çözüm, hızlı doğrulama veya uygulama entegrasyonu için idealdir.


Bu eğitim, model dağıtımı için bir EAS hizmeti ve model ince ayarı için bir DLC işi oluşturur. Her ikisi de genel kaynakları kullanır ve kullandıkça öde modeliyle faturalandırılır. Daha fazla bilgi için bkz. DLC Faturalama ve EAS Faturalama.

1. Çözüm: DSW kullanarak videolar oluşturun

1. Adım: Bir DSW örneği oluşturun

  1. PAI konsoluna giriş yapın ve bir bölge seçin. Sol gezinme bölmesinde Workspaces öğesini tıklayın, ardından hedef çalışma alanınızın adını bulup tıklayın.

  2. Sol gezinme bölmesinde DSW sayfasına gitmek için Model Training > Interactive Modeling (DSW) öğelerini tıklayın.

  3. Create instance öğesini tıklayın ve aşağıdaki ana parametreleri yapılandırın. Diğer parametreleri varsayılan değerlerinde bırakın.


    Parametre


    Açıklama


    Instance Name


    Örnek: AIGC_test_01.


    Resource Type

    Public Resources seçeneğini belirleyin.


    Instance Type


    GPU Specs altında ecs.gn7i-c8g1.2xlarge veya başka bir A10 ya da GU100 örnek türünü seçin.


    Image

    Alibaba Cloud Image seçeneğini belirleyin, ardından easyanimate:1.1.5-pytorch2.2.0-gpu-py310-cu118-ubuntu22.04 görüntüsünü aratıp seçin.

  4. Örneği oluşturmak için OK öğesini tıklayın ve örnek durumunun Running olarak değişmesini bekleyin.

2. Adım: EasyAnimate eğitimini ve modelini indirin

  1. Hedef DSW örneğinin Actions sütununda, geliştirme ortamına girmek için Open öğesini tıklayın.

  2. Notebook sekmesinde Launcher sayfasını açın ve DSW Gallery öğesini tıklayın.

  3. DSW Gallery'de AI Video Generation with EasyAnimate (V5) ifadesini aratın. Bu eğitim için gereken kaynakları DSW örneğine indirmek üzere Open in DSW öğesini tıklayın.

    EasyAnimate için AI video oluşturma örneği birden çok sürümde mevcuttur. Bu eğitimde örnek olarak V5 kullanılmaktadır.
  4. EasyAnimate kodunu ve modelini indirip yükleyin.

    EasyAnimate eğitim dosyasında, sırasıyla Function Definition, Download Code ve Download Model başlıklı hücreleri çalıştırmak için image simgesini tıklayın.

3. Adım: WebUI'yi başlatın ve bir video oluşturun

  1. WebUI hizmetini başlatan Launch UI başlıklı hücreyi çalıştırmak için image simgesini tıklayın.

  2. WebUI'yi açmak için oluşturulan bağlantıyı tıklayın.

    !python app.py
    /mnt/workspace/demos/easyanimate_v5_1/EasyAnimate/easyanimate/ui/ui.py:892: GradioUnusedKwargWarning: You have unused kwarg parameters in Video, please remove them: {'sources': 'upload'}
        control_video = gr.Video()
    /usr/local/lib/python3.10/dist-packages/gradio/utils.py:842: UserWarning: Expected 2 arguments for function <function ui.<locals>.upload_generation_method at 0x7fe5b79b79a0>, received 1.
        warnings.warn()
    /usr/local/lib/python3.10/dist-packages/gradio/utils.py:846: UserWarning: Expected at least 2 arguments for function ui.<locals>.upload_generation_method at 0x7fe5b79b79a0>, received 1.
        warnings.warn()
    Running on local URL:  http://0.0.0.0:7860
    IMPORTANT: You are using gradio version 3.41.2, however version 4.44.1 is available, please upgrade.
    --------
    To create a public link, set `share=True` in `launch()`.
  3. WebUI'de önceden eğitilmiş modelin yolunu seçin ve diğer parametreleri ihtiyaca göre yapılandırın.

    Pretrained Model Path açılır listesinden /mnt/workspace/demos/easyanimate_v5/EasyAnimate/models/Diffusion_Transformer/EasyAnimateV5-12b-zh-InP/ yolunu seçin.

  4. Generate öğesini tıklayın. Yaklaşık 5 dakika sonra, sağ tarafta oluşturulan videoyu görüntüleyebilir veya indirebilirsiniz.

2. Çözüm: Model Galerisi kullanarak videolar oluşturun

1. Adım: Önceden eğitilmiş modeli dağıtın

  1. PAI konsoluna giriş yapın ve bir bölge seçin. Sol gezinme bölmesinde Workspaces öğesini tıklayın, ardından hedef çalışma alanınızın adını bulup tıklayın.

  2. Sol gezinme bölmesinde Quick Start > Model Gallery yolunu izleyin. EasyAnimate HD Long Video Generation Model ifadesini aratın, Deploy öğesini tıklayın, varsayılan yapılandırmaları kullanın ve dağıtımı onaylayın. Hizmet durumu Running olarak değiştiğinde model başarıyla dağıtılmış olur.

2. Adım: WebUI veya API kullanarak videolar oluşturun

Modeli dağıttıktan sonra, hizmeti WebUI veya bir API aracılığıyla çağırarak videolar oluşturabilirsiniz.

Dağıtım görevi ayrıntılarını daha sonra görüntülemek için sol gezinme bölmesinde Model Gallery > Job Management > Deployment Jobs yolunu izleyin ve ardından Service name öğesini tıklayın.

WebUI

  1. Service details sayfasında View Web App öğesini tıklayın.

  2. WebUI'de önceden eğitilmiş modelin yolunu seçin ve diğer parametreleri ihtiyaca göre yapılandırın.

    Örneğin, Pretrained Model Path açılır listesinde /mnt/models/Diffusion_Transformer/EasyAnimateV3-XL-2-InP-512x512/ yolunu seçin.

  3. Generate öğesini tıklayın. Yaklaşık 5 dakika sonra, sağ tarafta oluşturulan videoyu görüntüleyebilir veya indirebilirsiniz.

    Oluşturma tamamlandığında, sağ alt köşedeki Generation Info alanında Success ifadesi görünür; bu, videonun başarıyla oluşturulduğunu gösterir.

API

  1. Service details sayfasında, Resource Details bölümünde hizmet uç noktasını ve belirteci almak için View Call Information öğesini tıklayın.

  2. Video oluşturmak için hizmeti çağırın. Aşağıdaki Python kodu örnek bir istek sağlamaktadır:

    import os
    import requests
    import json
    import base64
    from typing import Dict, Any
    
    class EasyAnimateClient:
        """
        API client for the EasyAnimate EAS service.
        """
        def __init__(self, service_url: str, token: str):
            if not service_url or not token:
                raise ValueError("The `service_url` and `token` parameters 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 to the model within the service, such as "/mnt/models/Diffusion_Transformer/EasyAnimateV3-XL-2-InP-512x512".
                edition: The model version. Defaults to "v3".
                timeout: The request timeout in seconds. A longer timeout is recommended as model loading can be slow.
            """
            # 1. Update the version.
            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 it to load.
            print(f"Sending request to load 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 a prompt.
    
            Args:
                prompt_textbox: The positive prompt in English.
                **kwargs: Other optional parameters. 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 response format: {result}")
    
            return base64.b64decode(result["base64_encoding"])
    
    # --- Example Usage ---
    if __name__ == "__main__":
        try:
            # 1. Configure the service information. Replace the placeholders with your actual service endpoint and token. We recommend setting them as environment variables.
            EAS_URL = "<eas-service-url>"
            EAS_TOKEN = "<eas-service-token>"
    
            # 2. Create the client.
            client = EasyAnimateClient(service_url=EAS_URL, token=EAS_TOKEN)
    
            # 3. Load the model. By default, no model is loaded after service deployment. You must call `update_model` at least once to specify the model to use before sending a generation request. To switch models later, call this method again.
            client.update_model(model_path="/mnt/models/Diffusion_Transformer/EasyAnimateV3-XL-2-InP-512x512")
    
            # 4. Generate the 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("Video saved successfully 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}")

    API parametre açıklaması


    Parametre


    Açıklama


    Tür


    Varsayılan


    prompt_textbox


    İstenen video içeriğini açıklayan olumlu bir istem (prompt).


    string


    Zorunludur. Varsayılan değer yok.


    negative_prompt_textbox


    Videoda nelerin hariç tutulacağını belirten olumsuz bir istem.


    string


    "The video is not of a high quality, it has a low resolution, and the audio quality is not clear. Strange motion trajectory, a poor composition and deformed video, low resolution, duplicate and ugly, strange body structure, long and strange neck, bad teeth, bad eyes, bad limbs, bad hands, rotating camera, blurry camera, shaking camera. Deformation, low-resolution, blurry, ugly, distortion."


    sample_step_slider


    Diffüzyon modelinin gürültü giderme süreci için örnek alma adım sayısı. Daha fazla adım daha zengin detaylar üretebilir ancak oluşturma süresini artırır.


    int


    30


    cfg_scale_slider


    İstem rehberlik ölçeği. Daha yüksek değerler istem uyumunu artırır ancak çeşitliliği azaltabilir.


    float


    6


    sampler_dropdown

    Kullanılacak örnek alma algoritması.

    Geçerli değerler: Euler, EulerA, DPM++, PNDM, DDIM


    string


    Euler


    width_slider


    Oluşturulan videonun genişliği.


    int


    672


    height_slider


    Oluşturulan videonun yüksekliği.


    int


    384


    length_slider


    Oluşturulacak video kare sayısı.


    int


    144


    is_image


    Girdinin bir görüntü olup olmadığını belirtir.


    bool


    False


    lora_alpha_slider


    Düşük ranklı adaptasyon (LoRA) model parametrelerinin ağırlığı.


    float


    0.55


    seed_textbox


    Rastgele tohum değeri.


    int


    43


    lora_model_path

    Ek bir LoRA modelinin yolu.

    Belirtilirse, LoRA modeli mevcut istek için yüklenir ve istek tamamlandıktan sonra kaldırılır.


    string


    none


    base_model_path


    Güncellenecek transformer modelinin yolu.


    string


    none


    motion_module_path


    Güncellenecek motion_module modelinin yolu.


    string


    none


    generation_method


    Oluşturma türü. Geçerli değerler: Video Generation, Image Generation.


    string


    none

3. Adım: (İsteğe bağlı) Modelde ince ayar yapın

Belirli stillere veya içeriğe sahip videolar oluşturmak için modeli özel bir veri kümesi üzerinde ince ayar yapabilirsiniz. Şu adımları izleyin:

  1. PAI konsoluna giriş yapın. Sol gezinme bölmesinde Workspaces öğesini tıklayın, ardından hedef çalışma alanınızın adını bulup tıklayın.

  2. Sol gezinme bölmesinde Quick Start > Model Gallery yolunu izleyin.

  3. Model Gallery'de EasyAnimate HD Long Video Generation Model ifadesini aratın ve yapılandırma sayfasını açmak için Fine-tune öğesini tıklayın.

  4. Source öğesini Public Resources olarak ayarlayın. Instance type için A10 veya daha yüksek GPU'ya sahip bir örnek seçin. Hiperparametreleri ihtiyaca göre yapılandırın ve diğer parametreler için varsayılan değerleri koruyun.

    Modeli özel bir veri kümesiyle ince ayar yapmak için aşağıdaki kılavuzu kullanın:

    Özel veri kümesi

    1. Bir veri klasörü ve bir meta dosya hazırlayın. Veri klasörü, eğitim için kullanılan görüntüleri ve videoları içerir. Meta dosya JSON formatındadır; her giriş, sırasıyla file_path, text ve type alanlarıyla temsil edilen bir dosya yolu, metin açıklaması ve veri türünden oluşur. Örnek:

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

      Video verileri için type değerini video olarak ayarlayın. Görüntü verileri için type değerini image olarak ayarlayın.

    2. Eğitim yapılandırma sayfasında Select OSS File or Directory öğesini tıklayın, ardından veri klasörünü ve meta dosyayı yükleyip seçin.

  5. Eğitim görevini oluşturmak için Train > Confirm öğelerini tıklayın. Bu eğitimdeki yapılandırmayla eğitim süreci yaklaşık 40 dakika sürer. Görev durumu Successful olarak değiştiğinde model eğitimi tamamlanır.

    Eğitim görevi ayrıntılarını daha sonra görüntülemek için sol gezinme bölmesinde Model Gallery > Job Management > Training Jobs yolunu izleyin ve ardından görev adını tıklayın.
  6. Sağ üst köşede, ince ayar yapılmış modeli dağıtmak için Deploy öğesini tıklayın. Durum Running olarak değiştiğinde dağıtım tamamlanır.

  7. Service details sayfasında, sayfanın üst kısmındaki View WEB Application öğesini tıklayın.

    Hizmet ayrıntılarını daha sonra görüntülemek için sol gezinme bölmesinde Model Gallery > Job Management > Deployment Jobs yolunu izleyin ve ardından Service name öğesini tıklayın.
  8. WebUI'de, videolar oluşturmak için eğitilen LoRA modelini seçin. API kullanımı için bkz. 2. Adım.

    Model checkpoints bölümünde, Select LoRA model açılır listesinden LoRA modelini seçin ve LoRA alpha kaydırıcısını kullanarak ağırlığını ayarlayın.

Üretim önerileri

  • Maliyetleri düşürmek için örnekleri veya hizmetleri durdurun: Bu eğitim, genel kaynakları kullanarak DSW örnekleri ve EAS model hizmetleri oluşturur. Daha fazla ücretlendirilmeyi önlemek için, artık ihtiyaç duymadığınızda bu örnekleri ve hizmetleri durdurun veya silin.

    • Interactive Modeling (DSW) sayfasında hedef örneği bulun. Actions sütununda, çalışan bir örneği durdurmak için Stop öğesini veya durdurulmuş bir örneği silmek için Delete öğesini tıklayın.

    • Model Gallery sayfasında Task Management sekmesini tıklayın ve ardından Deployment Tasks alt sekmesine gidin. Hedef hizmeti bulun ve Actions sütununda Stop veya Delete öğesini tıklayın.

  • Üretim dağıtımı için EAS kullanın: Üretim ortamları için, modeli EAS'a tek tıklamayla dağıtmak üzere 2. Çözümü kullanın. 1. Çözümü kullandıysanız, özel bir çalışma zamanı görüntüsü oluşturarak modeli EAS'a dağıtabilirsiniz. Daha fazla bilgi için bkz. Modelleri çevrimiçi hizmetler olarak dağıtma.

    EAS, üretim iş yükleri için aşağıdaki özellikleri sunar:

    • Hizmet uç noktasının destekleyebileceği eşzamanlılık düzeyini test etmek için EAS'ın yük testi özelliğini kullanın.

    • Trafik artışlarını ve düşüşlerini yönetmek için örnekleri otomatik olarak ölçeklendiren ve hizmetin kararlı çalışmasını sağlayan EAS'ın otomatik ölçeklendirme özelliğini kullanın.

    • Hizmet sağlığını gerçek zamanlı olarak izlemek ve sistem kararlılığını ile güvenliği artırmak için EAS'ın günlük izleme ve uyarı özelliğini kullanın.

Referanslar

EAS, ComfyUI ve Stable Video Diffusion modellerine dayalı AI video oluşturma hizmetlerinin tek tıklamayla dağıtılması için senaryo tabanlı bir dağıtım yöntemi sunar. Daha fazla bilgi için bkz. AI Video Oluşturma - ComfyUI Dağıtımı.