Ace Data Cloud · AI Voice Synthesis

Fish Audio Voice Synthesis and Voice Cloning

High-performance text-to-speech (TTS) based on Fish Audio. A piece of text can synthesize natural human voice, supporting s1 / s2-pro dual models, voice cloning, and can retrieve over 1.8 million public voice samples. The request body is consistent with the official one, just replace it with the platform Token.

🐟 s1 / s2-pro Dual Models 🎙️ Voice Cloning 🌍 Multilingual Support
1.8 million+
Public Voice Samples
2
TTS Models Available
$0.006
Per Thousand Characters
Seconds
Short Text Synthesis Return

Core Features

From text-to-speech to voice cloning, a single interface covers the complete voice synthesis process.

🗣️

High-Performance TTS

Submit the text to be synthesized with text, s2-pro has stronger emotion and expressiveness, s1 is more stable and less likely to deviate with long texts, switched via the request header model.

🎙️

Voice Cloning

Pass reference_id to reuse existing voices, or use references to inline reference samples for instant replication—making the synthesized voice close to the specified speaker.

📚

1.8 Million+ Voice Samples

Retrieve public voices through GET /fish/model, filter by language, tag, title, and once you have the _id, you can use it as reference_id.

Sync / Async Dual Use

Short text sync directly returns audio_url; for long texts, pass callback_url to immediately get task_id, and the result will be called back upon completion—Tasks interface can also be used to actively pull results.

One request, get the human voice

Just need text and format to synthesize, synchronously return a playable or downloadable audio_url. The field names are consistent with Fish official, zero cost for migration.

cURL · POST /fish/tts
curl -X POST https://api.acedata.cloud/fish/tts \
  -H "authorization: Bearer YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "text": "The weather is really nice today, let's go for a walk together.",
    "format": "mp3"
  }'
# Synchronously return a playable audio direct link (tested):
# {
#   "audio_url": "https://platform.r2.fish.audio/task/05f81919f2e04e35bb404a88fb177854.mp3"
# }

3 Steps to Get Started Quickly

From obtaining the Token to getting the audio, it only takes a few minutes.

1

Get Token

Apply for an API Token in the console, one Token can call all services on the platform, first time free quota is given.

2

Submit Text

Call POST /fish/tts, pass in text and format (mp3 or pcm).

3

Get Audio

Synchronously return audio_url, play directly or save; long text uses callback_url for callback.

What is Fish Audio suitable for?

From audio content to in-app voice, covering most speech synthesis needs.

📖

Audiobooks / Podcasts

Convert articles and manuscripts into natural human voice in bulk, using s1 to stably process long text content.

🎬

Video Dubbing / Voiceover

Generate narration for short videos, tutorials, and explanations, adjusting speed and volume with prosody.

☎️

IVR / Customer Service Voice

Dynamically generate prompts and scripts, maintaining brand voice consistency with fixed tones.

Accessible Reading

Provide reading capabilities for web pages and documents, outputting pcm for real-time client-side playback.

🎮

Games / Character Dubbing

Customize exclusive voice lines for characters using voice cloning, quickly filling a large number of lines.

🧑‍💻

Digital Humans / Virtual Anchors

Real-time synthesis of scripts into voice, driving digital human voiceovers and virtual anchor live streaming scenarios.

Two Major Capabilities, One Set of Interfaces

Text-to-speech and voice management, with field naming completely consistent with Fish official.

🗣️ Text-to-Speech TTS

Submit text to synthesize human voice, supporting format (mp3/pcm), prosody speed and volume, mp3_bitrate bitrate, and sample_rate sampling rate.

POST /fish/tts model: s1 / s2-pro

🎙️ Voice Management Model

Clone new voice tones using reference audio, retrieve from a library of over 1.8 million public voice tones, or query individual voice details by _id—the obtained _id can be directly used as reference_id.

POST /fish/model GET /fish/model GET /fish/model/{id}

Fish Audio Pricing

Pay as you go, no subscription fees, no hidden costs.

Voice retrieval (GET /fish/model) free

Pay as you go
Pay per usage
$0.006 / per thousand characters

TTS charges based on the length of synthesized text, voice cloning is charged per use

  • TTS synthesis about $0.006 / thousand characters
  • Voice cloning about $0.48 / use
  • Voice retrieval GET——free
  • Free credits for first-time registration
View pricing details
Enterprise Edition
Custom

Exclusive plans for high-usage teams

  • Tiered discounts based on usage
  • Priority support with account manager
  • Higher concurrency and capacity
  • SLA guarantee
  • Private deployment solutions
Contact Sales

Frequently Asked Questions

Common questions about using the Fish Audio API

How is Fish Audio billed?

TTS is billed based on the byte length of the synthesized text, approximately $0.006 / thousand characters; voice cloning (POST /fish/model) is billed per use, approximately $0.48 / use; voice retrieval (GET /fish/model) is free. A free quota is given upon first registration for direct experience.

What audio formats are supported?

The format in the request body must be explicitly specified, optional mp3 or pcm. mp3 can use mp3_bitrate (64/128/192) to control the bitrate; pcm is suitable for real-time stitching in browsers or client-side post-processing (mixing, speed adjustment).

How to clone or specify a voice?

Two methods: pass reference_id to reuse an existing voice (can retrieve _id from the public library via GET /fish/model, or clone your own voice using POST /fish/model); or use references to inline reference samples for instant replication. Choose one of the two.

What is the difference between s1 and s2-pro?

Switch via the request header model, default is s2-pro. s2-pro has stronger expressiveness and emotion, suitable for short sentences and voiceovers; s1 is more stable, less likely to deviate with long texts, suitable for audiobooks and other long content.

What to do if long text synthesis is slow?

Synthesizing long texts may take several seconds to tens of seconds. Pass callback_url in the request body, the interface will immediately return {task_id, started_at}, and after completion, POST the result back to that URL; you can also use the Fish Tasks interface to actively pull by task_id.

How long is the validity period of the returned audio link?

audio_url is a direct link from Fish R2, the signature is usually valid for 1 hour. It is recommended to download and transfer it to your own object storage as soon as possible after obtaining it. The link extension is fixed as .mp3, and the actual content is the byte stream of the format specified in the request.

Explore More AI Audio Services

Ace Data Cloud offers a variety of AI audio and music generation APIs

Start Synthesizing Voice with Fish Audio Now

A piece of text, natural human voice in seconds. Supports voice cloning and 1.8 million+ voice library.