> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# FishAudioTextToSpeech - ComfyUI Built-in Node Documentation

> This node converts written text into spoken audio using Fish Audio text-to-speech models.

This node converts written text into spoken audio using Fish Audio text-to-speech models. It supports emotion cues embedded in the text (\[happy], \[whispering] on s2.1-pro; (happy) on s1) and multi-speaker dialogue using @Voice1/@Voice2 tags when multiple voices are connected. Two models are available: s2.1-pro, which supports up to five voices and multi-speaker dialogue, and s1, which uses a single optional voice.

## Inputs

### Common Inputs

| Parameter | Description                                                                                                                                            | Data Type      | Required | Range                |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- | -------- | -------------------- |
| `text`    | The text to convert to speech. With two or more voices connected, mark speaker changes with @Voice1, @Voice2, etc. Must not be empty. (default: empty) | STRING         | Yes      | Any non-empty text   |
| `model`   | Model to use for text-to-speech.                                                                                                                       | DYNAMIC\_COMBO | Yes      | "s2.1-pro"<br />"s1" |
| `seed`    | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 42)                                          | INT            | Yes      | 0 to 2147483647      |

### s2.1-pro Inputs

These inputs appear when the s2.1-pro model is selected.

| Parameter     | Description                                                                                                                                                                                                           | Data Type        | Required | Range         |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | -------- | ------------- |
| `voices`      | Growable slot: connect 1 to 5 voice items (`voice_1`, `voice_2`, ...). Voices for synthesis. Leave empty for the default voice. With two or more voices, mark speaker changes in the text with @Voice1, @Voice2, etc. | FISHAUDIO\_VOICE | No       | 0 to 5 voices |
| `temperature` | Expressiveness. Higher values are more varied, lower values are more consistent. (default: 0.7)                                                                                                                       | FLOAT            | Yes      | 0.0 to 1.0    |
| `top_p`       | Diversity via nucleus sampling. (default: 0.7)                                                                                                                                                                        | FLOAT            | Yes      | 0.01 to 1.0   |
| `speed`       | Speaking rate. 1.0 is normal, \<1.0 slower, >1.0 faster. (default: 1.0)                                                                                                                                               | FLOAT            | Yes      | 0.5 to 2.0    |
| `volume`      | Volume adjustment in decibels. 0 is no change. (default: 0.0)                                                                                                                                                         | FLOAT            | Yes      | -10.0 to 10.0 |
| `normalize`   | Normalize numbers and text for English and Chinese, improving stability for numbers and dates. (default: true)                                                                                                        | BOOLEAN          | Yes      | true / false  |

### s1 Inputs

These inputs appear when the s1 model is selected.

| Parameter     | Description                                                                                                    | Data Type        | Required | Range                 |
| ------------- | -------------------------------------------------------------------------------------------------------------- | ---------------- | -------- | --------------------- |
| `voice`       | Voice for synthesis. Leave unconnected for the default voice.                                                  | FISHAUDIO\_VOICE | No       | Optional single voice |
| `temperature` | Expressiveness. Higher values are more varied, lower values are more consistent. (default: 0.7)                | FLOAT            | Yes      | 0.0 to 1.0            |
| `top_p`       | Diversity via nucleus sampling. (default: 0.7)                                                                 | FLOAT            | Yes      | 0.01 to 1.0           |
| `speed`       | Speaking rate. 1.0 is normal, \<1.0 slower, >1.0 faster. (default: 1.0)                                        | FLOAT            | Yes      | 0.5 to 2.0            |
| `volume`      | Volume adjustment in decibels. 0 is no change. (default: 0.0)                                                  | FLOAT            | Yes      | -10.0 to 10.0         |
| `normalize`   | Normalize numbers and text for English and Chinese, improving stability for numbers and dates. (default: true) | BOOLEAN          | Yes      | true / false          |

**Note:** The `text` input must not be empty. Speaker tags (@Voice1, @Voice2, etc.) are case-insensitive and must refer to a connected voice; tagging a voice that is not connected raises an error. When two or more voices are connected, the text must reference every connected voice at least once, or the node reports the missing tags. On s2.1-pro, connecting 0 voices uses the default voice, 1 voice uses that voice alone, and 2 or more voices enable multi-speaker dialogue. On s1, a single optional voice is used and leaving it unconnected uses the default voice. Emotion cues can be placed in the text: \[happy] and \[whispering] on s2.1-pro, and (happy) on s1.

## Outputs

| Output Name | Description                            | Data Type |
| ----------- | -------------------------------------- | --------- |
| `audio`     | The generated speech as an audio file. | AUDIO     |

> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/FishAudioTextToSpeech/en.md)

***

**Source fingerprint (SHA-256):** `6cc005ae76fc7b60d9399b1b0a3c5de40a6eff47cd6f0f0b73b4212c0270ae29`
