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

# FAQ: Speech to Text

The questions readers ask about transcribing audio and cleaning recordings in the portal, from accepted files and limits to cost, results and export.

## Which audio files can I upload?

MP3, WAV, FLAC, OGG, M4A, AAC or WEBM, by file extension, up to 1 hour
long and 150 MB per file; the page sends one file per upload. The badges
under the upload area name four of the seven, and all seven are accepted.
See [Speech to Text formats](/docs/playground/stt-formats#accepted-files).

## Can I record from my microphone instead?

Yes. Press **Record audio**, allow the browser to use the microphone, and
press **Stop & Use** to send the take through the same checks as an upload;
**Cancel** discards it and nothing is charged. A take stops on its own at
1 hour and is named `recording-` followed by a number, with the extension
your browser records in. See
[Transcribe a file](/docs/playground/transcribe-a-file#step-3-or-record-from-your-microphone).

## Why is my one-hour WAV refused when a one-hour MP3 is accepted?

The 150 MB limit is checked on the file as you chose it, whatever its
length. A one-hour MP3 is about 57 MB; a one-hour stereo 44.1 kHz WAV is
far larger and is refused before upload. Export the recording as MP3, or
as 16 kHz mono, before you upload it. See
[Speech to Text formats](/docs/playground/stt-formats#why-is-my-one-hour-wav-refused-when-a-one-hour-mp3-is-accepted).

## Why does the upload sit at 0% for a while?

An MP3, M4A, AAC or WEBM file is prepared in the browser before it is sent:
decoded, mixed to one channel, resampled to 16 kHz and written as WAV.
**Uploading your audio file** stays at 0% while that runs, and a long file
can hold there for a while; WAV, FLAC and OGG files are sent as they are.
See
[Speech to Text formats](/docs/playground/stt-formats#what-the-browser-does-before-upload).

## Which language is the transcript in?

Pick the language under the file: Auto, Arabic or English. Auto lets the service decide. That is Arabic today, which also handles mixed Arabic/English and clean English speech. Pick Arabic for Arabic and mixed speech. Pick English only for speech that is all English. Arabic sent as English comes back garbled. See
[Transcribe a file](/docs/playground/transcribe-a-file#which-language-is-the-transcript-in).

## What does Turning your audio into text mean, and how long does it take?

The file has been received; once it passes the checks that run after
upload, the credits are taken and the transcript is produced. The hint
**Usually takes about 20 seconds** fits a short clip and a long file takes
longer; a transcription still running 10 minutes after the file was
accepted is marked failed within the next 5 minutes, with its charge
refunded, so split a long recording before you press **Try again**. See
[Immediate and queued transcription](/docs/playground/sync-versus-async#how-long-the-page-waits).

## Can I close the dialog or leave the page while a transcription runs?

Closing the dialog changes nothing: during the upload it reopens with the
next progress update, and afterwards the page keeps waiting and shows the
transcript when it arrives. Leaving or reloading the page is different:
the transcription finishes and its credits stay charged, but the
transcript goes to **Assets** and the page starts empty on your next
visit. See
[Immediate and queued transcription](/docs/playground/sync-versus-async#leaving-the-page).

## Is a short clip transcribed immediately?

Quickly, but not in one step: every transcription from the page is
accepted first, and the transcript arrives when it is ready. The one-call
form exists over the API only, for files of up to 10 minutes. See
[Immediate and queued transcription](/docs/playground/sync-versus-async#every-transcription-from-the-page-is-a-job)
and, for code,
[Synchronous and asynchronous calls](/docs/developers/sync-vs-async#choosing-a-style).

## Does Speaker 2 mean a second person was detected?

Yes. With **Identify speakers** on, which is the default, the voices in one
recording are told apart and numbered in the order they first speak:
**Speaker 1** is whoever speaks first, **Speaker 2** the next new voice.
Each row of the transcript shows its speaker and the time it starts at, and
a line above the text shows each speaker's talk time. The numbers count
voices, not names; a speaker the transcript could not place has no label on
that row. Transcripts made with the switch off, and older ones, stay one
block with a single time, `0:00`. See
[Read a transcript](/docs/playground/reading-results#step-2-read-the-transcript-card).

## How do I save or edit the transcript?

Open the tab you want on the transcript card, **Text**, **Subtitles (SRT)**
or **JSON**, and press **Download** to save it as `TXT`, `SRT` or `JSON`, or
**Copy** to copy what the tab shows. The file is named after your file with its extension replaced, so `interview.mp3`
gives `interview.txt`, `interview.srt` or `interview.json`. `SRT` subtitles
start each cue with its speaker, such as `[Speaker 1]`, in the language of
the page. The text on the page cannot be edited; select and copy a passage,
or make your corrections in the downloaded file. See
[Read a transcript](/docs/playground/reading-results#step-5-save-the-transcript).

## Why is the audio I download a WAV when I uploaded an M4A?

The page transcribes the converted 16 kHz mono WAV copy and keeps that
copy, so the player, the download icon under **Uploaded audios** and
**Assets** all carry it. Keep your original if you need it in its own
format. See
[Speech to Text formats](/docs/playground/stt-formats#why-is-the-downloaded-audio-a-wav-when-i-uploaded-an-m4a).

## How much does a transcription cost?

A transcription costs 100 credits per minute of audio, charged per second with a minimum of 1 second, so 15 minutes cost 1,500 credits. The charge is taken when the file passes the checks after
upload and refunded in full if the transcription fails, including when it
times out, and a file refused before upload is never charged. See
[Speech to Text limits and credits](/docs/playground/stt-limits-and-credits#credits).

## Where do I see what a transcription cost?

The page shows no per-file price. Watch the credit counter in the sidebar,
shown as used out of total with the label **Used**, before and after, or
work it out from the length at 100 credits per minute;
**Credits remaining** in the user menu shows the same balance. See
[Speech to Text limits and credits](/docs/playground/stt-limits-and-credits#where-can-i-see-what-one-transcription-cost).

## Why did my transcription fail?

Every failure appears in the dialog headed
**There is a problem with the uploaded file. Please try again.** with the
reason under it: the file is over 150 MB or longer than 1 hour, its
extension is not one of the seven, the balance is short
(**Insufficient subscription balance**), transcription was unavailable,
the audio could not be decoded, or no transcript arrived in time
(**Job timed out — AI server did not respond**). A failure after the file
was accepted refunds the charge. Each reason and what to do is on
[Transcribe a file](/docs/playground/transcribe-a-file#troubleshooting).

## Where do my transcripts go when I leave the page?

To the **Assets** page, opened from the page header or the sidebar, where
every transcript made from the portal in the workspace is listed with the
audio that was transcribed; **Download** there saves the text as
`transcript-` followed by the transcript's identifier and `.txt`. The
Speech to Text page itself starts empty on your next visit. See
[Assets and history](/docs/playground/assets-and-history#step-5-download-the-audio-or-the-transcript).

## What does Sound Cleaning do, and when should I use it?

**Sound Cleaning** keeps the voice in a recording and drops the
background, then lets you switch between **Original** and **Cleaned** and
download the cleaned file, which is always WAV. Use it before you
transcribe a recording, before you hand it to an editor, or before you
publish audio that was captured in a poor room. See
[Clean a recording](/docs/playground/clean-a-recording#step-5-compare-the-original-with-the-cleaned-version).

## What does Sound Cleaning accept, and what does it cost?

MP3, WAV, FLAC or OGG/Opus, up to 1 hour and 150 MB per file. M4A,
AAC and WEBM are accepted by Speech to Text and not here, so export them
as MP3 or WAV first. A cleanup costs 1,000 credits per minute of audio, charged per second, taken when the file
is accepted and refunded if the run stops. See
[Sound Cleaning formats, limits and credits](/docs/playground/cleaning-formats-limits-credits#limits).

## Where are my cleaned recordings?

Under **Recent cleanups** on the Sound Cleaning page, which lists the
newest 8 cleanups made from the portal in the workspace,
with **Play** and **Download** on each. Cleanups are not listed on the
**Assets** page. From your own code, `POST /v1/sound-cleaning` cleans a
file in one call (up to 10 minutes and 150 MB) and
`GET /v1/sound-cleaning/jobs` lists the API cleanups. See
[Clean a recording](/docs/playground/clean-a-recording#what-happens-next).

## Related

- [Transcribe a file](/docs/playground/transcribe-a-file): the steps from upload to transcript, and every message the page shows
- [Speech to Text formats](/docs/playground/stt-formats): what each format goes through before upload, and what your browser records
- [Immediate and queued transcription](/docs/playground/sync-versus-async): what the page does while it waits, and for how long
- [Read a transcript](/docs/playground/reading-results): every control on the result view, and how to save the text
- [Speech to Text limits and credits](/docs/playground/stt-limits-and-credits): every limit, the credit rate and the messages
- [Clean a recording](/docs/playground/clean-a-recording): remove background noise before you transcribe
- [Sound Cleaning formats, limits and credits](/docs/playground/cleaning-formats-limits-credits): what a cleanup accepts and costs
- [Assets and history](/docs/playground/assets-and-history): where transcripts are kept after you leave the page
- [Speech to Text quickstart](/docs/developers/stt-quickstart): the same transcription from your own code
- [FAQ: Text to Speech](/docs/help/faq-text-to-speech): the other half of the playground
- [FAQ: API](/docs/help/faq-api): transcribing from your own code
- [Troubleshooting](/docs/help/troubleshooting): every Speech to Text and cleaning message in one table
