Nodes/YinChao Music/YinChao Extend Music
ComfyUI Node

YinChao Extend Music

Finished Too Soon? Extend Any AUDIO Into a Longer Song

By yinhcao·Created 28 days ago·Updated 27 days ago· 17
YinChao Extend Music
  • audio
  • audio / 音频
  • title / 标题
  • lyric / 歌词
  • audio_url / 音频地址
  • task_id / 任务 ID
extend_at
lyric

You finally get a track you like and it ends thirty seconds too early. Local ComfyUI has no real "keep going from here" for audio - image inpainting has no audio twin, and most open music models just re-roll the whole thing. YinChao Extend Music is the answer that keeps the song you've got: feed it a native AUDIO value, and it comes back longer.

What it actually is

This is one of four nodes in the YinChao (音潮) pack, an official wrapper for the YinChao platform's paid music API - the same pack as Generate Music, Reference Music, and Generate Lyrics. Nothing runs on your GPU and no weights download. Your audio goes up to the platform, an async job extends it, and the result comes back as native ComfyUI AUDIO. It's billed per call, roughly ¥0.22 (about $0.03) per extension, which is cheap next to a Suno subscription but still a paid call every time you hit Run.

The pack is brand new and has essentially no community track record yet, so treat it as vendor-supplied and useful-but-unproven rather than battle-tested. The vendor's own engineering is genuinely thoughtful though - more on that below.

How it works

The node handles the whole ugly pipeline internally: it encodes your input to MP3 with PyAV at 192 kbps, uploads it, submits an async extend task, polls every 3 seconds for up to 10 minutes, downloads the finished MP3, and decodes it back to the AUDIO contract (waveform + sample rate). There's no submit/wait/download/convert chain for you to assemble, which the README is rightly proud of. It also hard-codes n=1 so a single run can't quietly bill you for the platform's default of two songs.

One thing to know: the underlying model for extension is pinned to v3.5 internally. There's no model dropdown on this node - you get what the pack ships.

The inputs that matter

  • audio - the only required input. Wire in anything that outputs native AUDIO.
  • extend_at - optional float, in seconds, step 0.1. Leave it empty to continue from the end of the track; set 60.0 to start the extension from one minute in. Negative values are rejected outright.
  • lyric - optional multiline. Give it words for the extended section if you want vocals that follow a script; leave it blank and the platform just keeps going.

What comes out

Five outputs: audio (native AUDIO - wire it into a save/audio/video/subtitle node), title, lyric (what the platform wrote for the extension), audio_url (a direct link to the hosted MP3, handy if you want the file without ComfyUI in the middle), and task_id (the API receipt, useful for support/billing).

Install

Search "YinChao Music" in ComfyUI Manager and hit Install, or clone it yourself:

cd ComfyUI/custom_nodes
git clone https://github.com/yinhcao/ComfyUI-YinChao
python -m pip install -r requirements.txt   # requests, av>=12, numpy

Then restart ComfyUI. The av dependency is PyAV, which bundles its own codecs - no system ffmpeg install needed. The pack uses the V3 schema (comfy_api.latest), so you need a current ComfyUI, not a year-old build.

The API key is deliberately not a node input - it never lands in your workflow JSON. Set it once under Settings → YinChao → API Key (get one at platform.yinchaoyongxian.com), or for headless runs:

export YINCHAO_API_KEY="your-api-key"

Common issues

  • Missing key fails loudly with an explicit "no API key configured" error, never a silent empty song. Set the key, restart, retry.
  • The 10 MB upload cap. At 192 kbps that's roughly seven minutes of audio. A long source fails with a clear error rather than being quietly re-encoded worse, which is the right failure mode.
  • Mono or stereo only - the codec rejects other channel layouts.
  • It's a paid, non-retried POST. The client deliberately doesn't retry a submission after a network blip, so you won't get a surprise double bill. If the task times out after 10 minutes, that's the error to watch for.
  • Your audio leaves the machine. This is an API wrapper; the reference upload goes to the platform's servers under its content-moderation rules. Fine for your own material, worth remembering for anything you don't want off-box.
CategoryYinChao/Music

Inputs (3)

NameTypeDefaultDescription
audioAUDIO
extend_atoptFLOAT
lyricoptSTRING

Outputs (5)

NameTypeDescription
audio / 音频AUDIO
title / 标题STRING
lyric / 歌词STRING
audio_url / 音频地址STRING
task_id / 任务 IDSTRING