Fish Audio: Voice Clone to Speech

This ComfyUI workflow lets you clone any voice from a few short recordings and immediately synthesize new speech with that voice using Fish Audio. In Option 1 (Voice Clone), you feed clean voice samples from RecordAudio or LoadAudio into FishAudioInstantVoiceClone. The node returns a clone handle that plugs straight into FishAudioTextToSpeech, so you can type any script and get an instant read—no training wait. In Option 2 (Preset Audio), you skip cloning entirely by selecting a built-in voice with FishAudioVoiceSelector and send it directly to FishAudioTextToSpeech for quick, predictable results.

Under the hood, the audio path is simple and fast: RecordAudio/LoadAudio → FishAudioInstantVoiceClone (Option 1) or FishAudioVoiceSelector (Option 2) → FishAudioTextToSpeech → SaveAudioAdvanced. Text prompts can include emotion/style tags supported by Fish Audio to influence delivery (tone, pacing, emphasis). SaveAudioAdvanced lets you export the result in your preferred format and quality. All Fish Audio nodes are API-based, so you’ll authenticate with your ComfyUI account and pay per use.

For best clones, provide 2–3 samples of 15–20 seconds each with clear, expressive speech and minimal background noise. Vary your prosody slightly (neutral, upbeat, calm) so the Instant Voice Clone has enough information to capture timbre and delivery. Then iterate quickly: adjust your script and tags, re-queue, and export takes until you land the read you want.

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.

32f98268638e.json
Fetching workflow JSON…

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

// 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");

The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API).

Comfy Cloud API access requires a plan with an API key.

FAQ

Frequently Asked Questions

View all workflows
Showing 30 of 30 templates