Fish Audio's current production TTS: 83 languages, bracketed natural-language emotion and tone control, 1M+ Voice Library voices and voice cloning. 61% listening-test win rate over S2 Pro with ~70 ms time-to-first-audio upstream. Billed per UTF-8 byte.
Test this model instantly in the Console Playground — no code required
Copy usage instructions for Claude, ChatGPT, or other AI
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "fishaudio/s2.1-pro",
"input": {
"text": "안녕하세요, 코어닷투데이입니다. 하나의 API 키로 이미지, 영상, 음성 생성 모델을 모두 연결해 보세요.",
"reference_id": "2f06c7a428e9431fadd60af4dfe91763",
"format": "mp3"
}
}'Every voice reads the same line. Play to compare timbre, then click an ID to copy it into reference_id.
Sample line (Korean): “안녕하세요, 코어닷투데이입니다. 하나의 API 키로 이미지, 영상, 음성 생성 모델을 모두 연결해 보세요.”— “Hi, this is Core.Today. One API key connects you to image, video and speech models.”
Designed by Fish rather than cloned from a person, so the rights position is the simplest here. Their registered descriptions are identical apart from gender and city, and the city is a label on the entry — nobody measured the accent — so pick these by ear.
Seoul female · chatbot replies and voice prompts
Seoul female · chatbot replies and voice prompts
Seoul female · chatbot replies and voice prompts
Seoul female · chatbot replies and voice prompts
Seoul female · chatbot replies and voice prompts
Registered as a Busan female conversational voice
Registered as a Gyeongju female conversational voice
Crisp young female · product and business narration
Seoul male · chatbot replies and voice prompts
Seoul male · chatbot replies and voice prompts
Seoul male · chatbot replies and voice prompts
Seoul male · a different voice from Doyun below
Seoul male · a different voice from Doyoon above
Registered as a Busan male conversational voice
Registered as a Gyeongju male conversational voice
Uploaded by Fish users, and the place to look for a specific job — narration, shorts, advertising reads, interview hosting. Voices cloned from identifiable people are not listed here.
Documentary and reflective narration
News reads and educational narration
Warm storytelling and essay reads
Documentary and factual narration
Explainer videos and course narration
Conversation and storytelling
Product ads and informational reads
Shorts and social clips
Podcasts and conversational content
Advertising and promo reads
Composed female narration
Storytelling and long-form reads
Entertainment and character lines
Interview hosting and course content
Fast-paced explainer videos
Beauty, tutorials and social
Educational content and narration
Intimate conversation and ASMR
Registered as English, but measured on Korean: our gateway synthesized a Korean line, our own ASR transcribed it back, and the accuracy score is how closely that transcript matched (1.0 = exact). Voices that failed are not listed — one Spanish-registered robot scored 0.0 and produced no Korean at all.
Playful robot character · Korean accuracy 0.97
Game and animation robot · Korean accuracy 0.97
Retro computer voice · Korean accuracy 0.94
Announcements and instructions · Korean accuracy 0.85
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
text | string | Yes | - | Text to synthesize (UTF-8). Billed by UTF-8 bytes — one Korean character is 3 bytes. Emotion, tone and effect cues go in brackets before the text they steer, e.g. [happy] Welcome!, [whispering] …, [laughing], [break]. |
reference_id | string | No | 2f06c7a428e9431fadd60af4dfe91763 | Voice ID (32-hex id from the Fish Audio Voice Library). 37 curated voices (15 Fish Official Korean, 18 Korean community, 4 robot/character) can be previewed and copied from the Voice Gallery on this model's Core.Today Docs page (docs/models/fishaudio/…); any other public or cloned voice id works too — you are responsible for the rights to the voice you pass. |
format | string | No | mp3 | Output audio format. mp3wavopus |
mp3_bitrate | integer | No | 128 | MP3 bitrate in kbps (mp3 only). 64128192 |
speed | number | No | 1.0 | Speaking rate multiplier, 0.5–2.0 (1.0 = default). |
volume | number | No | 0 | Volume adjustment in dB, -20 to 20 (0 = default). |
latency | string | No | balanced | balanced favors low latency (default); normal favors stability — a good choice for batch generation. balancednormal |
normalize | boolean | No | true | Expand numbers, dates and units into spoken form. |
temperature | number | No | 0.7 | Sampling temperature, 0.1–1.0. Lower is more consistent, higher more expressive. |
top_p | number | No | 0.7 | Nucleus sampling probability mass, 0.1–1.0. |
chunk_length | integer | No | 200 | Internal chunk length, 100–300. Affects phrasing of long passages. |
Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
The line every gallery voice reads, rendered with the default voice.
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "fishaudio/s2.1-pro",
"input": {
"text": "안녕하세요, 코어닷투데이입니다. 하나의 API 키로 이미지, 영상, 음성 생성 모델을 모두 연결해 보세요.",
"reference_id": "2f06c7a428e9431fadd60af4dfe91763",
"format": "mp3"
}
}'Bracketed natural-language cues steer tone sentence by sentence.
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "fishaudio/s2.1-pro",
"input": {
"text": "[excited] 드디어 새 모델이 나왔어요! [whispering] 그런데 가격은 그대로예요. [laughing]",
"reference_id": "4e118bfbb83e401c84699c09b5f08257"
}
}'POST /v1/predictions