
Song Generator는 Ace-Step 1.5XL 오디오 모델로 완성된 곡을 합성하는 ComfyUI 워크플로입니다. 가사는 두 가지 경로를 지원합니다. 자동 모드에서는 짧은 주제를 BPM 및 재생 시간에 맞는 가사로 확장하고, 수동 모드에서는 당신의 텍스트를 그대로 붙여넣습니다. ComfySwitchNode가 두 경로를 라우팅한 뒤, TextEncodeAceStepAudio1.5가 가사를 인코딩해 오디오 모델을 가이드합니다. 결과는 PreviewAny로 미리듣기할 수 있고 SaveAudioAdvanced로 내보낼 수 있습니다.
내부적으로 UNETLoader와 VAELoader가 Ace-Step 1.5XL 체크포인트를 로드합니다. EmptyAceStep1.5LatentAudio는 목표 재생 시간에 맞는 잠재 데이터 오디오 캔버스를 할당합니다. ModelSamplingAuraFlow가 모델용 샘플러를 구성하고, KSampler가 TextEncodeAceStepAudio1.5에서 만든 조건화를 사용해 해당 잠재 데이터에서 반복 디노이징을 수행합니다. ConditioningZeroOut은 사용하지 않는 선택적 네거티브 조건화를 안전하게 0으로 만드는 용도로 포함되어 있습니다. 샘플링 후 VAEDecodeAudio가 잠재 데이터를 파형으로 변환해 모니터링 및 내보내기를 가능하게 합니다.
BPM/재생 시간 인지 가사 모듈은 PrimitiveInt/PrimitiveFloat로 BPM과 목표 길이를 입력받고, StringReplace로 그 값을 작사 지시문에 주입한 다음, TextGenerate로 트랙 길이에 맞는 절/후렴 구조의 가사를 생성합니다. StringCompare는 입력이 비어 있는지 감지하는 데 도움을 주며, ComfySwitchNode는 자동 가사와 PrimitiveStringMultiline 노드의 수동 가사 사이를 깔끔하게 선택합니다. DualCLIPLoader/CLIPLoader는 선택적으로 CLIP 스타일의 텍스트 조건화를 섞는 워크플로에 대비해 포함되어 있지만, 기본 경로는 Ace-Step용 TextEncodeAceStepAudio1.5를 사용합니다.
API
코드에서 이 워크플로우 사용하기
모든 Comfy 워크플로우는 JSON 그래프입니다. 아래 페이로드는 이 워크플로우 그 자체로, ComfyUI에서 실행되는 것과 동일합니다 — URL에서 가져오거나, 버전 관리에 보관하거나, ComfyUI에서 불러와 노드별로 실행할 수 있습니다.
Comfy SDK로 TypeScript 또는 Python에서 실행하세요. 동일한 코드는 Comfy Cloud 또는 직접 호스팅하는 ComfyUI 모두에 적용됩니다 — 기본 URL만 다릅니다.
// Install (beta)
npm i @comfyorg/sdk
// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");SDK는 API 형식의 워크플로우를 사용합니다: 이 워크플로우를 ComfyUI에서 열고 파일 → 워크플로우 내보내기(API)를 사용하세요.
FAQ













