⚠️ 注意: AI画像生成時は著作権・肖像権にご注意ください。商用利用前には各サービスの利用規約をご確認ください。当ブログは生成された画像に関する責任を負いかねます。
📝 本記事にはアフィリエイトリンクが含まれています。
要約
ACE-Step 1.5 XLをRunPod上のComfyUIで動かすために、公開用のRunPodテンプレートを作りました。
2026年8月にテンプレートを v3.0.0 へ更新して、ComfyUIを 0.32.0 に上げ、CUDA 12.8版とCUDA 13.0版の2本立てにしています。
同じ構成で試したい場合は、以下のDeployリンクから起動できます。
| 用途 | テンプレート | Deploy |
|---|---|---|
| まずはこちら | ComfyUI-ACE-Step1.5XL-cuda12.8-v3-FreeCraftLog |
RunPodでDeploy |
| CUDA 13.0のGPUを使いたい場合 | ComfyUI-ACE-Step1.5XL-cuda130-v3-FreeCraftLog |
CUDA 13.0版をDeploy |

この記事では、公開テンプレートの使い方、base / SFT / turboの選び方、RTX 4090で30秒の楽曲を生成した時間、つまずいた点をまとめます。
v3.0.0 に更新した内容へ全面的に書き直しました。CUDA 12.4版は廃止したので、以前の記事を見て12.4版を探していた方はCUDA 12.8版を使ってください。生成時間も条件を揃えて測り直しています。はじめに
ACE-Step 1.5 XLは、ComfyUIからAI音楽生成を試せるモデルです。
ただ、RunPodで毎回モデルやtext encoderを確認しながら環境を作るのは手間でした。
そこで、ComfyUIのworkflow templateを選ぶだけでACE-Step 1.5 XLを実行できるRunPodテンプレートとしてまとめました。
この記事は、RunPodテンプレート作成シリーズのACE-Step 1.5 XL編です。Wan2.2用のRunPodテンプレートも同じ構成で公開しています。Wan2.2用ComfyUIテンプレート記事もあわせてどうぞ。
ACE-Step 1.5 XL用ComfyUIテンプレートの構成
作ったのは、ACE-Step 1.5 XLをRunPod上のComfyUIで試すための公開テンプレートです。
公開リポジトリはこちらです。
テンプレートでは、GHCRに置いた事前ビルド済みimageを使います。
| 用途 | Container image |
|---|---|
| 既定 | ghcr.io/ryoheitanaka/runpod-templates-acestep15xl:v3.0.0-cuda12.8 |
| CUDA 13.0版 | ghcr.io/ryoheitanaka/runpod-templates-acestep15xl:v3.0.0-cuda13.0 |
Start Commandは以下です。
/opt/runpod/start.sh

image build時に、OS package、ComfyUI、Python dependencies、huggingface_hubを入れておき、Pod起動時にはモデル配置とComfyUI起動を行います。
公開テンプレートから使う方法
まず試すなら、CUDA 12.8版の ComfyUI-ACE-Step1.5XL-cuda12.8-v3-FreeCraftLog を使います。
RunPodの登録やクレジット追加がまだの場合は、先にRunPodの始め方ガイドを参考にしてください。

