Plan high-volume text to speech with batch queues, streaming, concurrency, retries, idempotency and character-based cost controls on Fish Audio.
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.
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.
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.
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.
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.
Use at least two queues:
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.
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.
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.
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.
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.
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.
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.
The $99 Studio pack includes API access, 15,000 credits and the highest concurrency for real-time streams on this site.
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.
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.