---
title: "HeyGen Voice Clone"
description: "Clone an uploaded voice sample with HeyGen Voice 1 (instant clone) and save a private voice to your Wireflow account. Outputs a voice_id you can wire into HeyGen TTS."
updated: 2026-10-14
---

# HeyGen Voice Clone

**Badge:** Direct  
**Node type:** `audio:heygen_voice_clone`  
**Category:** `audio`

## Description

Clone an uploaded voice sample with HeyGen Voice 1 (instant clone) and save a private voice to your Wireflow account. Outputs a voice_id you can wire into HeyGen TTS.

## Pricing

- **Cost:** ~15 credits per generation

## Canvas ports

These appear as port handles on the left side of the node.

| ID          | Label            | Details                                                                                                                                                                                                          |
| ----------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `audio_url` | **Voice Sample** | `AUDIO` _(required)_ — Upload or record 1 to 3 minutes of clean speech from one speaker in an Import node, as MP3 or WAV. HeyGen uses the first 3 minutes. The sample must be uploaded to your Wireflow account. |

## Sidebar config

These render as form fields in the right-side config panel when the node is selected.

| ID                        | Label                                               | Details                                                                                                                                                             |
| ------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`                   | **Voice Name**                                      | `TEXT` — Name shown in your saved private voice list (up to 64 characters).                                                                                         |
| `language`                | **Language**                                        | `TEXT` · options: `auto`, `ar`, `be`, `bg`, `ca`, +35 — Language spoken in the sample. Auto lets HeyGen detect it; set it if the clone fails its checks.            |
| `similarity`              | **Similarity**                                      | `TEXT` · options: `medium`, `high`, `extra_high`, `max` — How closely the voice follows the recording. Max is what HeyGen recommends for sounding like the speaker. |
| `remove_background_noise` | **Remove Background Noise**                         | `BOOLEAN` — Clean the recording before cloning.                                                                                                                     |
| `consent_confirmed`       | **I own this voice or have permission to clone it** | `BOOLEAN` _(required)_                                                                                                                                              |

## Outputs

| ID         | Label        | Type   |
| ---------- | ------------ | ------ |
| `voice_id` | **Voice ID** | `TEXT` |

## Clone and use a voice

1. Add an Import node. Upload audio, or choose **Record audio** and record 1 to
   3 minutes of clean speech from one speaker. MP3 or WAV; HeyGen uses the
   first 3 minutes.
2. Connect the Import output to **Voice Sample** on a HeyGen Voice Clone node.
   Set **Voice Name** and check **I own this voice or have permission to clone
   it**.
3. Wire **Voice ID** into the `voice_id` port of a
   [HeyGen TTS](/docs/nodes/audio--heygen_tts) node, and a script into its
   `text` port.
4. Run the Voice Clone node explicitly. This costs 15 credits. Recording and
   uploading do not run the clone. The voice is usually ready in seconds.

The saved voice is private to your account. It shows up in the HeyGen TTS
voice list and in `GET /api/v1/voices?provider=heygen`, so you can reuse it in
other workflows without cloning again.

## Settings

- **Similarity** defaults to Max, which HeyGen recommends for sounding like the
  speaker.
- **Language** is detected from the sample. If the clone fails HeyGen's checks,
  set it and run again.
- **Remove Background Noise** is on by default.

## API and agents

Upload the recording (`POST /api/v1/media/upload`, or
`POST /api/v1/media/upload-url` then `/complete` for files up to 25 MB). Then
call `POST /api/v1/voices/clone-workflow` or MCP `prepare_voice_clone` with
`{ "provider": "heygen", "name": "My narration", "audioUrl": "<completed upload URL>", "consentConfirmed": true }`.
Add `"script": "..."` (up to 750 characters) to also get a HeyGen TTS node
wired to the clone, so one run clones the voice and speaks the script.
Preparing the draft costs nothing. Run it with the returned `nodeIds` (REST)
or `targetNodeIds` (MCP `run_workflow`), then poll the execution for
`voice_id`.

## Limits

- Sample must be a completed MP3 or WAV upload owned by your Wireflow account,
  25 MB max.
- **5 HeyGen clones per account.** Reuse a saved voice rather than cloning
  again. Delete one you no longer need with `DELETE /api/v1/voices/<id>` or
  MCP `delete_voice`; that deletes it at HeyGen and frees the place.
- A clone HeyGen cannot finish is deleted and the credits are refunded.

## Notes

- Clean beats long. Background music, reverb and two people talking all end
  up in the clone.
- One run makes one voice. Re-running the same run returns the voice it
  already made; a new run makes a new voice.
- Only clone voices you have the right to clone. Consent is recorded with the
  voice.

---

_Auto-generated from the Wireflow node registry._

Last updated: 2026-10-14

---

Documentation index: fetch https://www.wireflow.ai/llms.txt for the full list of Wireflow docs.
