diff --git a/developer-guide/models-pricing/pricing-and-rate-limits.mdx b/developer-guide/models-pricing/pricing-and-rate-limits.mdx
index a5927f9..136a57d 100644
--- a/developer-guide/models-pricing/pricing-and-rate-limits.mdx
+++ b/developer-guide/models-pricing/pricing-and-rate-limits.mdx
@@ -4,15 +4,15 @@ description: "Understand Fish Audio pricing plans, usage costs, and API rate lim
icon: "dollar-sign"
---
-import Support from '/snippets/support.mdx';
-import { AudioTranscript } from '/snippets/audio-transcript.jsx';
+import Support from "/snippets/support.mdx";
+import { AudioTranscript } from "/snippets/audio-transcript.jsx";
{/* speak-mintlify-hash: 6aad8e45c91ed5d293e7b11e34b7b182b14c73b0c2cb15ee92fcd4196a92850f */}
+
-
## 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.
@@ -21,34 +21,37 @@ The Fish Audio API uses pay-as-you-go pricing based on actual usage. There are n
TTS pricing is based on the size of input text, measured in millions of UTF-8 bytes.
-| Model Name | Price (USD) |
-|-------------------|------------------------|
-| `s2.1-pro` | $15.00 / M UTF-8 bytes |
-| `s2.1-pro-free` | $0.00 / M UTF-8 bytes |
-| `s2-pro` | $15.00 / M UTF-8 bytes |
-| `s1` | $15.00 / M UTF-8 bytes |
+| Model Name | Price (USD) |
+| --------------- | ---------------------- |
+| `s2.1-pro` | $15.00 / M UTF-8 bytes |
+| `s2.1-pro-free` | $0.00 / M UTF-8 bytes |
+| `s2-pro` | $15.00 / M UTF-8 bytes |
+| `s1` | $15.00 / M UTF-8 bytes |
-1M UTF-8 bytes is approximately 180,000 English words, or about 12 hours of speech
+ 1M UTF-8 bytes is approximately 180,000 English words, or about 12 hours of
+ speech
### Automatic Speech Recognition (ASR) Models
| Model Name | Price (USD) |
-|----------------|--------------------|
+| -------------- | ------------------ |
| `transcribe-1` | $0.36 / audio hour |
**How ASR billing works:**
+
- Charges are based on the duration of audio processed
- Duration is rounded up to the nearest second
### Voice Design
| Model Name | Price (USD) |
-|------------------|--------------------------------|
+| ---------------- | ------------------------------ |
| `voice-design-1` | $0.01 / successful API request |
**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
@@ -59,19 +62,75 @@ These limits help us ensure fair usage and maintain service quality for all user
### Concurrent Request Limits
-| Tier | Spending Threshold | Concurrent Requests |
-|------------|--------------------|---------------------|
-| Starter | < $100 paid | 5 requests |
-| Elevated | ≥ $100 paid | 15 requests |
-| High Volume | ≥ $1,000 paid | 50 requests |
-| Enterprise | Custom | Custom limits |
+| Tier | Spending Threshold | Concurrent Requests |
+| ----------- | ------------------ | ------------------- |
+| Starter | < $100 paid | 5 requests |
+| Elevated | ≥ $100 paid | 15 requests |
+| High Volume | ≥ $1,000 paid | 50 requests |
+| Enterprise | Custom | Custom 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.
+ 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:
+
+```text
+QPS ~= concurrency / average_request_duration_seconds
+QPM ~= concurrency * 60 / average_request_duration_seconds
+required_concurrency ~= target_QPM * average_request_duration_seconds / 60
+```
+
+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:
+
+| Workload | Average occupied time | 5 concurrency | 15 concurrency | 50 concurrency |
+| -------------------------------- | --------------------- | ------------- | -------------- | -------------- |
+| AI companion short reply | 2 seconds | ~150 QPM | ~450 QPM | ~1,500 QPM |
+| Voice-agent support turn | 4 seconds | ~75 QPM | ~225 QPM | ~750 QPM |
+| Narration paragraph | 12 seconds | ~25 QPM | ~75 QPM | ~250 QPM |
+| Audiobook or long-form synthesis | 60 seconds | ~5 QPM | ~15 QPM | ~50 QPM |
+
+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.
+ Please reach out to our team to enable enterprise volume pricing, rate limits,
+ and billing.