ComfyPilotComfyPilot
工作流 / 音频 / ACE-Step 1.5 音乐生成 AIO

ACE-Step 1.5 音乐生成 AIO

ACE-Step 1.5 Music Generation AIO

输入风格标签和歌词以生成一首完整的歌曲。该工作流使用ACE-Step 1.5模型,在消费级硬件上不到10秒即可生成商业级音乐。

音频 11 个节点 75 次使用 ComfyUI ≥ 0.25.0 ComfyUI 20 KB

下载工作流 JSON 查看官方来源

下载后把文件拖进 ComfyUI 窗口即可打开。

需要的权重

这个工作流引用了 1 个权重文件,其中 1 个能在本站模型库里找到。

ace_step_1.5_turbo_aio.safetensors 在模型库查看

节点构成

PrimitiveNode × 2
CheckpointLoaderSimple × 1
TextEncodeAceStepAudio1.5 × 1
ModelSamplingAuraFlow × 1
VAEDecodeAudio × 1
EmptyAceStep1.5LatentAudio × 1
KSampler × 1
ConditioningZeroOut × 1
MarkdownNote × 1
SaveAudioAdvanced × 1

官方标注的模型

ACE-Step

工作流 JSON

和上面「下载工作流 JSON」是同一份文件。

1{
2 "id": "88ac5dad-efd7-40bb-84fe-fbaefdee1fa9",
3 "revision": 0,
4 "last_node_id": 106,
5 "last_link_id": 261,
6 "nodes": [
7 {
8 "id": 97,
9 "type": "CheckpointLoaderSimple",
10 "pos": [
11 -210,
12 -670
13 ],
14 "size": [
15 430,
16 150
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [],
22 "outputs": [
23 {
24 "name": "MODEL",
25 "type": "MODEL",
26 "links": [
27 247
28 ]
29 },
30 {
31 "name": "CLIP",
32 "type": "CLIP",
33 "links": [
34 244
35 ]
36 },
37 {
38 "name": "VAE",
39 "type": "VAE",
40 "links": [
41 248
42 ]
43 }
44 ],
45 "properties": {
46 "Node name for S&R": "CheckpointLoaderSimple",
47 "cnr_id": "comfy-core",
48 "ver": "0.11.1",
49 "models": [
50 {
51 "name": "ace_step_1.5_turbo_aio.safetensors",
52 "url": "https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/checkpoints/ace_step_1.5_turbo_aio.safetensors",
53 "directory": "checkpoints"
54 }
55 ],
56 "enableTabs": false,
57 "tabWidth": 65,
58 "tabXOffset": 10,
59 "hasSecondTab": false,
60 "secondTabText": "Send Back",
61 "secondTabOffset": 80,
62 "secondTabWidth": 65
63 },
64 "widgets_values": [
65 "ace_step_1.5_turbo_aio.safetensors"
66 ],
67 "widgets_values_named": {
68 "ckpt_name": "ace_step_1.5_turbo_aio.safetensors"
69 }
70 },
71 {
72 "id": 94,
73 "type": "TextEncodeAceStepAudio1.5",
74 "pos": [
75 270,
76 -670
77 ],
78 "size": [
79 620,
80 570
81 ],
82 "flags": [],
83 "order": 6,
84 "mode": 0,
85 "inputs": [
86 {
87 "name": "clip",
88 "type": "CLIP",
89 "link": 244
90 },
91 {
92 "name": "seed",
93 "type": "INT",
94 "widget": {
95 "name": "seed"
96 },
97 "link": 257
98 },
99 {
100 "name": "duration",
101 "type": "FLOAT",
102 "widget": {
103 "name": "duration"
104 },
105 "link": 251
106 }
107 ],
108 "outputs": [
109 {
110 "name": "CONDITIONING",
111 "type": "CONDITIONING",
112 "links": [
113 254,
114 255
115 ]
116 }
117 ],
118 "properties": {
119 "Node name for S&R": "TextEncodeAceStepAudio1.5",
120 "cnr_id": "comfy-core",
121 "ver": "0.11.1",
122 "enableTabs": false,
123 "tabWidth": 65,
124 "tabXOffset": 10,
125 "hasSecondTab": false,
126 "secondTabText": "Send Back",
127 "secondTabOffset": 80,
128 "secondTabWidth": 65
129 },
130 "widgets_values": [
131 "Neo-Soul: A warm, organic neo-soul track dripping with live instrumentation and effortless groove. A live drummer plays a loose, hip-hop influenced pocket—soft kick drum with lazy swing, snare hits that sit just behind the beat, and brushed hi-hats that breathe and shuffle with human imperfection.",
132 "[Intro - Guitar Riff & Drums]\nmm…\nyeah…\nlet it breathe…\n\n[Verse 1]\nLate night glow on your skin \nWindow cracked, city hums again \nCoffee rings on the table top \nTime don’t rush, it just drops \n\nLoose kick drum, heart runs slow \nSnare talks back, says “take it low” \nEvery step just slightly late \nStill we land right on the faith \n\n[Verse]\nYour laugh swings behind the beat \nBarefoot dancing on the street \nNothing polished, nothing tight \nFeels more real that way tonight \n\nBrush those hats, let them slide \nLeave some space where truth can hide \nIf it falls, let it fall \nThat’s the soul inside it all \n\n[Pre-Chorus]\nNo count-in for this kind of love \nWe don’t line it up \nWe just lean and trust \n\n[Chorus]\nStay right there, don’t pull it straight \nI love how we arrive late \nOff the grid but locked in time \nThat lazy swing feels like mine \n\nYeah we bend, we drift, we sway \nLet tomorrow wait its turn today \nIf love lives just off the line \nSoft kick drum, your hand in mine \n\n[Verse]\nVinyl spins, the room exhales \nEvery scar tells its tale \nYour voice cracks, but I don’t care \nThat’s the truth living in there \n\nHeartbeat talks through wood and wire \nLow-end warmth, a quiet fire \nNothing perfect, nothing clean \nStill the best thing I’ve ever seen \n\n[Bridge]\nBrush it light, let it breathe \nLeave a little space for me \nEvery miss is part of it \nThat’s how soul was always meant \n\nBehind the beat, but dead-on true \nEvery swing just sounds like you \nIf the night don’t find a end \nI’ll stay right here, count me in \n\n[Chorus]\nStay right there, don’t pull it straight \nI love how we arrive late \nOff the grid but locked in time \nThat lazy swing feels like mine \n\nYeah we bend, we drift, we sway \nLet tomorrow wait its turn today \nIf love lives just off the line \nSoft kick drum, your hand in mine \n\n[Outro - Guitar Riff & Final Chord]\nno rush…\nno rush…\njust groove…\n",
133 31,
134 "fixed",
135 190,
136 120,
137 "4",
138 "en",
139 "E minor",
140 true,
141 2,
142 0.85,
143 0.9,
144 0,
145 0
146 ],
147 "widgets_values_named": {
148 "tags": "Neo-Soul: A warm, organic neo-soul track dripping with live instrumentation and effortless groove. A live drummer plays a loose, hip-hop influenced pocket—soft kick drum with lazy swing, snare hits that sit just behind the beat, and brushed hi-hats that breathe and shuffle with human imperfection.",
149 "lyrics": "[Intro - Guitar Riff & Drums]\nmm…\nyeah…\nlet it breathe…\n\n[Verse 1]\nLate night glow on your skin \nWindow cracked, city hums again \nCoffee rings on the table top \nTime don’t rush, it just drops \n\nLoose kick drum, heart runs slow \nSnare talks back, says “take it low” \nEvery step just slightly late \nStill we land right on the faith \n\n[Verse]\nYour laugh swings behind the beat \nBarefoot dancing on the street \nNothing polished, nothing tight \nFeels more real that way tonight \n\nBrush those hats, let them slide \nLeave some space where truth can hide \nIf it falls, let it fall \nThat’s the soul inside it all \n\n[Pre-Chorus]\nNo count-in for this kind of love \nWe don’t line it up \nWe just lean and trust \n\n[Chorus]\nStay right there, don’t pull it straight \nI love how we arrive late \nOff the grid but locked in time \nThat lazy swing feels like mine \n\nYeah we bend, we drift, we sway \nLet tomorrow wait its turn today \nIf love lives just off the line \nSoft kick drum, your hand in mine \n\n[Verse]\nVinyl spins, the room exhales \nEvery scar tells its tale \nYour voice cracks, but I don’t care \nThat’s the truth living in there \n\nHeartbeat talks through wood and wire \nLow-end warmth, a quiet fire \nNothing perfect, nothing clean \nStill the best thing I’ve ever seen \n\n[Bridge]\nBrush it light, let it breathe \nLeave a little space for me \nEvery miss is part of it \nThat’s how soul was always meant \n\nBehind the beat, but dead-on true \nEvery swing just sounds like you \nIf the night don’t find a end \nI’ll stay right here, count me in \n\n[Chorus]\nStay right there, don’t pull it straight \nI love how we arrive late \nOff the grid but locked in time \nThat lazy swing feels like mine \n\nYeah we bend, we drift, we sway \nLet tomorrow wait its turn today \nIf love lives just off the line \nSoft kick drum, your hand in mine \n\n[Outro - Guitar Riff & Final Chord]\nno rush…\nno rush…\njust groove…\n",
150 "seed": 31,
151 "control_after_generate": "fixed",
152 "bpm": 190,
153 "duration": 120,
154 "timesignature": "4",
155 "language": "en",
156 "keyscale": "E minor",
157 "generate_audio_codes": true,
158 "cfg_scale": 2,
159 "temperature": 0.85,
160 "top_p": 0.9,
161 "top_k": 0,
162 "min_p": 0
163 }
164 },
165 {
166 "id": 78,
167 "type": "ModelSamplingAuraFlow",
168 "pos": [
169 920,
170 -670
171 ],
172 "size": [
173 330,
174 86
175 ],
176 "flags": [],
177 "order": 4,
178 "mode": 0,
179 "inputs": [
180 {
181 "name": "model",
182 "type": "MODEL",
183 "link": 247
184 }
185 ],
186 "outputs": [
187 {
188 "name": "MODEL",
189 "type": "MODEL",
190 "links": [
191 175
192 ]
193 }
194 ],
195 "properties": {
196 "Node name for S&R": "ModelSamplingAuraFlow",
197 "cnr_id": "comfy-core",
198 "ver": "0.11.1",
199 "enableTabs": false,
200 "tabWidth": 65,
201 "tabXOffset": 10,
202 "hasSecondTab": false,
203 "secondTabText": "Send Back",
204 "secondTabOffset": 80,
205 "secondTabWidth": 65
206 },
207 "widgets_values": [
208 3
209 ],
210 "widgets_values_named": {
211 "shift": 3
212 }
213 },
214 {
215 "id": 18,
216 "type": "VAEDecodeAudio",
217 "pos": [
218 1300,
219 -670
220 ],
221 "size": [
222 225,
223 78
224 ],
225 "flags": {
226 "collapsed": false
227 },
228 "order": 9,
229 "mode": 0,
230 "inputs": [
231 {
232 "name": "samples",
233 "type": "LATENT",
234 "link": 256
235 },
236 {
237 "name": "vae",
238 "type": "VAE",
239 "link": 248
240 }
241 ],
242 "outputs": [
243 {
244 "name": "AUDIO",
245 "type": "AUDIO",
246 "links": [
247 261
248 ]
249 }
250 ],
251 "properties": {
252 "Node name for S&R": "VAEDecodeAudio",
253 "cnr_id": "comfy-core",
254 "ver": "0.11.1",
255 "enableTabs": false,
256 "tabWidth": 65,
257 "tabXOffset": 10,
258 "hasSecondTab": false,
259 "secondTabText": "Send Back",
260 "secondTabOffset": 80,
261 "secondTabWidth": 65
262 }
263 },
264 {
265 "id": 98,
266 "type": "EmptyAceStep1.5LatentAudio",
267 "pos": [
268 -140,
269 -150
270 ],
271 "size": [
272 320,
273 114
274 ],
275 "flags": [],
276 "order": 5,
277 "mode": 0,
278 "inputs": [
279 {
280 "name": "seconds",
281 "type": "FLOAT",
282 "widget": {
283 "name": "seconds"
284 },
285 "link": 250
286 }
287 ],
288 "outputs": [
289 {
290 "name": "LATENT",
291 "type": "LATENT",
292 "links": [
293 249
294 ]
295 }
296 ],
297 "properties": {
298 "Node name for S&R": "EmptyAceStep1.5LatentAudio",
299 "cnr_id": "comfy-core",
300 "ver": "0.11.1",
301 "enableTabs": false,
302 "tabWidth": 65,
303 "tabXOffset": 10,
304 "hasSecondTab": false,
305 "secondTabText": "Send Back",
306 "secondTabOffset": 80,
307 "secondTabWidth": 65
308 },
309 "widgets_values": [
310 120,
311 1
312 ],
313 "widgets_values_named": {
314 "seconds": 120,
315 "batch_size": 1
316 }
317 },
318 {
319 "id": 3,
320 "type": "KSampler",
321 "pos": [
322 930,
323 -550
324 ],
325 "size": [
326 330,
327 286
328 ],
329 "flags": [],
330 "order": 8,
331 "mode": 0,
332 "inputs": [
333 {
334 "name": "model",
335 "type": "MODEL",
336 "link": 175
337 },
338 {
339 "name": "positive",
340 "type": "CONDITIONING",
341 "link": 254
342 },
343 {
344 "name": "negative",
345 "type": "CONDITIONING",
346 "link": 119
347 },
348 {
349 "name": "latent_image",
350 "type": "LATENT",
351 "link": 249
352 },
353 {
354 "name": "seed",
355 "type": "INT",
356 "widget": {
357 "name": "seed"
358 },
359 "link": 258
360 }
361 ],
362 "outputs": [
363 {
364 "name": "LATENT",
365 "type": "LATENT",
366 "slot_index": 0,
367 "links": [
368 256
369 ]
370 }
371 ],
372 "properties": {
373 "Node name for S&R": "KSampler",
374 "cnr_id": "comfy-core",
375 "ver": "0.11.1",
376 "enableTabs": false,
377 "tabWidth": 65,
378 "tabXOffset": 10,
379 "hasSecondTab": false,
380 "secondTabText": "Send Back",
381 "secondTabOffset": 80,
382 "secondTabWidth": 65
383 },
384 "widgets_values": [
385 31,
386 "fixed",
387 8,
388 1,
389 "euler",
390 "simple",
391 1
392 ],
393 "widgets_values_named": {
394 "seed": 31,
395 "control_after_generate": "fixed",
396 "steps": 8,
397 "cfg": 1,
398 "sampler_name": "euler",
399 "scheduler": "simple",
400 "denoise": 1
401 }
402 },
403 {
404 "id": 99,
405 "type": "PrimitiveNode",
406 "pos": [
407 -140,
408 -470
409 ],
410 "size": [
411 280,
412 90
413 ],
414 "flags": [],
415 "order": 1,
416 "mode": 0,
417 "inputs": [],
418 "outputs": [
419 {
420 "name": "FLOAT",
421 "type": "FLOAT",
422 "widget": {
423 "name": "seconds"
424 },
425 "links": [
426 250,
427 251
428 ]
429 }
430 ],
431 "title": "Song Duration",
432 "properties": {
433 "Run widget replace on values": false
434 },
435 "widgets_values": [
436 120,
437 "fixed"
438 ],
439 "widgets_values_named": {
440 "value": 120,
441 "control_after_generate": "fixed"
442 }
443 },
444 {
445 "id": 47,
446 "type": "ConditioningZeroOut",
447 "pos": [
448 680,
449 30
450 ],
451 "size": [
452 225,
453 58
454 ],
455 "flags": {
456 "collapsed": false
457 },
458 "order": 7,
459 "mode": 0,
460 "inputs": [
461 {
462 "name": "conditioning",
463 "type": "CONDITIONING",
464 "link": 255
465 }
466 ],
467 "outputs": [
468 {
469 "name": "CONDITIONING",
470 "type": "CONDITIONING",
471 "links": [
472 119
473 ]
474 }
475 ],
476 "properties": {
477 "Node name for S&R": "ConditioningZeroOut",
478 "cnr_id": "comfy-core",
479 "ver": "0.11.1",
480 "enableTabs": false,
481 "tabWidth": 65,
482 "tabXOffset": 10,
483 "hasSecondTab": false,
484 "secondTabText": "Send Back",
485 "secondTabOffset": 80,
486 "secondTabWidth": 65
487 }
488 },
489 {
490 "id": 102,
491 "type": "PrimitiveNode",
492 "pos": [
493 -140,
494 -290
495 ],
496 "size": [
497 270,
498 90
499 ],
500 "flags": [],
501 "order": 2,
502 "mode": 0,
503 "inputs": [],
504 "outputs": [
505 {
506 "name": "INT",
507 "type": "INT",
508 "widget": {
509 "name": "seed"
510 },
511 "links": [
512 257,
513 258
514 ]
515 }
516 ],
517 "title": "seed",
518 "properties": {
519 "Run widget replace on values": false
520 },
521 "widgets_values": [
522 31,
523 "fixed"
524 ],
525 "widgets_values_named": {
526 "value": 31,
527 "control_after_generate": "fixed"
528 }
529 },
530 {
531 "id": 105,
532 "type": "MarkdownNote",
533 "pos": [
534 -680,
535 -710
536 ],
537 "size": [
538 420,
539 482.09375
540 ],
541 "flags": [],
542 "order": 3,
543 "mode": 0,
544 "inputs": [],
545 "outputs": [],
546 "properties": [],
547 "widgets_values": [
548 "## Model Links\n\n- [Hugging Face:Comfy-Org/ace_step_1.5_ComfyUI_files](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files)\n\n**ModelScope mirrors** (alternative repo location)\n\n- [ModelScope:Comfy-Org/ace_step_1.5_ComfyUI_files](https://modelscope.cn/models/Comfy-Org/ace_step_1.5_ComfyUI_files)\n\n**checkpoints**\n\n- [ace_step_1.5_turbo_aio.safetensors](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/checkpoints/ace_step_1.5_turbo_aio.safetensors) (9.34 GB)\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ └── 📂 checkpoints/\n│ └── ace_step_1.5_turbo_aio.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud will be updated after the stable release; nightly-supported models may not be included yet, please wait for the next stable release.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/Comfy-Org/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
549 ],
550 "widgets_values_named": {
551 "text": "## Model Links\n\n- [Hugging Face:Comfy-Org/ace_step_1.5_ComfyUI_files](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files)\n\n**ModelScope mirrors** (alternative repo location)\n\n- [ModelScope:Comfy-Org/ace_step_1.5_ComfyUI_files](https://modelscope.cn/models/Comfy-Org/ace_step_1.5_ComfyUI_files)\n\n**checkpoints**\n\n- [ace_step_1.5_turbo_aio.safetensors](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/checkpoints/ace_step_1.5_turbo_aio.safetensors) (9.34 GB)\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ └── 📂 checkpoints/\n│ └── ace_step_1.5_turbo_aio.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud will be updated after the stable release; nightly-supported models may not be included yet, please wait for the next stable release.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/Comfy-Org/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
552 },
553 "color": "#222",
554 "bgcolor": "#000"
555 },
556 {
557 "id": 106,
558 "type": "SaveAudioAdvanced",
559 "pos": [
560 1560,
561 -660
562 ],
563 "size": [
564 270,
565 150
566 ],
567 "flags": [],
568 "order": 10,
569 "mode": 0,
570 "inputs": [
571 {
572 "name": "audio",
573 "type": "AUDIO",
574 "link": 261
575 }
576 ],
577 "outputs": [
578 {
579 "name": "audio",
580 "type": "AUDIO",
581 "links": null
582 }
583 ],
584 "properties": [],
585 "widgets_values": [
586 "audio/ComfyUI",
587 "flac"
588 ],
589 "widgets_values_named": {
590 "filename_prefix": "audio/ComfyUI",
591 "format": "flac"
592 }
593 }
594 ],
595 "links": [
596 [
597 119,
598 47,
599 0,
600 3,
601 2,
602 "CONDITIONING"
603 ],
604 [
605 175,
606 78,
607 0,
608 3,
609 0,
610 "MODEL"
611 ],
612 [
613 244,
614 97,
615 1,
616 94,
617 0,
618 "CLIP"
619 ],
620 [
621 247,
622 97,
623 0,
624 78,
625 0,
626 "MODEL"
627 ],
628 [
629 248,
630 97,
631 2,
632 18,
633 1,
634 "VAE"
635 ],
636 [
637 249,
638 98,
639 0,
640 3,
641 3,
642 "LATENT"
643 ],
644 [
645 250,
646 99,
647 0,
648 98,
649 0,
650 "FLOAT"
651 ],
652 [
653 251,
654 99,
655 0,
656 94,
657 2,
658 "FLOAT"
659 ],
660 [
661 254,
662 94,
663 0,
664 3,
665 1,
666 "CONDITIONING"
667 ],
668 [
669 255,
670 94,
671 0,
672 47,
673 0,
674 "CONDITIONING"
675 ],
676 [
677 256,
678 3,
679 0,
680 18,
681 0,
682 "LATENT"
683 ],
684 [
685 257,
686 102,
687 0,
688 94,
689 1,
690 "INT"
691 ],
692 [
693 258,
694 102,
695 0,
696 3,
697 4,
698 "INT"
699 ],
700 [
701 261,
702 18,
703 0,
704 106,
705 0,
706 "AUDIO"
707 ]
708 ],
709 "groups": [
710 {
711 "id": 1,
712 "title": "Step 1 - Load Model",
713 "bounding": [
714 -220,
715 -740,
716 448.09895833333337,
717 181.6
718 ],
719 "color": "#3f789e",
720 "flags": []
721 },
722 {
723 "id": 2,
724 "title": "Step 2 - Duration",
725 "bounding": [
726 -220,
727 -540,
728 450,
729 170
730 ],
731 "color": "#3f789e",
732 "flags": []
733 },
734 {
735 "id": 3,
736 "title": "Step 3 - Prompt",
737 "bounding": [
738 260,
739 -740,
740 640,
741 820
742 ],
743 "color": "#3f789e",
744 "flags": []
745 }
746 ],
747 "config": [],
748 "extra": {
749 "ds": {
750 "scale": 0.9701648657879456,
751 "offset": [
752 -709.9339352506919,
753 970.3047567118876
754 ]
755 },
756 "frontendVersion": "1.51.9",
757 "workflowRendererVersion": "LG",
758 "VHS_latentpreview": false,
759 "VHS_latentpreviewrate": 0,
760 "VHS_MetadataImage": true,
761 "VHS_KeepIntermediate": true
762 },
763 "version": 0.4
764}