ComfyUI adalah alat AIGC berbasis node yang dibangun di atas Stable Diffusion, dirancang untuk pembuatan video pendek dan produksi animasi. PAI-EAS mendukung penerapan layanan ComfyUI berdasarkan skenario.
Sebelum memulai
Batasan dan pertimbangan utama
Baca bagian ini sebelum menerapkan untuk menghindari pemborosan sumber daya dan kesalahan umum.
-
Sumber Daya Penerapan: Kami merekomendasikan tipe instans GPU GU30, NVIDIA A10, atau NVIDIA T4. Tipe instans
ml.gu7i.c16m60.1-gu30menawarkan rasio harga-kinerja terbaik.PentingSetiap instans PAI-EAS menjalankan satu proses ComfyUI dan hanya mendukung satu GPU (single-instance single-GPU atau multi-instance single-GPU). Inferensi paralel multi-GPU tidak didukung. Jangan memilih tipe instans multi-GPU (misalnya 2×A10). Tipe instans multi-GPU memboroskan sumber daya dan tidak meningkatkan kinerja tugas tunggal.
Scaling Horizontal: Untuk meningkatkan konkurensi, gunakan API Edition dan tingkatkan jumlah replica alih-alih memilih tipe instans multi-GPU.
Pilih edisi penerapan
Pilih edisi yang paling sesuai dengan kasus penggunaan Anda:
Edition | Use case | Access method | Key features | Billing method |
Standard Edition | Pengembangan dan pengujian oleh pengguna tunggal |
|
| Jika diterapkan pada sumber daya publik, penagihan dimulai segera setelah instans berjalan, meskipun tidak ada panggilan API. |
API Edition | Beban kerja produksi dengan konkurensi tinggi | Panggilan API (asinkron) |
| |
Cluster Edition WebUI | Tim multi-pengguna dan pelatihan | WebUI |
Untuk informasi selengkapnya tentang cara kerjanya, lihat Cara Kerja Cluster Edition |
Untuk informasi penagihan lebih lanjut, lihat Penagihan Elastic Algorithm Service (EAS).
Panggilan API sinkron dan asinkron berbeda berdasarkan apakah layanan antrian PAI-EAS digunakan:
Panggilan Sinkron: Mengirim permintaan langsung ke instans inferensi tanpa menggunakan layanan antrian PAI-EAS.
Panggilan Asinkron: Menggunakan layanan antrian PAI-EAS. Permintaan dikirim ke antrian input, dan hasil dikirimkan melalui model langganan.
Karena ComfyUI memiliki sistem antrian asinkron bawaan sendiri, bahkan panggilan sinkron diproses secara asinkron di balik layar. Setelah Anda mengirim permintaan, sistem mengembalikan Prompt ID yang digunakan untuk polling hasil inferensi.
Terapkan layanan
Standard Edition, Cluster Edition, dan API Edition: Anda dapat menggunakan penerapan model berbasis skenario untuk pengalaman yang disederhanakan, atau penerapan model kustom untuk opsi konfigurasi lanjutan.
Metode 1: Penerapan model berbasis skenario (direkomendasikan)
Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Lalu, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
Pada halaman Elastic Algorithm Service (EAS), klik Deploy Service. Di bagian Scenario-based Model Deployment, klik AI Video Generation: ComfyUI-based Deployment.
-
Konfigurasikan parameter utama berikut dan atur parameter lain sesuai kebutuhan:
Version: Lihat Pilih edisi penerapan.
-
Model Settings: Misalnya, menggunakan Object Storage Service (OSS), pilih bucket dan direktori. Setelah penerapan berhasil, sistem secara otomatis membuat direktori ComfyUI yang diperlukan di lokasi ini.
PentingPAI-EAS tidak mendukung instalasi node kustom (plugin) langsung dari jaringan melalui ComfyUI Manager atau Git Clone. Untuk menggunakan model Anda sendiri, menginstal node kustom, atau melakukan panggilan API, Anda harus mengonfigurasi mount penyimpanan ini.
Resource Configuration: Anda harus memilih tipe instans GPU. Kami merekomendasikan GU30, NVIDIA A10, atau NVIDIA T4.
ml.gu7i.c16m60.1-gu30menawarkan rasio harga-kinerja terbaik. Jika tipe instans ini tidak tersedia, pilihecs.gn6i-c16g1.4xlargesebagai gantinya.
Klik Deploy. Tunggu sekitar 5 menit. Ketika Service Status berubah menjadi Running, penerapan selesai.
Metode 2: Penerapan model kustom
Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Lalu, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
Klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.
-
Konfigurasikan parameter utama berikut:
Deployment Method: Pilih Image-based Deployment dan centang kotak pilihan Enable Web App.
-
Image Configuration: Di daftar Alibaba Cloud Image, pilih
comfyui:2.3. Konvensi penamaan versi gambar:x.xuntuk Standard Edition,x.x-apiuntuk API Edition, danx.x-clusteruntuk Cluster Edition.CatatanKarena versi sering diperbarui, pilih versi gambar terbaru yang tersedia saat menerapkan.
Untuk kasus penggunaan setiap edisi, lihat Pilih edisi penerapan.
-
Mount storage: Sebagai contoh menggunakan Object Storage Service (OSS), pilih bucket dan direktori. Setelah penerapan berhasil, sistem secara otomatis membuat direktori ComfyUI yang diperlukan di lokasi ini. Pastikan bucket berada di wilayah yang sama dengan layanan PAI-EAS.
PentingPAI-EAS tidak mendukung instalasi node kustom (plugin) langsung dari jaringan melalui ComfyUI Manager atau Git Clone. Untuk menggunakan model Anda sendiri, menginstal node kustom, atau melakukan panggilan API, Anda harus mengonfigurasi mount penyimpanan ini.
URI: Klik
untuk memilih direktori OSS yang sudah ada. Misalnya, oss://bucket-test/data-oss/.Mount Path: Atur ke
/mnt/datauntuk memasang direktori OSS ke path kontainer/mnt/data.
-
Command to Run:
Setelah Anda memilih versi gambar, sistem secara otomatis mengonfigurasi perintah waktu proses.
Jika Anda mengonfigurasi mount penyimpanan, Anda harus menambahkan parameter
--data-dirke Command, dan nilainya harus persis sesuai dengan Mount Path. Misalnya,python main.py --listen --port 8000 --data-dir /mnt/data --cache-root /stable-diffusion-cache.
Resource Type: Pilih Public Resources.
Deployment: Anda harus memilih tipe instans GPU. Kami merekomendasikan GU30, NVIDIA A10, atau NVIDIA T4.
ml.gu7i.c16m60.1-gu30menawarkan rasio harga-kinerja terbaik. Jika tipe instans ini tidak tersedia, pilihecs.gn6i-c16g1.4xlargesebagai gantinya.
Klik Deploy. Penerapan memerlukan waktu sekitar 5 menit. Ketika Service Status berubah menjadi Running, layanan telah diterapkan.
Gunakan layanan melalui WebUI
Standard Edition dan Cluster Edition mendukung akses melalui WebUI.
Buka antarmuka web
Klik nama layanan target untuk membuka halaman Overview, lalu klik Web Application di pojok kanan atas.
Jika halaman memerlukan waktu lama untuk dimuat, lihat Halaman hang atau memerlukan waktu terlalu lama untuk dimuat.
Gunakan alur kerja templat
ComfyUI menyediakan templat bawaan untuk tugas-tugas umum.
-
Pilih templat (misalnya, Wan VACE Text to Video).
CatatanTemplat bervariasi tergantung versi gambar ComfyUI. Jika templat contoh tidak tersedia, pilih templat lain atau muat file alur kerja dari sistem file lokal.
Setelah alur kerja dimuat, Anda mungkin melihat error tentang model yang hilang. Anda dapat mengabaikan error ini (kami merekomendasikan memilih opsi untuk tidak menampilkan pesan ini lagi).
-
Karena path model mungkin telah berubah, menjalankan alur kerja secara langsung dapat menghasilkan error berikut:
Prompt outputs failed validation: UNETLoader: - Value not in list: unet_name: 'wan2.1_vace_14B_fp16.safetensors' not in (list of length 200) LoraLoader: - Value not in list: lora_name: 'Wan21_CausVid_14B_T2V_lora_rank32.safetensors' not in (list of length 364)Di bagian Load models here, pilih ulang
wan2.1_vace_14B_fp16.safetensorsdi loader UNET danWan21_CausVid_14B_T2V_lora_rank32.safetensorsdi loader LoRA. Setelah alur kerja berhasil dijalankan, video yang dihasilkan muncul di bagian Save Video.

