Song Generator

Song Generator is a ComfyUI workflow that synthesizes complete songs with the Ace-Step 1.5XL audio model. It supports two lyric paths: automatic, where a short topic is expanded into BPM- and duration-aware lyrics, and manual, where you paste your own text. A ComfySwitchNode routes between these paths before the lyrics are encoded by TextEncodeAceStepAudio1.5 and used to guide the audio model. You can preview the result with PreviewAny and export with SaveAudioAdvanced.

Under the hood, UNETLoader and VAELoader load the Ace-Step 1.5XL checkpoints. EmptyAceStep1.5LatentAudio allocates a latent audio canvas sized to your target duration. ModelSamplingAuraFlow configures the sampler for the model, and KSampler performs the iterative denoising on that latent using the conditioning produced by TextEncodeAceStepAudio1.5. ConditioningZeroOut is included to safely zero optional negative conditioning when not used. After sampling, VAEDecodeAudio converts the latent to a waveform for monitoring and export.

The BPM/duration-aware lyric module uses PrimitiveInt/PrimitiveFloat to capture BPM and target length, StringReplace to inject those values into a songwriter instruction, and TextGenerate to create structured verses/choruses sized for the track. StringCompare helps detect empty input, and the ComfySwitchNode cleanly selects between the auto-lyrics and a PrimitiveStringMultiline node for manual lyrics. DualCLIPLoader/CLIPLoader are available for workflows that optionally mix in CLIP-style text conditioning, though the primary path uses TextEncodeAceStepAudio1.5 for Ace-Step.

API

Use this workflow from code

Every Comfy workflow is a JSON graph. The payload below is this workflow, exactly as ComfyUI runs it — fetch it from the URL, keep it in version control, or load it in ComfyUI and run it node by node.

GET https://comfy.org/workflows/download/3ef4de40106b.json
Fetching workflow JSON…

Run it from Python or TypeScript with the Comfy SDK. The same code targets Comfy Cloud or a ComfyUI you host yourself — only the base URL changes.

# Install (beta)
pip install comfy-sdk        # Python
npm i @comfyorg/sdk          # TypeScript

# Run this workflow (Python)
from comfy_sdk import Comfy

client = Comfy(api_key="comfyui-...")
wf = client.workflows.from_file("workflow_api.json")
job = client.run(wf)
for output in job.get_outputs("<output-node-id>"):
    output.to_file(output.name)

The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API). API access requires a Comfy Cloud plan with an API key. SDK docs · Get an API key

FAQ

Frequently Asked Questions

View all workflows
Character
Cinematic
Image to Video
Lip Sync
Multiple Angles
Portrait
Style Reference
Style Transfer
Text to Video
Video Generation
Video
Showing 30 of 30 templates