Pod作成時に見るポイントは以下です。
| 項目 | 推奨値 |
|---|---|
| Template | ComfyUI-ACE-Step1.5XL-cuda12.8-v3-FreeCraftLog |
| Container Disk | 100 GB |
| Volume Mount Path | /workspace |
| Ports | 8188/http, 22/tcp |
| Start Command | /opt/runpod/start.sh |
ACESTEP_XL_VARIANT |
all |
ACESTEP_LM |
all |
起動後はComfyUIを開き、workflow templateからACE-Step 1.5 XL系のワークフローを選んで実行します。
ACE-Step 1.5 XL自体の概要やComfyUIでの基本的な使い方は、ACE-Step 1.5 XLの解説記事でまとめています。
base / SFT / turboとtext encoderの選び方
このテンプレートでは、ACE-Step 1.5 XLのdiffusion modelを環境変数で切り替えられるようにしています。
| 環境変数 | 用途 |
|---|---|
ACESTEP_XL_VARIANT=xl_base |
baseのみ |
ACESTEP_XL_VARIANT=xl_sft |
SFTのみ |
ACESTEP_XL_VARIANT=xl_turbo |
turboのみ |
ACESTEP_XL_VARIANT=all |
3種類すべて |
text encoderも同じように切り替えられます。
| 環境変数 | 用途 |
|---|---|
ACESTEP_LM=qwen_0.6b |
qwen 0.6B |
ACESTEP_LM=qwen_1.7b |
qwen 1.7B |
ACESTEP_LM=qwen_4b |
qwen 4B |
ACESTEP_LM=all |
3種類すべて |
最初は all にしています。モデル容量は増えますが、ComfyUIのworkflow templateを切り替えたときにtext encoder不足で止まるのを避けるためです。
CUDA 12.8版とCUDA 13.0版の使い分け
GPUの世代にかかわらず、まずはCUDA 12.8版を使ってください。
以前のこの記事では「RTX 3090 / 4090はCUDA 12.4版、RTX 5090はCUDA 12.8版」と書いていましたが、v3.0.0 でCUDA 12.4版を廃止したので、この出し分けはなくなりました。ComfyUI 0.32.0 が要求する comfy-kitchen がPyTorch 2.5以上を前提としていて、CUDA 12.4ベースのPyTorch 2.4系ではComfyUIが起動しなくなったためです。
RTX 3090でもCUDA 12.8や13.0のホストは割り当てられるので、古めのGPUが取り残されることはありません。
CUDA 13.0版は、CUDA 13.0対応のGPUを選んで使う場合の選択肢です。新しいCUDAのimageほど、起動できるホストは狭くなります。 imageはホスト側ドライバのCUDAバージョンを要求していて、条件を満たさないホストではコンテナが起動する前に失敗するためです。
| image | ホストへの要求 | 起動できるホスト |
|---|---|---|
cuda12.8 |
cuda>=12.8 |
12.8のホストと13.0のホストの両方 |
cuda13.0 |
cuda>=13.0 |
13.0のホストのみ |
この経緯はWan2.2用ComfyUIテンプレート記事のほうで詳しく書いています。実際に引いたホストのばらつきやエラーメッセージも載せているので、CUDA 13.0版を使う前に目を通しておくと迷わないと思います。
テンプレートの仕組み
事前ビルドimageで何を済ませているか
事前ビルドimageでは、以下を済ませています。
git,git-lfs,curl,ffmpeg,libsndfile1などをinstall/opt/ComfyUIにComfyUI0.32.0をclone- ComfyUI requirementsをinstall
huggingface_hubをinstall/opt/runpod/start.shをimage内に配置
Pod起動時に毎回ComfyUIのinstallから始めると、起動時間と失敗要因が増えます。そこで、ComfyUI本体と依存関係はimage側で済ませ、Pod起動時はモデル配置とComfyUI起動に寄せました。
ダウンロード高速化の指定は HF_XET_HIGH_PERFORMANCE=1 を使っています。以前使っていた HF_HUB_ENABLE_HF_TRANSFER は現在は非推奨で、設定しても効きません。
Pod起動時に何をしているか
Pod起動時の start.sh では、主に以下を行います。
/workspace/models/acestep15xl、/workspace/logs、/workspace/outputsを作成- sshdを起動
ACESTEP_XL_VARIANTに応じてdiffusion modelをダウンロードACESTEP_LMに応じてqwen text encoderをダウンロードace_1.5_vae.safetensorsをダウンロード/opt/ComfyUI/models/*へsymlink0.0.0.0:8188でComfyUIを起動
モデルはimageに含めず、Pod起動時に /workspace/models/acestep15xl へ配置します。RunPod上でComfyUIを開いた後の基本操作は、RunPodでComfyUIを使う方法でも整理しています。
SSHで入れるようになりました
v1.0.0 のテンプレートは、SSHが繋がりませんでした。imageの CMD が公式イメージのentrypointを置き換えてしまっていて、PUBLIC_KEY は届いているのにsshdが起動していない状態だったためです。
v2.0.0 で start.sh がsshdを起動するように直しました。起動ログに以下が出ていれば動いています。
[start] sshd started
Hugging Face tokenは設定推奨
ACE-Step 1.5 XLは大きめのモデルやtext encoderを使います。未認証でも取得できるファイルがある場合でも、Hugging Face tokenを設定しておいたほうが、rate limitやダウンロード安定性の面で安心です。
テンプレートには HF_TOKEN=your-huggingface-token というplaceholderを入れています。本物のtokenを使う場合は、Pod作成時に差し替えてください。
proxy URLは認証なしで公開されます
8188/http のproxy URLには認証がありません。URLを知っていれば誰でもComfyUIを操作できますし、input/ と output/ の中身も見えます。
生成した音源を置いたまま長時間起動しておくのは避けて、必要ならSSH port forward経由で使うほうが安全です。
ssh -N -L 8188:localhost:8188 root@<pod-ip> -p <ssh-port> -i <秘密鍵>
動作確認と生成時間
RTX 4090 / CUDA 12.8版で、30秒の楽曲を生成した時間です。ComfyUI 0.32.0 / comfy-kitchen 0.2.30 / comfy-aimdo 0.4.13 で測っています。
3つのvariantで、text encoderは DualCLIPLoader(qwen_0.6b + qwen_4b)に揃えました。タグ、シード、尺、キー、BPMも共通です。違うのはstepsとcfgだけになります。
| Variant | Steps / CFG | 生成時間 |
|---|---|---|
| XL Turbo | 8 / 1.0 | 25.8秒 |
| XL Base | 20 / 5.0 | 28.6秒 |
| XL SFT | 20 / 5.0 | 28.3秒 |
生成サンプルです。3本とも同じタグとシードで、上の表と同じ条件で出しています。
steps を2.5倍にしても3秒しか変わりませんでした
turboは8 steps、baseとSFTは20 stepsです。step数は2.5倍違うのに、生成時間の差は3秒ほどしかありませんでした。
理由は、generate_audio_codes のLLMパスが実行時間の大半を占めていて、拡散のstep数が支配的ではないためです。
裏付けになる測定もあります。同じturboの8 stepsでも、text encoderを qwen_1.7b 単体にすると16.5秒でした。qwen_4b に変えただけで25.8秒です。encoder側が9秒ほどを占めている一方、steps 12本分の差は3秒ほど(1 stepあたり0.25秒程度)ということになります。
qwen_1.7b 単体になっていて、比較として成立していませんでした。条件を揃えて測り直した上の表を見てください。起動時間は日によって大きく変わります
Pod作成から生成できる状態になるまでの時間は、モデルのダウンロードが大半を占めます。そしてこのダウンロード速度が、Hugging Face側の状況で大きく振れました。
速いときはPod作成から約1分30秒で生成できる状態になりました。混んでいるときは、同じ構成で45分ほどかかったこともあります。同じ日のうちに、実効速度が約680MB/sから約11MB/sまで落ちたこともありました。
これはテンプレート側ではなくHugging Face側の事情なので、リージョンを変えても改善しませんでした。時間に余裕を持って触るか、遅いと感じたら一度Podを作り直すくらいの構えでいるとよさそうです。
コスト感
RunPodはPodの稼働時間に対して課金されます。生成処理そのものは30秒前後で終わりますが、実際にはモデルのダウンロード、ComfyUIの操作時間、idle timeもすべて課金対象です。
GPU単価とストレージ単価は変動しますし、選ぶGPUやリージョンでも変わります。Pod作成画面の右側に時間あたりの合計が出るので、Deployする前にそこを確認するのが確実です。
生成が終わったらPodを止める、という運用にしておけば、この手の検証で大きく使ってしまうことはないと思います。
つまずいたところ
大きなモデルを続けて積むと、コンテナごと落ちることがあります
base を回した直後に sft を実行したら、tracebackも出さずにコンテナが再起動しました。クリーンな状態なら sft 単体は通るので、variant側の問題ではありません。
最初はVRAM不足だと思っていましたが、違いました。ComfyUIと comfy-aimdo はホスト側のRAMを見ていて、コンテナに割り当てられた上限を見ていません。起動ログにこう出ます。
Total VRAM 24081 MB, total RAM 257566 MB
Enabled pinned memory 231809.0
ホストRAMの231GBを前提にpinned memoryを確保しようとするため、2本目の大きなモデルを積んだところでコンテナ側の上限を超えてOOM killされます。Wan2.2のテンプレートでも、2本目のエキスパートをロードした瞬間に同じ落ち方をしました。
同じ操作でも、引いたマシン次第で起きたり起きなかったりします。落ちたマシンは total RAM 257566 MB、通ったマシンは 515790 MB でした。
対処としては以下です。
- Podを作ったら
/system_statsのram_totalを確認する - モデルを切り替えるときは
/freeを挟む、またはPodを分ける - 落ちたら、RAMの大きいマシンを引き直す
RAMが小さいマシンでは、/free を挟んでも2本目で落ちることがありました。variantを比較したいときは、Podを分けてしまうほうが確実です。
huggingface-cliがdeprecatedだった
最初は huggingface-cli download を使っていましたが、以下の警告が出ました。
Warning: huggingface-cli is deprecated and no longer works. Use hf instead.
そのため、hf download を使う形に変更しました。
text encoderが足りなかった
最初は qwen_1.7b だけでよいと思っていました。しかし、workflow templateによっては qwen_0.6b や qwen_4b も参照します。
そこで ACESTEP_LM=all を標準にして、text encoder不足で止まりにくい構成にしました。生成時間を比較するときも、encoderが揃っていないと条件が揃わないので、結果的にこれで助かっています。
80GB diskでは薄かった
diffusion model 3本とtext encoder 3本を入れると、モデル本体だけでかなり容量を使います。cacheや一時ファイルも考えると、80GBでは余裕が薄かったため、Container Diskは100GBにしました。
RTX 5090はCUDA 12.4でcontainer createに失敗した
v1.0.0 の頃の話です。RTX 5090では、CUDA 12.4 imageがsetup scriptに入る前のcontainer create段階で失敗しました。そのため当時はCUDA 12.8版を別に用意していました。
v3.0.0 ではCUDA 12.4版自体がなくなったので、この使い分けは不要になっています。
使い終わったらPodを止める
音楽生成も、GPUを起動したままにすると料金が発生します。生成が終わったら、RunPod consoleでPodの停止または削除を確認してください。
生成した音声ファイルを残したい場合は、Podを停止または削除する前に必ずダウンロードしておきます。
まとめ
ACE-Step 1.5 XL用のRunPodテンプレートは、v3.0.0 で以下の構成になりました。
- ComfyUIは
0.32.0。依存はcomfy-kitchen 0.2.30などに固定されている - CUDA 12.8版を既定にする。GPUの世代による出し分けは不要になった
- CUDA 13.0版は、
Available CUDA versionsが13.0のGPUを選んで使う - ComfyUIと依存関係はimage build時に用意
- diffusion model 3本とtext encoder 3本を
allで配置できる - base / SFT / turboをComfyUI workflow templateから選んで実行できる
- sshdを起動するので、direct SSHで入れる
- RTX 4090で30秒の楽曲を、条件を揃えて3 variantとも生成確認済み
同じ構成でACE-Step 1.5 XLを試す場合は、公開テンプレートからDeployするのが早いです。
関連記事




⚠️ AI画像生成をご利用の際の重要な注意事項
著作権・知的財産権について
- 既存のキャラクター、作品、ブランドロゴなどの模倣・複製は著作権侵害にあたる可能性があります
- 商用利用時は特に注意が必要です
肖像権について
- 実在人物(著名人・一般人問わず)の顔や特徴を模倣した画像生成はお控えください
- 無断での肖像権使用は法的トラブルの原因となります
利用規約の確認
- 各AI画像生成サービスの利用規約を必ずご確認ください
- 商用利用の可否、生成画像の権利関係は各サービスで異なります
免責事項
- 当ブログの情報を参考にしたAI画像生成により生じた問題について、当ブログは一切の責任を負いません
- 法的問題が生じた場合は、利用者の自己責任となります
- 最新の法律・規約情報は公式情報をご確認ください
適切なAI画像生成を心がけ、創作活動を楽しみましょう。
詳細についてはAIと著作権についてをご覧ください。



コメント