Skip to main content

Generate Audio (text to speech)

L
Written by LX

The Generate audio dialog turns a written script into spoken audio using a voice model. You type (or auto-write) a script, pick a voice and an emotion, generate, and — in tools that need a reference voice clip — pick the result to use it.

What does Generate audio do?

It reads your script aloud in a chosen voice. You give it a script, choose a Voice model and an Emotion, then tap Generate audio. Each generation is saved to a History list so you can compare takes and reuse the best one.

How do I write the script?

Type into the Script box. It holds up to 2000 characters; the counter at the bottom shows your current length and an estimated duration (for example "120/2000, ~7 s"). Pricing is shown as "1 credit/sec" beside the script box, and the cost to generate is shown on the Generate audio button.

What does "Help me write" do?

Tap Help me write a script to open the Generate script helper. Type a short idea (up to 200 characters) describing what you want said, then tap Help me write and APOB drafts a script for you, dropping it into the Script box. You can edit the draft afterwards like any other text.

What are Optimize and Restore?

  • Optimize rewrites your current script to read more naturally for speech. It costs credits (the amount is shown next to the button), and it's a generation step.

  • Restore appears after you optimize, so you can revert to the script you had before. It only shows when there's a previous version to go back to.

What does the Emotion control do?

Emotion sets the delivery of the voice. The options are: happy, sad, angry, fearful, disgusted, surprised, and neutral (neutral is the default). Pick the one that matches the mood you want.

How do I choose a voice model?

Use the Voice model selector. Tapping it opens a chooser of available voice models; the audio flow requires you to pick one (there's no "no voice" option here, since you can't generate speech without a voice). If you don't have the voice you want, tap Create Voice Model (next to the selector on desktop) to make a new one. On the voice chooser you can also limit the list to your own personal models.

Why is nothing happening when I tap Generate?

The Generate audio button stays tappable on purpose, and tells you what's missing instead of looking disabled:

  • No script yet → "Enter a script."

  • No voice model chosen → "Select a voice first."

Fill in whatever it names and tap again.

What is the History list?

Every audio you generate in this dialog is added to History, newest first, each as a playable card. Before you've made any, you'll see "Your generated audio will appear here." Tap a card's play control to listen; the card's "more" menu lets you open its details (where you can reuse its script back into the Script box). Scroll down to load older items.

How do I use a result as a reference?

When the dialog was opened by a tool that needs a reference voice clip, pick a finished audio from History, then confirm with Select this audio as reference audio (on mobile, Use this audio). The button only activates once a ready audio is selected. If you confirm without one, you'll be told "Please select an audio file."; if the audio isn't finished, you'll see "This audio isn't ready yet."

What does Reset do?

Reset clears the script input so you can start fresh. It doesn't delete your History.

How long does generation take, and what does it cost?

Generation runs as a task and may take a moment; the audio appears in History when done. The script is priced per second of speech (shown as a "credit/sec" rate beside the Script box), with the exact total shown on the Generate audio button before you commit. Optimizing and the "Help me write" draft are separate steps whose own costs are shown next to their buttons.

On mobile

The dialog opens as a full-screen page titled Generate audio. The Voice model and Emotion controls sit side by side near the top, the script box is below, and History fills the rest. The confirm button reads Use this audio. Use the back control in the header to close.

Did this answer your question?