Skip to main content

API Pricing

The Fish Audio API uses pay-as-you-go pricing based on actual usage. There are no subscription fees or monthly minimums for API access.

Text-to-Speech (TTS) Models

TTS pricing is based on the size of input text, measured in millions of UTF-8 bytes.
1M UTF-8 bytes is approximately 180,000 English words, or about 12 hours of speech

Automatic Speech Recognition (ASR) Models

How ASR billing works:
  • Charges are based on the duration of audio processed
  • Duration is rounded up to the nearest second

Voice Design

How Voice Design billing works:
  • Charges are based on successful POST /v1/voice-design requests
  • One successful request is charged once, even when it returns multiple candidates
  • Authentication, validation, balance, concurrency, and service errors are not billed

Rate Limits

These limits help us ensure fair usage and maintain service quality for all users.

Concurrent Request Limits

Concurrency tiers unlock as soon as your total prepaid amount reaches the threshold. You do not need to spend the full balance first. If your workload needs a higher concurrency tier, you can top up in advance to unlock the next tier immediately.

Convert Concurrency to QPS or QPM

Fish Audio rate limits are based on concurrent requests: the number of requests that can be in progress at the same time. This is different from QPS (queries per second) or QPM (queries per minute), which measure how many requests complete over time. The conversion depends on how long your Fish Audio request occupies a concurrency slot. Short interactive requests can produce much higher QPM from the same concurrency tier than long-form synthesis requests. Use this planning formula:
Before you estimate throughput, measure your own average request duration:
  1. For TTS workloads, send representative production-shaped requests with latency="normal" to get a stable quality-first baseline. For other APIs, use the same request shape you expect in production.
  2. Measure from request start until the full response completes. For WebSocket streaming, measure until the final audio chunk is received or the stream is closed.
  3. Calculate the average duration for each workload type. If one business workflow makes multiple Fish Audio calls, estimate each call separately. Use p95 duration when you need safer capacity planning for bursts, retries, or uneven traffic.
There is no single fixed conversion from concurrency to QPM. A customer whose average request occupies a slot for 2 seconds can complete about 30 times as many requests per minute as a customer whose average request occupies a slot for 60 seconds, even on the same concurrency tier.
Example planning estimates: Treat these numbers as examples, not guarantees. Your actual QPS and QPM depend on text length, model, reference audio, output format, network path, streaming behavior, and the latency distribution of your own application.
Please reach out to our team to enable enterprise volume pricing, rate limits, and billing.

Support

Need help? Check out these resources: