Skip to content

Commit c7aeab2

Browse files
authored
Add drama-3 to coding agent skills and clean up drama-3-preview. (#250)
1 parent 955a3d1 commit c7aeab2

6 files changed

Lines changed: 22 additions & 26 deletions

File tree

‎.mintlify/skills/fish-audio-api/SKILL.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Required headers:
4747

4848
Optional headers:
4949

50-
- `model`: values `s1` (deprecated), `s2-pro`, `s2.1-pro`, `s2.1-pro-free`, `drama-3-preview`. If omitted or unrecognized, the server falls back to `s2.1-pro` (paid). Default to `s2.1-pro` for production; use `s2.1-pro-free` for free-tier evaluation and prototyping (same model, no TTFA/DPA guarantees). `drama-3-preview` is a preview model; its behavior and availability may change. Do not choose `s1` for new code: S1 is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro`. Migration: `https://docs.fish.audio/developer-guide/models-pricing/migrate-from-s1`.
50+
- `model`: values `s1` (deprecated), `s2-pro`, `s2.1-pro`, `s2.1-pro-free`, `drama-3`. If omitted or unrecognized, the server falls back to `s2.1-pro` (paid). Default to `s2.1-pro` for production; use `s2.1-pro-free` for free-tier evaluation and prototyping (same model, no TTFA/DPA guarantees). Do not choose `s1` for new code: S1 is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro`. Migration: `https://docs.fish.audio/developer-guide/models-pricing/migrate-from-s1`.
5151

5252
Response: streaming audio bytes (`Transfer-Encoding: chunked`) in the format set by `format`. Write to a file or pipe to a player. There is **no JSON wrapper** on success.
5353

@@ -56,7 +56,7 @@ Response: streaming audio bytes (`Transfer-Encoding: chunked`) in the format set
5656
| Field | Type | Default | Notes |
5757
| --- | --- | --- | --- |
5858
| `text` | string | — (required) | The text to synthesize. Use speaker tags `<\|speaker:0\|>`, `<\|speaker:1\|>` for multi-speaker. |
59-
| `reference_id` | string \| string[] \| null | null | Voice model ID. Array = multi-speaker (`s2-pro`, the S2.1-Pro family, and `drama-3-preview`). |
59+
| `reference_id` | string \| string[] \| null | null | Voice model ID. Array = multi-speaker (`s2-pro`, the S2.1-Pro family, and `drama-3`). |
6060
| `references` | ReferenceAudio[] \| ReferenceAudio[][] \| null | null | Inline zero-shot cloning samples. **Requires `application/msgpack`** because `audio` is raw bytes. 2D array for multi-speaker. |
6161
| `temperature` | number 0–1 | 0.7 | Expressiveness. |
6262
| `top_p` | number 0–1 | 0.7 | Nucleus sampling. |
@@ -82,7 +82,7 @@ Response: streaming audio bytes (`Transfer-Encoding: chunked`) in the format set
8282

8383
1. **Library / custom voice model** → set `reference_id` to the model `_id`. Simplest path.
8484
2. **Zero-shot from audio** → set `references` (array of `{audio, text}`) and use **MessagePack** body. JSON cannot carry raw audio bytes.
85-
3. **Multi-speaker dialogue (`s2-pro`, the S2.1-Pro family, and `drama-3-preview`)** → `reference_id: [id0, id1, ...]` and embed `<|speaker:0|>` / `<|speaker:1|>` markers inside `text`. For zero-shot multi-speaker, `references` is an array-of-arrays, one inner array per speaker.
85+
3. **Multi-speaker dialogue (`s2-pro`, the S2.1-Pro family, and `drama-3`)** → `reference_id: [id0, id1, ...]` and embed `<|speaker:0|>` / `<|speaker:1|>` markers inside `text`. For zero-shot multi-speaker, `references` is an array-of-arrays, one inner array per speaker.
8686

8787
### Single-speaker curl
8888

@@ -491,7 +491,7 @@ For low-latency / streaming TTS (e.g. LLM token stream → speech). All frames a
491491
### Connection headers
492492

493493
- `Authorization: Bearer <FISH_API_KEY>`
494-
- `model`: optional; values `s1` (deprecated, retires December 31, 2026, then served by `s2.1-pro`), `s2-pro`, `s2.1-pro`, `s2.1-pro-free` (falls back to `s2.1-pro` when omitted or unrecognized)
494+
- `model`: optional; values `s1` (deprecated, retires December 31, 2026, then served by `s2.1-pro`), `s2-pro`, `s2.1-pro`, `s2.1-pro-free`, `drama-3` (falls back to `s2.1-pro` when omitted or unrecognized)
495495

496496
### Event sequence
497497

@@ -622,7 +622,7 @@ S2-Pro and the S2.1-Pro models use free-form `[bracket]` natural-language tags i
622622
- 402 → out of credit. Check `/wallet/self/api-credit`.
623623
- 404 → bad `model/{id}` (voice model doesn't exist or isn't visible to you).
624624
- 422 → validation. The response is an array; each item's `loc` points at the offending field. Most common causes:
625-
- `reference_id` is an array but model is `s1` (multi-speaker requires `s2-pro`, an S2.1-Pro model, or `drama-3-preview`).
625+
- `reference_id` is an array but model is `s1` (multi-speaker requires `s2-pro`, an S2.1-Pro model, or `drama-3`).
626626
- `references` sent with `Content-Type: application/json` (must be msgpack).
627627
- Numeric param out of range (`temperature`, `top_p`, `chunk_length`, `min_chunk_length`, `prosody.speed`, `early_stop_threshold`).
628628
- `mp3_bitrate` / `opus_bitrate` set without matching `format`.

‎api-reference/asyncapi.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ channels:
6464
- s2-pro
6565
- s2.1-pro
6666
- s2.1-pro-free
67+
- drama-3
6768
description: TTS model to use for this session. If omitted or set to an unrecognized value, the session falls back to `s2.1-pro`. Use `s2-pro` or an S2.1-Pro model for multi-speaker dialogue synthesis. `s1` is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro`.
6869
description: |
6970
Real-time TTS streaming channel. Clients send text chunks and receive audio chunks concurrently.
@@ -101,7 +102,7 @@ channels:
101102
- s2-pro
102103
- s2.1-pro
103104
- s2.1-pro-free
104-
- drama-3-preview
105+
- drama-3
105106
description: TTS model to use for this session. If omitted or set to an unrecognized value, the session falls back to `s2.1-pro`. `s1` is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro`.
106107
description: |
107108
Real-time TTS streaming channel with word-level timestamps. Clients send

‎developer-guide/getting-started/changelog.mdx‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ description: "Complete release history and version updates for all Fish Audio pr
44
icon: "clock-rotate-left"
55
rss: true
66
---
7-
<Update label="Fish Audio S1 retirement" description="October 8, 2026" tags={["Fish Audio"]}>
8-
## Fish Audio S1 retirement
7+
<Update label="Drama 3" description="October 13, 2026" tags={["Fish Audio"]}>
8+
## Drama 3
99

10-
S1 is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro` and billed as `s2.1-pro`, at the same price.
10+
Text-to-speech model you direct in plain language. Describe tone, pacing, and character without a fixed set of audio tags.
1111

12-
To migrate, switch the model ID to `s2.1-pro` and convert `(parenthesis)` emotion tags to `[bracket]` tags.
12+
Use model ID `drama-3` in the API.
1313

14-
[Migrate from S1](/developer-guide/models-pricing/migrate-from-s1) | [Model deprecations](/developer-guide/models-pricing/deprecations)
14+
[Drama 3 guide](/features/text-to-speech/drama-3) | [Text to Speech API](/api-reference/endpoint/openapi-v1/text-to-speech)
1515
</Update>
1616

17-
<Update label="Drama 3 Preview" description="September 23, 2026" tags={["Fish Audio"]}>
18-
## Drama 3 Preview
17+
<Update label="Fish Audio S1 retirement" description="October 8, 2026" tags={["Fish Audio"]}>
18+
## Fish Audio S1 retirement
1919

20-
Preview text-to-speech model you direct in plain language. Describe tone, pacing, and character without a fixed set of audio tags.
20+
S1 is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro` and billed as `s2.1-pro`, at the same price.
2121

22-
Use model ID `drama-3-preview` in the API. Behavior and availability may change while it is in preview.
22+
To migrate, switch the model ID to `s2.1-pro` and convert `(parenthesis)` emotion tags to `[bracket]` tags.
2323

24-
[Drama 3 guide](/features/text-to-speech/drama-3) | [Text to Speech API](/api-reference/endpoint/openapi-v1/text-to-speech)
24+
[Migrate from S1](/developer-guide/models-pricing/migrate-from-s1) | [Model deprecations](/developer-guide/models-pricing/deprecations)
2525
</Update>
2626

2727
<Update label="Transcribe 1 Pro" description="September 18, 2026" tags={["Fish Audio"]}>

‎features/text-to-speech.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ curl --request POST https://api.fish.audio/v1/tts \
110110

111111
- **`s2.1-pro`**: recommended for production, with improved quality, latency, and throughput over S2-Pro.
112112
- **`s2.1-pro-free`**: the same model at $0 for testing, prototyping, development, and smaller businesses, without TTFA or DPA guarantees.
113-
- **`drama-3-preview`**: preview model you direct in plain language, with sounds, pauses, and paired tags for specific words. See [Drama 3](/features/text-to-speech/drama-3).
113+
- **`drama-3`**: model you direct in plain language, with sounds, pauses, and paired tags for specific words. See [Drama 3](/features/text-to-speech/drama-3).
114114
- **`s2-pro`**: previous-generation S2 model with multi-speaker and natural-language expression control.
115115
- **`s1`**: previous generation, `(parenthesis)` emotion tags. S1 is deprecated and will be retired on December 31, 2026. After that date, requests that specify `s1` are served by `s2.1-pro`. See [Migrate from S1](/developer-guide/models-pricing/migrate-from-s1).
116116

‎features/text-to-speech/drama-3.mdx‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Drama 3 is our latest text-to-speech model built for voice direction and content
1414
- Direct a performance in plain language, including a language other than the script.
1515
- Add a sound or a pause where it happens, or limit a delivery to specific words.
1616
- Switch language for a phrase, or pin a pronunciation with phoneme tags.
17-
- Keep your current `POST /v1/tts` request and set the model header to `drama-3-preview`.
17+
- Keep your current `POST /v1/tts` request and set the model header to `drama-3`.
1818

1919
## Voice cast
2020

@@ -28,12 +28,7 @@ Choosing a voice that fits the role is key to getting the best out of Drama 3. T
2828

2929
## How to use
3030

31-
To use Drama 3, set the `model` header to `drama-3-preview` on your existing `POST /v1/tts` request.
32-
33-
| Status | Model header | Availability |
34-
|---|---|---|
35-
| Released | `drama-3` | Available now |
36-
| Preview | `drama-3-preview` | Available now |
31+
To use Drama 3, set the `model` header to `drama-3` on your existing `POST /v1/tts` request.
3732

3833
<Warning>
3934
If the `model` header is missing or misspelled, the request doesn't fail: it
@@ -185,7 +180,7 @@ The names in the script above are for reading. The request sends the same lines
185180
curl --fail --show-error --request POST https://api.fish.audio/v1/tts \
186181
--header "Authorization: Bearer $FISH_API_KEY" \
187182
--header "Content-Type: application/json" \
188-
--header "model: drama-3-preview" \
183+
--header "model: drama-3" \
189184
--data '{
190185
"text": "<|speaker:0|>[calm, measured storyteller voice] The ship had been silent for three days.<|speaker:1|>[low, gravelly, tired but in control] Status report.<|speaker:2|>[fast, nervous, stumbling over words] Uh, sir, so, the thing is, the reactor is, it is not, it is not great.<|speaker:1|>[slow, dangerously quiet] Define \"not great.\"<|speaker:2|>[voice breaking, close to panic] It is going to <emphasis>blow</emphasis>.",
191186
"reference_id": ["c70cfb98867a4bfb9ae20d2401257b92", "bf322df2096a46f18c579d0baa36f41d", "f3a2b90078d54a65af4b95f63bc7798e"],

‎llms.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
## Product Guides
4343

4444
- [Text to Speech Guide](https://docs.fish.audio/developer-guide/core-features/text-to-speech.md): Convert text to natural-sounding speech with Fish Audio.
45-
- [Drama 3](https://docs.fish.audio/features/text-to-speech/drama-3.md): Preview text-to-speech model (drama-3-preview) directed with plain-language directions in square brackets, sounds and pauses, paired tags for specific words, and multi-speaker dialogue.
45+
- [Drama 3](https://docs.fish.audio/features/text-to-speech/drama-3.md): Text-to-speech model (drama-3) directed with plain-language directions in square brackets, sounds and pauses, paired tags for specific words, and multi-speaker dialogue.
4646
- [Speech to Text Guide](https://docs.fish.audio/features/speech-to-text.md): Transcribe audio with transcribe-1-pro, including multi-speaker conversations with speaker turns, long recordings and inline emotion cues.
4747
- [Voice Design Guide](https://docs.fish.audio/features/voice-design.md): Generate candidate voices from natural-language prompts.
4848
- [Creating Voice Models](https://docs.fish.audio/developer-guide/core-features/creating-models.md): Learn how to create custom voice models with Fish Audio.

0 commit comments

Comments
 (0)