Fish Audio Drama 3: direct a voice and budget each take
Fish Audio Drama 3 generates speech with directions for emotion, pacing and individual words. It is available in Fish’s web and mobile apps, through the API and as downloadable weights. The API launch offer is $10 per million characters from October 13 to November 12, 2026, against a $50 regular price. Budget the text submitted for every take you generate.
Content reviewed:

Use this model
API docs and console
- Open the Drama 3 API guide
Provider account and usage billing apply.
Official model repository
- Multi-speaker model card
Model card, downloads and license conditions.
Local tools and guides
- vLLM-Omni and the wider multimodal serving stack
Follow the tool’s installation and hardware requirements.
- ComfyUI-Drama3 requirements and test setup
Follow the tool’s installation and hardware requirements.
- vLLM Drama 3 hardware and launch recipe
Follow the tool’s installation and hardware requirements.
- Current vLLM-Omni speech API
Follow the tool’s installation and hardware requirements.
Use cases
- Direct narration for an audiobook or audio drama.
- Give game characters different voices and line-by-line performance directions.
- Render several short takes, compare pronunciation and keep the accepted recording.
Drama 3 API pricing and the launch offer
The English launch announcement quotes USD $10 per million characters from October 13 to November 12, 2026, and $50 at regular price. It does not state a cutoff timezone. Near that boundary, budget at the regular rate and check the price shown for your account.
For 100,000 billable characters, one submission costs $1 during the offer or $5 at regular price. Three full submissions of that workload cost $3 or $15. Re-rendering changes the submitted workload; a short final recording does not erase the cost of discarded takes.
The creator-plan discount is a separate offer on eligible new subscriptions. App credits are not a character-to-minute conversion for API billing. Use the calculator’s API comparison to compare metered speech fees, then add any subscription or separate licensing costs that apply to your workflow.
| API workload | Launch rate | Regular rate |
|---|---|---|
| 1M characters | $10 | $50 |
| 100K characters | $1 | $5 |
| 100K characters × 3 full takes | $3 | $15 |
Select Drama 3 in the speech API
Keep the POST /v1/tts endpoint and send the model header drama-3. Fish’s guide warns that an absent or misspelled header falls back to s2.1-pro rather than failing. Check that header when comparing output or billing.
Write performance directions inside the text and use a voice you are authorized to use. Start with a short line containing the names, numbers and emotional transitions that matter in your script. This request produces a speech file; it requires your own API access and incurs the provider’s charges when run.
curl --fail --show-error https://api.fish.audio/v1/tts \
-H "Authorization: Bearer $FISH_API_KEY" \
-H "Content-Type: application/json" \
-H "model: drama-3" \
-d '{"text":"[quietly] We can try again tomorrow.","format":"mp3"}' \
--output speech.mp3Control delivery without rewriting the whole scene
Bracketed directions can set a mood, add a breath or change pace at the point where they appear. Paired tags such as <whisper> and <emphasis> apply to a span of words. Phoneme tags give another way to pin down a difficult pronunciation.
The docs describe experimental language switching within a line. Try the specific voice and language pair you need; a multilingual catalog does not establish that every pronunciation or switch will work equally well.
The model card supports speaker tags numbered 0 through 15 and chunked long-text output. For a scene, keep the mapping from speaker tags to reference voices consistent. Interactive editing and audio inpainting shown in the launch post remain in invite-only testing, so the ordinary workflow is to revise the direction and generate another take.
Run the downloadable model with SGLang-Omni
The official card describes a 35B MoE text backbone with about 3B active parameters per token, plus an audio decoder. Those active parameters are not the full weight memory requirement. The repository contains FP8 expert weights alongside BF16 tensors; plan for the actual files and runtime allocations.
Fish’s card points to SGLang-Omni for serving. Its installation example enables the fishaudio extra, then serves fishaudio/drama-3. Use the matching cookbook for reference-audio and streaming requests. Download size alone is not a tested minimum VRAM figure.
git clone https://github.com/sgl-project/sglang-omni.git
cd sglang-omni
uv pip install --prerelease=allow -v -e ".[fishaudio]"
sgl-omni serve --model-path fishaudio/drama-3 --port 8000- Model card and local setup ↗
- TTS self-hosting cost calculator
- vLLM-Omni and the wider multimodal serving stack
TensorFold 1.1.5: pruned NVFP4 on Apple Silicon
TensorFold engine 1.1.5 adds native Metal loading for plotarmordev/drama-3-NVFP4-Pruned at revision 494db08481db952f834b2241bce63fb3dfa72554. The maintainer describes roughly 21GiB of checkpoint data plus runtime state: packed experts, BF16 dense and tower weights, and FP32 accumulation. Reserve unified memory for that state and macOS as well as the weights; this is not a tested 20GB-RAM minimum.
Use the 1.1.5 engine recipe, the matching checkpoint and codec.pth, and a supported catalog voice you are authorized to use. Its documented pruned-Metal example enables cfg-gamma 1.5 and cfg-batched. Guidance keeps additional backbone state even though weights are shared, so include it in the memory budget. Listen to the complete result on your own script before comparing this pruned format with the official release.
The Mac App v1.0.0-beta.10 bundles engine 1.1.4. Installing that app beta alone does not provide the new 1.1.5 checkpoint path. Keep the app version, engine version, checkpoint revision and reference-voice configuration together when recording a local result.
Read community memory claims with the test setup
akhaliq’s unofficial hybrid W4A16 checkpoint is a 22.1GB download. With its documented serving flags on an A100-80GB, the maintainer measured 57.3GB GPU memory at startup and a 57.9GB peak across five samples. The card says 32GB and 48GB cards are unverified. Download size and serving memory are different numbers.
The maintainer kept the shared expert in BF16 after quantizing it produced no audio, and reports a truncated tagged take. Its evaluation does not include an official FP8 comparison on the same hardware. Listen to complete outputs before treating a smaller checkpoint as interchangeable.
ComfyUI-Drama3 takes another route: experts stay in system RAM while the GPU caches active weights. Its 8GB mode was simulated by occupying VRAM on an RTX3090; it was not a test on a physical 8GB card. The tested machine had 188GB of system RAM. Plan host memory and offload behavior alongside VRAM, and use the maintainer’s conditions when trying that path.
Serve Drama 3 with vLLM-Omni
The current vLLM recipe adds Drama 3 through /v1/audio/speech, using vLLM 0.31.0 or later and a vLLM-Omni build with Drama 3 support. It requires a CUDA GPU with at least 48GB; the reference run uses one H100 80GB. Its 36.9GiB stage-0 weight allocation is only one part of the two-stage service.
Install the recipe’s matching runtime, use its Drama 3 launch configuration and wait for both the autoregressive and codec stages to load. The speech API guide covers the request body, speaker tags and reference-audio inputs. Send a short authorized line first and inspect the saved audio before extending the script.
Check commercial use and hosted-service rights
The actual LICENSE file is Fish Audio Community License v1.0, dated October 13. It permits research and non-commercial use and grants limited commercial rights while combined annual revenue is below $500,000. It defines revenue across you and your affiliates; installing the weights for a third party also has conditions for that party.
Offering a self-service speech-generation, voice-cloning or inference service to others requires a separate written license, regardless of revenue. The license distinguishes that from delivering finished recordings, your own controlled content and certain free non-commercial demos. Read those definitions for your product. Cloning a real person’s voice also requires their consent.
Evaluate the voice on your own script
Fish’s announcement cites an Artificial Analysis pronunciation result of 93.2% for Drama 3, versus 88.1% for S2.1 Pro. That is a pronunciation benchmark attributed in the release, not a measure of emotional acting, cloning similarity or performance in all 83 advertised languages.
Compare names, dates, codes, pauses and speaker consistency on the same script. For clone creation and access conditions, the HeyGen Voice guide covers a different workflow; YuE2 instead generates songs and belongs in music generation. Neither a music tariff nor an unspecified minutes-to-credits price belongs in a character-rate comparison.
Before you use it
- Language switching and editing availability vary by feature; use the documented path for the voice you choose.
How to get started
Render a short authorized script first, inspect the model header and billed usage, then budget repeated takes before producing a long recording.
Sources
Sources (11)
- TensorFold 1.1.5 engine release ↗
Source checked:
- TensorFold native checkpoint requirements ↗
Source checked:
- TensorFold Mac App beta 10 ↗
Source checked:
- vLLM current Drama 3 serving recipe ↗
Source checked:
- vLLM-Omni speech API ↗
Source checked:
- Community int4 maintainer measurements and limitations ↗
Source checked:
- Community ComfyUI runtime, offload and simulated-VRAM conditions ↗
Source checked:
- English release, availability and offer dates ↗
Source checked:
- Drama 3 API directions ↗
Source checked:
- Official weights and serving guide ↗
Source checked:
- Community License v1.0 ↗
Source checked: