> For the full page index, fetch https://echonova.ai/llms.txt

# Text to Speech limits and credits

The text limit and the other limits on the Text to Speech page, what a generation costs in credits as the portal shows it, and what happens when the balance runs out.

This page is the lookup table for what the Text to Speech page will and will
not accept, what a generation costs in credits, where the portal shows that
cost, and what you see when the workspace balance cannot cover it. What a
credit is, how a charge is counted and the rate per character are on
[Credits](/docs/developers/credits); this page does not repeat them.

## Limits

| Limit                   | Value                                      | What you see                                                                                                               |
| ----------------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| Text length             | 1 to 5,000 characters, counted with spaces | The counter reads `n / 5,000 characters`. Typing stops at 5,000 and a paste is cut at the 5,000th character.               |
| Empty text              | Not accepted                               | **Generate** is unavailable while the writing area holds only whitespace.                                                  |
| Text after **Tashkeel** | Can be over 5,000 characters               | The counter goes past 5,000 and the generation is rejected with **text must be shorter than or equal to 5000 characters**. |
| Voice                   | One active voice per generation            | A withdrawn voice is rejected with **Voice not found**.                                                                    |
| **Speed**               | 0.5 to 2.0                                 | The slider stops at both ends.                                                                                             |
| **Guidance**            | 1.0 to 5.0                                 | The slider stops at both ends.                                                                                             |
| **Quality**             | 16, 32, 48, 64 or 128                      | Five buttons; nothing in between.                                                                                          |
| Generations at a time   | One                                        | The writing area and the button are locked until the current generation finishes.                                          |
| Who can generate        | Everyone in the workspace                  | The page is available to everyone in the workspace.                                                                        |
| **History**             | 8 items per load, workspace-wide           | **Load more** fetches the next 8.                                                                                          |

## What a generation costs

| Fact                      | Value                                                                                                                                                                                                                                                                 |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| What is counted           | Every character of the text in the writing area, spaces, tabs and line breaks included. Letters, punctuation, diacritics and **Tags** cues all count.                                                                                                                 |
| What is not counted       | The voice, **Guidance**, **Speed** and **Quality** do not change the charge.                                                                                                                                                                                          |
| Rounding                  | Charges are whole credits, at least 1. See [Credits](/docs/developers/credits) for the rule.                                                                                                                                                                          |
| Rate                      | On [Credits](/docs/developers/credits).                                                                                                                                                                                                                               |
| Where the portal shows it | The line under the writing area reads `about N credits`. It shows the server estimate before generation and the returned cost afterward. The estimate can change with the text and is not a guaranteed final charge. The workspace balance is under **Subscription**. |

The counter under the writing area and the charge count the same characters: a text of `41 / 5,000 characters` is charged 41 credits.

## When you are charged

| Moment                   | What happens                                                                                                      |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| You click **Generate**   | The charge is taken from the workspace balance before the audio is made.                                          |
| The generation succeeds  | The charge stands. The audio is listed in **History** and the balance under **Subscription** shows the deduction. |
| The generation fails     | The charge is returned to the balance. **History** may list the item as **Failed**.                               |
| You replay or download   | Free. Generating the same text again is a new generation and is charged again.                                    |
| You turn on **Tashkeel** | Free. The marked text is longer, so the generation that follows costs more than the unmarked text would.          |
| You preview a voice      | Free.                                                                                                             |

## When the balance runs out

If the workspace balance cannot cover the charge, the generation does not
run. A notification titled **Error** reads:

```text
Insufficient subscription balance
```

Nothing is charged, nothing is generated and nothing is added to
**History**. Add credits under **Subscription**, then click **Generate**
again. The charge is computed from the whole text, so shortening
the text lowers the charge as well.

## Call it well

Every click on **Generate** is charged on the full text, so settle
the voice and the settings on a short sentence before you generate a long
one.

**Recommended**

- One sentence to choose the voice and **Speed**, then the full passage
  once.

**Less effective**

- The full 5,000-character passage regenerated after every change to
  **Speed**.

## Worked example

You paste this sentence and generate it with a Fusha voice at the default
settings:

```text
الطقس اليوم جميل والسماء صافية في المدينة
```

| Step                                | What you see                                                                                                                                              |
| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Before generating                   | The counter reads `41 / 5,000 characters`. The button reads **Generate**. The page shows the server estimate for the text, not a guaranteed final charge. |
| Charged                             | 41 credits, one per character, spaces included, taken before the audio is made.                                                                           |
| After generating                    | The page shows the returned cost of that generation. The balance under **Subscription** is lower by that amount.                                          |
| Same text, marked with **Tashkeel** | Each mark adds one character, so the charge is higher by the cost of those extra characters.                                                              |

## FAQ

### Can I see the cost before I generate?

The page requests an estimate from the server before generation and shows
the cost afterward. The estimate is not a guaranteed final charge. See the rate on
[Credits](/docs/developers/credits).

### Is a failed generation charged?

No. The charge is taken first and returned when the generation fails. The
notification you see names the reason.

### Does a long text cost more per character than a short one?

No. Every character costs 1 credit. Splitting a passage into several generations does not change the total.

### Do the voice or the settings change the price?

No. Only the text does.

### Is the Credits figure my balance?

No. It describes the generation estimate or returned cost. Open
**Subscription** for your balance.

## Related

- [Credits](/docs/developers/credits): what a credit is and the rates
- [Generate speech](/docs/playground/generate-speech): the steps and the
  messages the page shows
- [Add diacritics](/docs/playground/add-diacritics): why marked text costs
  more
- [Voice settings](/docs/playground/voice-settings): the ranges behind the
  limits table
- [History](/docs/playground/tts-history): what is listed after a
  generation
