Nodes/BizyAirPlus/ACE-Step Text To Audio
ComfyUI Node

ACE-Step Text To Audio

ACE-Step text to audio — paste lyrics, get a song, without the 20 GB local download

By siliconflow·Created 5 months ago·Updated about a month ago· 20
ACE-Step Text To Audio
  • api_config
  • audio
  • request_id
  • urls
lyrics
tags
duration30
seed0
skip_errorfalse

This is the "type lyrics, get a track" node. ACE-Step is the open-source music generation model, and this node calls the hosted version through BizyAir. You feed it words, optionally some style tags and a duration, and it comes back with a finished audio clip - no local model, no VRAM, no hours of dependencies.

The fun fact is that this is the one node in the pack where you can see both sides of the coin in the pack's own examples: ace_step1_5_xl_base.json runs ACE-Step locally, with an EmptyAceStep1.5LatentAudio node, a UNET loader, and a KSampler chained together. So if you've got the VRAM and the appetite for a multi-gigabyte model download, the local path exists. This node is the no-download alternative - same family of model, hosted, paid per use.

Inputs

  • lyrics - required. The actual words. This is the whole point of the node.
  • tags - optional style tags. This is where you tell it "lo-fi, female vocal, slow" or whatever direction you want. Leave it empty and you get whatever the model defaults to, which is usually not what you wanted.
  • duration - seconds, 10 to 300, default 30. Keep it realistic relative to your lyrics - two lines of text at 300 seconds is a recipe for a very padded track.
  • seed - for reproducibility. Set it to regenerate the same take, or leave 0 for fresh rolls.

Outputs: audio (an AUDIO tensor you wire into SaveAudioMP3 or a VHS-style audio saver), plus request_id and urls (JSON string of the output file URLs, in case you want the file directly).

How it works

Standard BizyAir API flow: the pack serializes lyrics, tags, duration and seed, submits them to the hosted ace-step/text-to-audio endpoint, and polls until the track renders. Music generation is slow - don't be surprised if this node sits there for a while; the result is a full waveform, not a single image. The key comes from BizyAirPlus settings or BIZYAIR_API_KEY unless you override with a settings node.

Where people get burned

  • No style tags. The model is a blank slate without them. You'll get mush. Give it something.
  • Duration vs. lyrics mismatch. Short lyrics, long duration, and the model stretches what it has. Either trim the duration or write more.
  • Silent placeholder output. If the run fails and you enabled skip_error, the node returns a silent 1-second placeholder audio clip with the error text - that's the pack's failure mode, not a broken render. Check the urls output and the console.

Install

Part of the BizyAirPlus pack:

cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt

Restart ComfyUI, confirm BizyAirPlus is ON with a valid key, wire the AUDIO output into a saver, and go write a jingle. If this becomes a regular habit, though, check that local ACE-Step example - the credits add up faster than the download time.

CategoryBizyAirModelServices/BizyTRD/Self-Hosted

Inputs (6)

NameTypeDefaultDescription
lyricsSTRINGLyrics
tagsoptSTRINGStyle tags
durationoptINT3010–300Duration of music in seconds
seedoptINT0-1–2147483647Seeds
api_configoptBIZYAIR_OPENAPI_CONFIG单次请求覆盖base_url和api_key
skip_erroroptBOOLEANfalse开启后遇到错误不中断工作流,输出对应类型的错误占位符

Outputs (3)

NameTypeDescription
audioAUDIO
request_idSTRING
urlsSTRING