
This ComfyUI tutorial workflow turns a plain-text script into a polished, multi-speaker dialogue using ElevenLabs v4. Each line you write becomes a distinct “turn,” and each turn can use a different voice—either a preset selected with ElevenLabsVoiceSelector or a custom voice created on-the-fly with ElevenLabsInstantVoiceClone. The core ElevenLabsTextToDialogue node sequences your turns in order and synthesizes a single, continuous audio file, so you end up with one mix-ready track for podcasts, game dialogue, or character conversations. Delivery cues like [quietly] or [laughs] can be embedded directly in your script to influence performance.
Two grouped paths are included: Option 1: Use Preset Voice and Option 2: Create a Voice Clone. If you want clones, bring in a clean reference using LoadAudio or capture one with RecordAudio, feed it to ElevenLabsInstantVoiceClone, and wire that clone to any turns you want it to speak. The template’s inputs parameter sets how many dialogue turns to render (1–10). It ships with 4 turns that alternate two voices by default. SaveAudioAdvanced writes the final result to disk, while Note and MarkdownNote provide inline guidance. Some nodes are bypassed when the template opens—select them and press Ctrl-B to enable before running.
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)。



















