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

# n8n

> Integrate Typecast TTS into your n8n workflows without coding.

<Info>
  [n8n](https://n8n.io/) is a visual workflow automation tool. With the Typecast node, you can convert text to speech automatically — no coding required!
</Info>

## What You Can Do

With the Typecast n8n node, you can:

* **Automate content creation** — Build fully automated YouTube or TikTok channels by combining RSS feeds, AI writing, and Typecast voices.
* **Enhance customer experience** — Send personalized voice messages via WhatsApp or email when a customer makes a purchase.
* **Scale your reach** — Automatically translate and dub your podcast or video content into multiple languages.
* **Recommend voices** — Search for voice candidates from a natural-language description.
* **Stay notified** — Get custom voice alerts on Slack or Discord for critical system updates or sales milestones.

***

## Prerequisites

Before you start, make sure you have:

1. **n8n** installed ([n8n Cloud](https://n8n.io/) or self-hosted)
2. **Typecast API Key** — [Get yours here](https://typecast.ai/developers/api/)

***

## Installation

### Step 1: Install the Typecast Node

<Tabs>
  <Tab title="n8n Cloud">
    If you are using n8n Cloud, no separate installation is required. You can skip directly to the **Quick Start** section.

    <Note>
      If an installation button appears when searching for the node, click **Install node** to complete the setup.
    </Note>
  </Tab>

  <Tab title="Self-hosted (npm)">
    1. Run the following command in your n8n installation directory:

    ```bash theme={null}
    npm install @neosapience/n8n-nodes-typecast
    ```

    2. Restart n8n.
  </Tab>
</Tabs>

***

## Quick Start: Your First Voice Generation

Let's create your first text-to-speech workflow!

### Step 1: Add the Typecast Node

1. Create a new workflow
2. Click **+** to add a node
3. Search for **Typecast**
4. Select **Typecast**

<Frame caption="Search for 'typecast' in the node panel">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-search-typecast.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=a963966a14395601f14fbeda197c1232" alt="Searching for Typecast node in n8n" width="1200" height="800" data-path="images/n8n-search-typecast.png" />
</Frame>

5. Choose an action from the list (e.g., **Convert text to speech**)

<Frame caption="Available Typecast actions">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-typecast-actions.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=649762fe7808aee9066f7ebcb50a90f9" alt="Typecast node actions list" width="2152" height="1582" data-path="images/n8n-typecast-actions.png" />
</Frame>

### Step 2: Connect Your API Key (Credential)

After selecting the node, you need to configure your API key to connect with the Typecast API.

1. In the node settings panel, click on the **Credential to connect with** field.
2. Select **- Create New Credential -**.
3. Enter your API key, which you can copy from the [Typecast API console](https://typecast.ai/developers/api/).
4. Click **Create** to save your credentials.

<Frame caption="Create new credential for Typecast API">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-create-new-credential.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=d56c34b0792289c61b3c19a9d12b187d" alt="Creating new credential in n8n" width="2854" height="1424" data-path="images/n8n-create-new-credential.png" />
</Frame>

### Step 3: Configure Text to Speech

| Setting       | What to Enter                                                            |
| ------------- | ------------------------------------------------------------------------ |
| **Resource**  | `Speech`                                                                 |
| **Operation** | `Text to Speech`                                                         |
| **Voice ID**  | Select a voice from the dropdown (shows name, gender, age, and emotions) |
| **Text**      | Your text to convert                                                     |
| **Model**     | `ssfm-v30` — recommended for best quality                                |

#### Selecting a Voice

The Voice ID field makes it easy to find the perfect voice:

1. Click on the Voice ID dropdown
2. Browse voices with their details (name, gender, age, available emotions)
3. Use the search to filter by name or characteristics
4. Select your preferred voice

<Frame caption="Voice ID dropdown showing available voices with details">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-voice-id-dropdown.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=d4bde2b3bc4aa2a904df0249925adfe9" alt="Voice ID dropdown with voice details" width="1200" height="800" data-path="images/n8n-voice-id-dropdown.png" />
</Frame>

<Tip>
  You can also switch to "By ID" mode to enter a Voice ID directly (e.g., `tc_60e5426de8b95f1d3000d7b5`).
</Tip>

<Frame caption="Text to Speech node fully configured">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-typecast-tts-configured.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=26bb576f7304afeb1e3d9d2cffd40ffe" alt="Typecast Text to Speech configured" width="1200" height="800" data-path="images/n8n-typecast-tts-configured.png" />
</Frame>

#### Emotion Settings

Make your voice expressive with emotion controls!

**For ssfm-v30**

Two ways to add emotion:

<CardGroup cols={2}>
  <Card title="Smart Emotion" icon="wand-magic-sparkles">
    AI automatically detects the best emotion from your text context. Perfect for natural conversations and storytelling.
  </Card>

  <Card title="Preset Emotion" icon="sliders">
    Manually choose from 7 emotions: Normal, Happy, Sad, Angry, Whisper, Tone Up, Tone Down.
  </Card>
</CardGroup>

**Smart Emotion Tip:** Add "Previous Text" and "Next Text" to help the AI understand context better!

**For ssfm-v21**

Choose from 4 emotions: `Normal`, `Happy`, `Sad`, `Angry`

<Frame caption="Emotion Preset options for ssfm-v21 model">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-emotion-preset-options.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=f32c7ef840794b31f454713bf9105eba" alt="Emotion preset dropdown showing Normal, Happy, Sad, Angry options" width="1200" height="800" data-path="images/n8n-emotion-preset-options.png" />
</Frame>

Adjust **Emotion Intensity** (0.0 - 2.0):

* `0.0` — Completely neutral
* `1.0` — Standard (default)
* `2.0` — Maximum intensity

<Frame caption="ssfm-v21 model with Emotion Preset and Intensity settings">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-emotion-settings-v21.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=6dc489b009cf65023dddb113ebf8b9ae" alt="Emotion settings for ssfm-v21 model" width="1200" height="800" data-path="images/n8n-emotion-settings-v21.png" />
</Frame>

#### Additional Options

Customize your audio output:

| Option           | Description                                                   | Default     |
| ---------------- | ------------------------------------------------------------- | ----------- |
| **Audio Format** | `WAV` (high quality) or `MP3` (smaller size)                  | WAV         |
| **Audio Pitch**  | Adjust pitch (-12 to +12 semitones)                           | 0           |
| **Audio Tempo**  | Speed adjustment (0.5x to 2.0x)                               | 1.0         |
| **Language**     | Override auto-detection if needed                             | Auto-detect |
| **Seed**         | Unsigned integer (≥ 0). Use same seed for reproducible output | Random      |

### Step 4: Run and Listen

1. Connect the nodes (Manual Trigger → Typecast)
2. Click **Execute Workflow**
3. Check the output — your audio file is ready!
4. Click the audio to play it

<Frame caption="Complete workflow with connected nodes">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-workflow-connected.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=f45f7b802c7fa7cb7b5970c0c34dce27" alt="n8n workflow with connected Typecast node" width="1200" height="800" data-path="images/n8n-workflow-connected.png" />
</Frame>

<Note>
  The generated audio appears as a binary file named `data`. You can save it, email it, or send it anywhere!
</Note>

***

## Finding the Perfect Voice

### Browse All Voices

1. Add a Typecast node
2. Set **Resource** → `Voice`
3. Set **Operation** → `Get All Voices`
4. Run the node to see all available voices

### Recommend Voices

1. Add a Typecast node
2. Set **Resource** → `Voice`
3. Set **Operation** → `Recommend Voices`
4. Enter a text description and run the node

Recommendation results contain only `voice_id`, `voice_name`, and `score`. Use **Get Voice** or **Get All Voices** when your workflow needs metadata such as supported models, emotions, gender, age, or use cases before synthesis.

### Filter Voices

Use filters to find exactly what you need:

| Filter        | Options                                                       |
| ------------- | ------------------------------------------------------------- |
| **Model**     | `ssfm-v30` or `ssfm-v21`                                      |
| **Gender**    | `Male` or `Female`                                            |
| **Age**       | `Child`, `Teenager`, `Young Adult`, `Middle Age`, `Elder`     |
| **Use Cases** | `Audiobook`, `Ads`, `E-learning`, `Game`, `Podcast`, and more |

<Frame caption="Voice filters available in Get All Voices operation">
  <img src="https://mintcdn.com/neosapienceinc/Z2SKC4k1AnG1xbkd/images/n8n-voice-filters.png?fit=max&auto=format&n=Z2SKC4k1AnG1xbkd&q=85&s=4485f9e532ab4fd1a076844ef810642f" alt="Voice filter options in Typecast node" width="2074" height="1530" data-path="images/n8n-voice-filters.png" />
</Frame>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Node not appearing after installation">
    * Restart n8n completely
    * Clear your browser cache
    * Verify the installation in **Settings** → **Community Nodes**
  </Accordion>

  <Accordion title="Authentication failed">
    * Check your API key is correct
    * Verify your key at [Typecast API Console](https://typecast.ai/developers/api/)
    * Make sure there are no extra spaces in the key
  </Accordion>

  <Accordion title="Voice ID not found">
    * Use the **Get All Voices** operation to find valid Voice IDs
    * Voice IDs are case-sensitive (use lowercase `tc_...`)
  </Accordion>

  <Accordion title="No audio generated">
    * Check that your text is not empty
    * Verify you have sufficient API credits
    * Check the error message in the node output
  </Accordion>
</AccordionGroup>

***

## Resources

<CardGroup cols={2}>
  <Card title="npm Package" icon="npm" href="https://www.npmjs.com/package/@neosapience/n8n-nodes-typecast">
    View on npm registry
  </Card>

  <Card title="GitHub Repository" icon="github" href="https://github.com/neosapience/n8n-nodes-typecast">
    View source code and contribute
  </Card>

  <Card title="Voice Library" icon="microphone" href="https://typecast.ai/developers/api/voices">
    Browse all available voices
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Explore the Typecast API
  </Card>
</CardGroup>