Gunakan model dan node kustom
-
Pastikan layanan telah dikonfigurasi dengan mount penyimpanan. Setelah layanan diterapkan, sistem secara otomatis membuat struktur direktori berikut di penyimpanan OSS atau NAS yang dimount.
data-oss/ ├── custom_nodes/ # File node kustom (plugin ComfyUI) ├── models/ # File model ├── input/ ├── output/ ├── unet/ └── temp/ -
Unggah file model atau node. Misalnya, Anda dapat menggunakan OSS dan mengunggah file ke OSS melalui konsol. Untuk file besar, lihat Bagaimana cara mengunggah objek besar ke OSS?.
-
Unggah file model: Periksa dokumentasi repositori sumber untuk node yang menggunakan model tersebut, dan unggah model ke subdirektori yang sesuai di bawah
models. Misalnya:Checkpoint loader: Unggah model ke
models/checkpoints.Style model loader: Unggah model ke
models/styles.
Unggah file node: Unggah node kustom ke direktori
custom_nodesdi penyimpanan yang dimount.
-
-
Muat konten baru.
Model: Di bagian atas halaman, klik PaiCustom > Load New Models. Jika model masih tidak muncul, klik PaiCustom > Restart Process. Setelah proses dimulai ulang, refresh halaman browser.
Node: Klik Restart Process. Setelah proses dimulai ulang, refresh halaman browser.
Panggil layanan melalui API
Anda dapat memanggil layanan ComfyUI melalui API-nya untuk mengintegrasikannya ke dalam aplikasi Anda guna pembuatan konten otomatis. Alur kerja inti: kirim JSON alur kerja > dapatkan ID tugas > gunakan ID tugas untuk mengambil hasil generasi.
Dukungan edisi: Standard Edition hanya mendukung panggilan sinkron dan menyediakan debugging online. API Edition hanya mendukung panggilan asinkron dan hanya endpoint /prompt.
Mengambil output yang dihasilkan: Gambar dan video yang dihasilkan disimpan di direktori
outputyang dimount. Respons API mengembalikan nama file dan nama subdirektori, bukan file itu sendiri. Untuk OSS, buat path file lengkap untuk mengunduh file tersebut. Untuk informasi selengkapnya, lihat Unduh file OSS menggunakan Alibaba Cloud SDK.
Siapkan badan permintaan API
Format badan permintaan tergantung pada metode pemanggilan:
Panggilan sinkron: Bungkus konten JSON alur kerja di dalam pasangan kunci-nilai
prompt.Panggilan asinkron: Badan permintaan adalah konten JSON alur kerja secara langsung.
Cara mengunduh alur kerja: Di pojok kiri atas halaman ComfyUI, klik
> File > Export (API).
Karena alur kerja Wan VACE Text to Video di atas memakan waktu lama, alur kerja uji berikut disediakan untuk pengujian yang lebih mudah (setiap eksekusi memerlukan waktu sekitar 3 menit).
Panggilan sinkron
Panggilan sinkron mengirim permintaan langsung ke instans layanan PAI-EAS. Metode ini cocok untuk pengembangan, pengujian, dan skenario konkurensi rendah.
Debugging online
Debugging online memungkinkan Anda menguji panggilan API langsung di konsol tanpa menulis kode. Ini berguna untuk memvalidasi konfigurasi alur kerja dengan cepat.
Pada halaman Elastic Algorithm Service (EAS), klik Online Debugging di kolom Actions layanan target untuk membuka halaman debugging online.
Panggilan berbasis kode
Anda dapat memanggil API melalui kode untuk mengintegrasikan ComfyUI ke dalam aplikasi Anda. Alur kerjanya sama dengan debugging online: pertama-tama dapatkan Prompt ID, lalu kueri hasil inferensi.
Panggilan asinkron
Panggilan asinkron dirancang untuk beban kerja produksi dengan konkurensi tinggi. Metode ini menggunakan layanan antrian PAI-EAS untuk load balancing. Permintaan langsung dikembalikan, dan Anda mengambil hasil dengan berlangganan ke antrian hasil.
Panggilan asinkron hanya mendukung endpoint api_prompt. Parameter task_id adalah pengenal penting untuk mencocokkan permintaan dengan hasil. Tetapkan nilai unik untuk setiap permintaan agar Anda dapat menghubungkannya dengan hasil antrian yang sesuai. Path permintaan adalah:
{service_url}/api_prompt?task_id={assign a unique value}
FAQ
Berikut adalah masalah umum dan solusi untuk penerapan dan penggunaan ComfyUI.
Masalah penerapan
T: Layanan tetap dalam status menunggu atau ComfyUI tidak dapat menghasilkan output
Ini biasanya disebabkan oleh sumber daya yang tidak mencukupi. Verifikasi bahwa gambar layanan dan tipe instans dikonfigurasi dengan benar. Kami merekomendasikan tipe instans GPU GU30, NVIDIA A10, atau NVIDIA T4. Tipe instans ml.gu7i.c16m60.1-gu30 menawarkan rasio harga-kinerja terbaik.
Masalah model dan node
T: WebUI menampilkan error "Missing Model"
Masalah: Kotak dialog berjudul Missing Model menunjukkan bahwa model di checkpoints/v1-5-pruned-emaonly-fp16.safetensors hilang, dan peringatan merah di sebelah kiri menunjukkan Invalid directory specified (does this require custom nodes?).
Solusi: Anda dapat mengabaikan error ini dengan aman. Pemeriksaan validasi ini tidak berlaku untuk ComfyUI yang diterapkan di PAI. Rujuklah error runtime aktual sebagai gantinya.
Kami merekomendasikan memilih opsi untuk tidak menampilkan pesan ini lagi, atau nonaktifkan validasi model di Settings.
T: Saya mengunggah model baru tetapi tidak dapat menemukannya
Solusi:
Klik PaiCustom dan pilih Load New Models.
Jika model masih tidak muncul, klik Restart Process.
T: Pemuat model menampilkan "undefined"
Pertama, verifikasi bahwa file model ditempatkan di direktori yang benar sesuai persyaratan node loader model.
Jika Anda mengunggah model setelah penerapan, mulai ulang layanan.
T: Tidak dapat menemukan node
Untuk node yang baru diinstal, mulai ulang layanan.
Jika node belum diinstal, lihat Gunakan model kustom dan instal node (plugin ComfyUI).
T: ComfyUI Manager gagal mengunduh model atau menginstal node
Kami tidak merekomendasikan menggunakan ComfyUI Manager dengan ComfyUI yang diterapkan di PAI-EAS. ComfyUI Manager mengunduh model dan kode plugin dari sumber eksternal seperti GitHub, yang sering gagal karena pembatasan jaringan.
Sebagai gantinya, unggah file model dan node ke penyimpanan yang dimount. Untuk informasi selengkapnya, lihat Gunakan model kustom dan instal node (plugin ComfyUI).
T: Cara melihat file model dan node (plugin ComfyUI) yang tersedia
File model: Periksa dari node loader model yang sesuai. Misalnya, lihat file model yang tersedia di daftar drop-down loader Checkpoint.
Node: Klik kanan halaman WebUI dan klik Add Node di menu konteks untuk melihat semua plugin ComfyUI yang terinstal.
Error runtime
T: Halaman hang atau memerlukan waktu terlalu lama untuk dimuat
Refresh halaman, bersihkan cache browser, atau akses layanan dalam mode penyamaran/privat.
Jika penyimpanan dimount, hapus file di direktori
input/,output/, dantemp/.Coba mulai ulang layanan.
T: Proses dimulai ulang di tengah alur kerja
Jika log instans berisi run.sh: line 54: 531285 Killed python -u main_run.py "$@", proses dihentikan karena kondisi kehabisan memori (OOM). Proses secara otomatis dimulai ulang setelah kejadian OOM.
T: RuntimeError: CUDA error: out of memory
Ini berarti memori GPU habis. Untuk model gambar, kurangi resolusi gambar atau ukuran batch. Untuk model video, kurangi jumlah frame atau resolusi.
T: Panggilan API mengembalikan "url not found" atau "404 page not found"
Verifikasi bahwa URL endpoint API lengkap. Untuk panggilan sinkron, Anda harus menambahkan path
/prompt.
Lainnya
T: Kinerja akselerasi xFormers
xFormers adalah tool akselerasi berbasis Transformer open-source yang mengurangi waktu generasi gambar dan video serta penggunaan memori GPU.
Gambar ComfyUI memiliki akselerasi xFormers yang diaktifkan secara default. Efek akselerasi tergantung pada ukuran alur kerja, dengan peningkatan paling terlihat pada operasi yang intensif GPU, terutama dengan GPU NVIDIA.
Langkah selanjutnya
Setelah Anda menerapkan layanan ComfyUI, Anda dapat:
Pemantauan Layanan: Konfigurasikan pemantauan dan peringatan untuk melacak kesehatan layanan secara real-time. Untuk informasi selengkapnya, lihat Lihat metrik pemantauan layanan.
Auto scaling: Konfigurasikan kebijakan auto scaling berdasarkan beban kerja untuk mengoptimalkan penggunaan sumber daya dan biaya. Untuk informasi selengkapnya, lihat Auto scaling.
Optimasi Biaya: Pahami metode penagihan PAI-EAS dan pilih tipe instans serta edisi penerapan yang tepat untuk mengurangi biaya. Untuk informasi selengkapnya, lihat Ikhtisar Penagihan.
Referensi
Instal paket Python
Instal paket .whl dengan menjalankan perintah
Pastikan layanan telah dikonfigurasi dengan mount penyimpanan. Misalnya, asumsikan path OSS (URI) adalah
oss://examplebucket/comfyui/dan path mount adalah/mnt/data/.Unggah file
.whlke direktorioss://examplebucket/comfyui/models/whl. Jika direktoriwhlbelum ada, buat terlebih dahulu.Perbarui Command to Run layanan: Tambahkan
pip install /mnt/data/models/whl/xxx.whldi awal perintah waktu proses. Dalam perintah ini,/mnt/dataadalah path mount OSS, dan xxx.whl adalah nama paket .whl.Mulai ulang layanan.
Instal paket melalui konfigurasi pustaka pihak ketiga
Pada halaman detail layanan, klik Update di pojok kanan atas.
Jika layanan diterapkan melalui penerapan model berbasis skenario, beralihlah ke penerapan model kustom.
Di bagian Environment Information, konfigurasikan dependensi di area Third-party Library Configuration.
Klik Update di bagian bawah halaman untuk menerapkan pembaruan.
Perbarui versi gambar
Jika layanan memiliki penyimpanan OSS atau NAS yang dimount, model kustom disimpan di penyimpanan OSS atau NAS tersebut dan tidak terpengaruh oleh pembaruan versi gambar.
Pada halaman detail layanan, klik Update di pojok kanan atas.
Jika layanan diterapkan melalui penerapan model berbasis skenario, beralihlah ke penerapan model kustom.
Di bagian Service Configuration, edit konfigurasi JSON dan perbarui field
imagedi bawahcontainerske versi yang diinginkan (misalnya, ubah 1.9 ke versi target).Klik Update Directly.
Hasilkan URL akses web tanpa login dengan periode validitas kustom
Anda dapat menggunakan API untuk menghasilkan URL akses web tanpa login dengan periode validitas tertentu.
Buka halaman API DescribeServiceSignedUrl.
Pilih endpoint layanan.
-
Atur parameter berikut:
-
ClusterId (Wilayah) dan ServiceName: Masukkan wilayah dan nama layanan.
Di halaman ikhtisar layanan EAS, field Service Name menunjukkan nilai ServiceName. Wilayah tertanam dalam alamat gambar node (misalnya,
cn-hangzhousesuai dengan nilai wilayah ClusterId). Anda dapat mengklik View Web Application di pojok kanan atas untuk membuka layanan. Type (Jenis halaman): Pilih webview dari daftar drop-down.
Expire (Waktu kedaluwarsa): Masukkan bilangan bulat dalam detik. Nilai maksimum adalah 43200 detik (12 jam). Atur sesuai kebutuhan.
Internal (Akses VPC): Atur ke false (akses publik) atau true (akses VPC).
-
Klik Call API. Field
SignedUrldalam respons berisi URL akses web tanpa login.
Ubah bahasa default WebUI
Di halaman WebUI, klik tombol Settings di pojok kiri bawah.
-
Konfigurasikan bahasa di dua lokasi berikut, lalu refresh dan muat ulang halaman.
Comfy > Locale.
Language > Locale.
Lampiran
Cara Kerja Cluster Edition
Diagram berikut menunjukkan arsitekturnya:
Cluster Edition dirancang untuk skenario multi-pengguna. Ini memperkenalkan lapisan proxy yang memisahkan klien dari instans inferensi backend.
Setiap pengguna memiliki lingkungan backend dan direktori kerja independen, tetapi berbagi pool instans inferensi GPU backend.
Ketika pengguna mengirim permintaan inferensi, proxy memilih instans yang tersedia dari pool untuk menangani permintaan tersebut.
Mekanisme multiplexing waktu ini mengisolasi lingkungan pengguna sekaligus memaksimalkan pemanfaatan sumber daya GPU dan mengurangi biaya inferensi dalam skenario multi-pengguna.
