CASTREADER · AI VOICE LIBRARY

Find a voice. Hear the difference.

Browse the full library. Find a language, a character, a sound that fits. Tap an avatar to listen — no account needed.

No sign-up to listen$8 / 1M generated charactersMP3 / WAV
1,321selectable shared voices
10sample languages
10 synthesis languages
$8per million characters
No monthly subscription
174 matching voices · page 5 of 8Clear filters

仙逆1

Chinese · Male voice

Male voiceMature

声线: 男声、成熟声线。试听片段: 中文 · 13.0 s。

Free sample · 13.0sUse voice ↗

林金牌

Chinese · Male voice

Male voiceMatureClearEnergeticAuthoritative

声线: 男声、成熟声线。音色: 清晰。表达: 有活力、权威感、专业。参考用途: 教学、广告。

Free sample · 15.4sUse voice ↗

12-5-游戏配音-1

Chinese · Male voice

Male voiceUnspecifiedEnergeticProfessionalEducation

声线: 男声。表达: 有活力、专业。参考用途: 教学、游戏。

Free sample · 16.1sUse voice ↗

7.23-50万张琦

Chinese · Unspecified

UnspecifiedMatureCrispEnergeticConfident

声线: 成熟声线。音色: 干脆利落。表达: 有活力、自信、权威感。语速: 快速。

Free sample · 9.8sUse voice ↗

带货女

Chinese · Female voice

Female voiceUnspecifiedBrightClearEnergetic

声线: 女声。音色: 明亮、清晰。表达: 有活力、欢快。语速: 快速。参考用途: 广告。

Free sample · 15.1sUse voice ↗

刘湘湘1

Chinese · Unspecified

UnspecifiedMatureClearCrispEnergetic

声线: 成熟声线。音色: 清晰、干脆利落。表达: 有活力、权威感。参考用途: 广告、播报。

Free sample · 13.8sUse voice ↗

孙正聿(红色背景老头)

Chinese · Male voice

Male voiceMatureCalmAuthoritativeProfessional

声线: 男声、成熟声线。表达: 沉稳、权威感、专业。语速: 节奏平稳。参考用途: 旁白、教学。

Free sample · 15.2sUse voice ↗

新闻女主持人

Chinese · Unspecified

UnspecifiedUnspecifiedClearCrispAuthoritative

音色: 清晰、干脆利落。表达: 权威感、专业。参考用途: 播报。

Free sample · 14.7sUse voice ↗

陶衿

Chinese · Female voice

Female voiceMature

声线: 女声、成熟声线。试听片段: 中文 · 16.1 s。

Free sample · 16.1sUse voice ↗

北北2

Chinese · Male voice

Male voiceUnspecifiedEnergeticConfidentFast-paced

声线: 男声。表达: 有活力、自信。语速: 快速。参考用途: 广告、游戏、娱乐。

Free sample · 15.5sUse voice ↗

甜美女主播

Chinese · Female voice

Female voiceYouthfulWarmSoftCalm

声线: 女声、年轻声线。音色: 温暖、柔和。表达: 沉稳、亲切、温柔、耳语。

Free sample · 14.6sUse voice ↗

一起来品茶

Chinese · Female voice

Female voiceYouthfulClearEnergeticProfessional

声线: 女声、年轻声线。音色: 清晰。表达: 有活力、专业。语速: 快速。参考用途: 广告。

Free sample · 12.8sUse voice ↗

樊登有数据

Chinese · Male voice

Male voiceUnspecifiedClearCalmProfessional

声线: 男声。音色: 清晰。表达: 沉稳、专业。语速: 节奏平稳。参考用途: 旁白、教学、播客。

Free sample · 15.5sUse voice ↗

昌明001

Chinese · Male voice

Male voiceUnspecifiedClearSmoothCalm

声线: 男声。音色: 清晰、流畅圆润。表达: 沉稳、专业、温柔。语速: 节奏平稳。参考用途: 旁白、教学。

Free sample · 17.4sUse voice ↗

曼波

Chinese · Neutral voice

Neutral voiceYouthfulClearEnergeticEducation

声线: 中性声线、年轻声线。音色: 清晰。表达: 有活力。参考用途: 教学。

Free sample · 14.7sUse voice ↗

陶矜

