Developer guide

A High-Volume Text to Speech API Guide Fish Audio

Plan high-volume text to speech with batch queues, streaming, concurrency, retries, idempotency and character-based cost controls on Fish Audio.

Oct 23, 2026

High-volume text to speech is a throughput and reliability problem before it is a voice-quality problem. Fish Audio’s API is available through the $99 Studio pack, with 15,000 credits and the highest concurrency for real-time streams on this site; the production design must then split work, control retries and protect the final audio.

The strongest architecture separates asynchronous media generation from latency-sensitive speech. They have different queues, budgets and failure rules.

Many light streams converging into one coral voice ribbon across server shelves

What makes TTS volume expensive?

Volume comes from four dimensions: characters, number of requests, required concurrency and regeneration count. A million-character audiobook and a live support agent may use similar character totals, but they need very different systems.

One Fish Audio credit covers about 1,000 characters. A 100-million-character catalog therefore starts near 100,000 credits, before pronunciation fixes and editorial revisions. Shorter generation units reduce the cost of one bad take because you can rerun only the affected paragraph.

Should you stream or generate a complete file?

Stream when a person is waiting for the answer. Streaming can start playback before the whole response exists, which matters for voice agents and conversational interfaces.

Generate a complete file for audiobooks, courses, podcasts, ads and video production. Those workflows benefit from deterministic asset handling, storage, review and replacement more than from sub-second first-audio time.

The real-time text to speech guide covers the interactive path. The download guide covers finished-file handling.

What request size should a batch pipeline use?

Use one request per paragraph, scene or chapter section that has a meaningful review boundary. This makes retries targeted and replacements predictable.

For long narration, avoid both extremes. One request for an entire 600,000-character book makes every error expensive. One request per sentence creates unnecessary orchestration overhead and can make prosody sound fragmented.

Store the script unit, voice identifier, delivery notes, output hash and status together. That record becomes the source of truth when a job is retried days later.

How should retries and idempotency work?

Retry only transient failures. Authentication errors, invalid inputs and exhausted credits require a fix, not another attempt.

Give every work item a stable idempotency key, such as a hash of script version, voice version and delivery settings. Before enqueueing a retry, check whether the output already exists. This prevents duplicate charges and duplicate files when a worker crashes after the provider succeeds but before the database row updates.

Use exponential backoff for network and server failures. Preserve the provider’s request identifier in logs when available so support can trace a failed batch without exposing the script or API key.

How should the queue be separated?

Use at least two queues:

  • Interactive: short utterances, strict latency target, immediate cancellation when the user interrupts.
  • Batch: long media, lower urgency, larger retry windows and durable output storage.

Do not let a large narration backfill starve live traffic. Separate worker pools, concurrency limits and monitoring protect the interactive path even when both workloads use the same provider account.

What should be monitored?

Track characters per minute, jobs queued, time to first audio, complete-file latency, failure rate by HTTP status, retry rate, duplicate-output prevention and credits spent per finished asset.

Alert on cost anomalies as well as availability. A retry loop can keep returning successful 200 responses while generating the same audio repeatedly through duplicated work items.

The text to speech API guide covers key storage and error handling. Keep API keys in a server-side secret manager and separate production, staging and local credentials.

How do you reduce production cost?

Review the script before synthesis. Read names, numbers, abbreviations and punctuation aloud. A five-minute correction before generation is cheaper than regenerating every chapter after the errors repeat.

Cache stable assets. Ads, product explanations and support prompts often change rarely, so generate once and serve the stored file. Regenerate only the changed unit.

Use one consistent voice assignment across a project. Randomly switching among voices to chase a slightly better sample creates more review and continuity cost than it saves.

When should a team scale beyond one pack?

Start with a representative batch and measure actual first-pass success, average credits per finished minute and required concurrency. A team that only needs 20 percent revision on a 10-hour audiobook can plan near 720 credits rather than the raw 600.

At larger totals, compare the calculated Studio-pack cost with current Amazon Polly, OpenAI and Murf rates using the text to speech API pricing guide. Re-evaluate whenever a project changes voice class or latency requirements.

How should workers handle partial failure?

Persist each unit’s state before calling the provider. Mark it queued, processing, succeeded or failed, and store the output identifier when the call succeeds. A worker that crashes during the request should not cause the same script block to be submitted again without an idempotency check.

Dead-letter queues should preserve the script version and error class without exposing secrets. Operators need enough context to repair a bad name or exhausted balance, but public logs should not contain private scripts. For regulated media, keep detailed source text in the protected system and use a bounded reference in the queue.

Key takeaways

  • Separate interactive streaming from asynchronous batch generation.
  • Use paragraph or scene boundaries so retries do not repeat an entire project.
  • Make duplicate work items safe with stable idempotency keys.
  • Monitor both latency and credits per finished asset.
  • Fish Audio API access and 15,000 credits start with the $99 Studio pack.

Frequently asked questions

What counts as high-volume text to speech?

Volume is the combination of characters, concurrent jobs and latency requirements. A podcast pipeline may process millions of characters asynchronously, while a voice agent can be demanding with much less text because every reply is latency-sensitive.

Does Fish Audio support batch generation?

You can generate media as complete files or in smaller units depending on the current API contract. For large projects, split scripts into chapters, sections or scenes so failures can be retried without regenerating everything.

Which Fish Audio pack includes the API?

The $99 Studio pack includes API access, 15,000 credits and the highest concurrency for real-time streams on this site.

How should I estimate credit usage?

One credit covers about 1,000 characters. Add a regeneration allowance, then calculate totals from the final reviewed scripts rather than from a rough word count.

Can I stream audio from a high-volume system?

Fish Audio supports real-time speech output. Whether you should stream depends on the user experience: stream conversational replies, but generate a complete file when producing an audiobook or other asynchronous asset.

A High-Volume Text to Speech API Guide | Fish Audio