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

# ElevenLabs

> Configure a workflow step that converts text to speech with ElevenLabs and returns uploaded audio assets for later steps

Use **ElevenLabs** when you want a workflow step to convert text into spoken audio and reuse the generated file later in the workflow.

The step calls **ElevenLabs** directly. Connect an ElevenLabs API key under workspace **Integrations** for **Personal** billing, or use **Hosted** billing with Fetch Hive's platform key.

## Configuration

| Option              | Required | Description                                                                                                                         |
| ------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Name                | No       | Label for the step in the workflow canvas.                                                                                          |
| Text                | Yes      | The text entered in **Text**. Supports workflow variables. Maximum 5,000 characters per run.                                        |
| Voice               | Yes      | ElevenLabs voice from the voice library picker. Search the library or choose from featured voices. Stored as a voice ID internally. |
| Model               | No       | ElevenLabs model ID. Default: `eleven_multilingual_v2`.                                                                             |
| Output Format       | No       | ElevenLabs audio format. Default: `mp3_44100_128`.                                                                                  |
| Voice settings      | No       | Optional stability, similarity boost, style, speed, and speaker boost values.                                                       |
| Charge Type         | No       | Whether the step uses **Hosted** or **Personal** billing.                                                                           |
| When the step fails | No       | Controls whether the workflow should **Terminate Workflow** or **Continue** if this step fails.                                     |

Use the **Insert Variable** button next to **Text** when the spoken content should come from workflow inputs or earlier steps.

This step uses **Settings** and **Output** tabs. The **Output** tab shows the generated audio asset after a successful test run.

## Output

This step outputs an object with:

* `settings`: the selected voice, model, output format, voice settings, and billing mode used for the call
* `assets`: an array with one uploaded audio asset record

Each asset item includes:

* `id`
* `file_url`
* `file_name`
* `file_size`
* `file_type`

Use the base output reference to pass the full object forward:

```text theme={null}
{{STEP_IDENTIFIER.output}}
```

To reference the generated audio URL directly:

```text theme={null}
{{step_2.output.assets.0.file_url}}
{{step_2.output.assets.0.file_name}}
```

To reference settings used by the step:

```text theme={null}
{{step_2.output.settings.voice_id}}
{{step_2.output.settings.model_id}}
```

Use the variable picker after a test run to confirm the exact path you want to insert.

## Cost

Billing follows the same pattern as hosted LLM and image generation steps:

| Charge Type  | API key                                        | Fetch Hive billing                                                                                   |
| ------------ | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Personal** | Your workspace ElevenLabs integration          | **1 platform task credit** per run. ElevenLabs bills your API key directly based on characters used. |
| **Hosted**   | Fetch Hive platform key (`ELEVENLABS_API_KEY`) | **Hosted LLM wallet** (character cost) plus **1 platform task credit** per run.                      |

Character-based provider rates (per [ElevenLabs API pricing](https://elevenlabs.io/pricing/api)):

* **Flash / Turbo** models (`eleven_turbo_v2_5`, `eleven_flash_v2_5`): **\$0.05 per 1,000 characters**
* **Multilingual v2/v3** models (`eleven_multilingual_v2`, `eleven_monolingual_v1`): **\$0.10 per 1,000 characters**

Fetch Hive reads the billed character count from the ElevenLabs `character-cost` response header when available, otherwise falls back to the resolved input text length.

Hosted runs require a positive hosted LLM wallet balance. If the wallet is empty, the API returns `402` with `insufficient_hosted_llm_credits`.

## Example

Add **ElevenLabs** to your workflow.

Enter the text to speak, such as `Welcome to Fetch Hive`.

Choose a voice from the library picker, confirm the model and output format, then click **Run** in the step header.

After the run finishes, open **Output** to review the returned audio asset and use the variable picker to reference `file_url` in later steps.

## Notes

* Personal mode requires an enabled ElevenLabs integration with a valid API key on the workspace.
* Hosted mode requires Fetch Hive to have `ELEVENLABS_API_KEY` configured.
* Generated audio is stored as a workspace asset in Fetch Hive, not as an external-only URL.
* Before synthesis runs, Fetch Hive checks whether your account has reached its plan storage limit.

See also: [Creating and Editing](../../creating-and-editing), [Testing and Iteration](../../testing-and-iteration), and [Integrations](../../../workspace/integrations)