Chinese · Unspecified

UnspecifiedMatureEnergeticConfidentAuthoritative

声线: 成熟声线。表达: 有活力、自信、权威感、专业。参考用途: 旁白、教学。

Free sample · 12.5sUse voice ↗

常用(低沉,适合三国,或者其他游戏解说)

Chinese · Male voice

Male voiceMatureSeriousAuthoritativeProfessional

声线: 男声、成熟声线。表达: 严肃、权威感、专业、戏剧化。参考用途: 旁白、教学、纪录片、故事讲述。

Free sample · 14.2sUse voice ↗

工商旅游007女

Chinese · Female voice

Female voiceMature

声线: 女声、成熟声线。试听片段: 中文 · 19.6 s。

Free sample · 19.6sUse voice ↗

短剧解说

Chinese · Male voice

Male voiceYouthfulNarrationEntertainment

声线: 男声、年轻声线。参考用途: 旁白、娱乐。

Free sample · 11.6sUse voice ↗

王鑫

Chinese · Unspecified

UnspecifiedUnspecifiedClearConfidentProfessional

音色: 清晰。表达: 自信、专业。语速: 节奏平稳。

Free sample · 15.4sUse voice ↗

中年男

Chinese · Male voice

Male voiceMatureWarmCalm

声线: 男声、成熟声线。音色: 温暖。表达: 沉稳。

Free sample · 11.9sUse voice ↗

涂磊

Chinese · Male voice

Male voiceUnspecifiedClearCalmAuthoritative

声线: 男声。音色: 清晰。表达: 沉稳、权威感、专业。语速: 节奏平稳。参考用途: 旁白、教学。

Free sample · 18.3sUse voice ↗

自然流男

Chinese · Male voice

Male voiceMatureCalmProfessionalMeasured

声线: 男声、成熟声线。表达: 沉稳、专业。语速: 节奏平稳。参考用途: 旁白、教学。

Free sample · 13.9sUse voice ↗

刘晓艳

Chinese · Unspecified

UnspecifiedUnspecifiedClearSeriousAuthoritative

音色: 清晰。表达: 严肃、权威感、专业。参考用途: 教学。

Free sample · 13.5sUse voice ↗

Counts include currently selectable shared voices, not private clones or disabled references. Samples show the source language; synthesis follows your input text. First use may require reference preparation. Machine-readable catalog →

01 / MAKE THE RIGHT CHOICE

A library voice or a voice of your own?

Start with the route that fits your product. Both end with a ready voice you can reuse.

START WITHOUT A RECORDING

Use a library voice

For product guidance, short narration and learning content when you do not need a specific speaker’s identity.

  1. Listen and compare a few samples.
  2. Select a voice in the console.
  3. Generate a passage from your own text.
Choose in the console →
KEEP A SPEAKER’S CHARACTER

Prepare a private clone

For your own voice or an authorized speaker you want to reuse across new scripts and supported languages.

  1. Record or upload with permission.
  2. Wait for the voice to become ready.
  3. Save its ID for future generation.
See the cloning workflow →
Compare fairly

Use the same sentence, language and output format for each voice. A warm sample can sound different with an address, technical term or long sentence. Categories are browsing labels, not emotion controls.

ONE VOICE, DIFFERENT LANGUAGES

A sample is not a language limit.

Reference samples come in different languages. Synthesis follows the language of your input text, not the sample or the website. Test pronunciation and speaker similarity for your own content.

EnglishChineseGermanJapaneseFrenchSpanishKoreanPortugueseRussianItalian

Hear the same voice in three languages →

Node.js · after installing the SDK
import { VoiceAPI } from '@castreader/voice-api';

const client = new VoiceAPI();
const { audio } = await client.generate({
  voice: 'rowan',
  text: 'Every story deserves to be heard.',
  language: 'en',
  output_format: 'mp3',
});

Found your voice? Make it say your words.

Use any voice card to carry your choice into the console. Verified CastReader accounts can activate the existing trial immediately, without manual approval. Choosing a voice does not generate or charge; successful text generation uses your trial characters or API balance.

Open the console ↗

FOR AI-ASSISTED DEVELOPMENT

From a voice you like to a valid API ID.

The console prepares the selected voice in your workspace. REST needs its ready voice_id, not its display name. List authorized voices first; never invent an ID.

Integration map · not a complete program
const { data: voices } = await client.voices();
const voice = voices.find(v => v.status === 'ready'
  && v.default_voice_key === 'narrator');
// Stop if unavailable; never substitute a private ID.

01Choosing & listening

Is this the complete voice library? What does the count include?

This page lists the currently selectable shared catalog, including built-in presets and on-demand references. The total and language counts come from the same catalog and availability rules as the console. Browse 24 voices per page or combine language, gender and style filters.

Disabled, withdrawn and rejected references are excluded. Your private workspace clones stay private. Reference playback is evidence of the sample, not proof that every voice has been tested in every synthesis language.

Explore the full library →
What exactly plays when I click an avatar?

You hear a saved reference recording, not a new synthesis of your input. Click again to pause; switching voices stops the previous sample. Previewing does not consume API balance or homepage generation allowances.

Use the console to generate a short passage of your own. This is the meaningful check for pronunciation, pacing and suitability: the reference sample alone cannot guarantee the result for different text.

Try your own text →
Do category labels change how the model speaks?

Categories describe suggested uses and help you browse; they are not emotion, speed or performance-control parameters. A narration label does not stop a voice being used for product guidance.

Compare two voices using the same text, language and output format. Listen for names, numbers, pauses and the tone your product needs before choosing a default.

See supported controls →
Can an English sample produce Chinese or Japanese speech?

Yes, within the 10 configured synthesis languages. The sample describes the voice; the input text and language parameter determine what it says. The website language is only the interface language.

Provide text in the language you want to hear. Chinese text is not translated by selecting English. For very short, ambiguous or mixed-language input, choose the language explicitly or split the text into separate requests.

Understand cross-language generation →

02Using a voice in your product

What happens after “Use this voice”?

The voice preset is passed to the console. Sign in if needed, then confirm the selected voice, enter your text and generate. Selection itself does not submit a job or charge your wallet.

Verify your CastReader identity and activate the existing trial without manual approval. Each account receives one trial grant; validity, daily and abuse limits still apply. Then create a server-side API key. Public sample listening needs no activation.

Verify and activate →
Can I send the displayed name as a voice ID?

With the CastReader Node SDK, supported built-in aliases such as rowan resolve to a ready default voice. A raw REST request needs the actual voice ID returned by GET /v1/voices for your workspace and processing region.

For a custom clone, save its returned ID after its status becomes ready. Display names are labels, not globally reusable identifiers; do not copy a private ID from a different workspace.

Voice IDs and registration →
The request succeeded, but the audio does not play. What should I check?

Separate generation from playback. Confirm a successful job, a non-empty audio response and an audio Content-Type before saving it. Saving an error JSON response with an .mp3 extension does not make it audio.

Click the player to satisfy autoplay rules. Download private results through an authorized backend before expiry; never put the permanent API key in an audio URL or frontend code. If the downloaded file also fails, give support the request ID.

Result retrieval and response headers →
Can I call this in a browser, or migrate just by changing an ElevenLabs base URL?

Run authenticated generation on your backend with the Node.js or Python client, or use REST from another server language. The browser should call your backend. Permanent API keys must not ship in public JavaScript or mobile binaries.

Migration is not just a base-URL change: voice IDs, authentication, request fields, job polling and audio retrieval differ. Follow the CastReader quickstart and resolve a ready voice in your workspace; another provider’s voice ID cannot be reused.

Install clients and follow the quickstart →
Why would a voice be preparing or unavailable?

A new reference may need preparation before it can synthesize. A ready voice can be reused without registration on each request. Preparation time and synthesis queue time are separate; neither is a guaranteed fixed delay.

If preparation fails, inspect the voice error in the console before retrying. For an API permission or region error, confirm the active workspace, key access and resolved region. Do not repeatedly create replacement voices to work around a queue.

Check routing and voice availability →
Can I upload a voice or use generated audio in a product?

You can register your own recording or one with explicit speaker permission covering cloning and your intended use. Public availability of an audio clip is not permission to clone or impersonate its speaker.

Review the voice permissions and service terms for your use, especially redistribution and commercial projects. A sample, library label or successful technical generation is not a substitute for those permissions.

Read data and voice permissions →