Drama 3 is our latest text-to-speech model built for voice direction and content creation. Alongside your script, you describe how each line should be performed, add sounds and pauses, and limit a delivery to specific words.
Drama 3 is billed by the size of your input text, at $50.00 / M UTF-8 bytes. Until November 12, 2026, 09:00 PT (17:00 UTC), the launch promotion price is $10.00 / M UTF-8 bytes, 80% off. See Pricing & Rate Limits.
Put a direction in square brackets before the words it applies to. Write it the way you’d brief a voice actor: emotion, intent, pacing, or who the character is talking to.
Wrap words in a paired tag, such as <whisper>…</whisper>, to change the delivery of those words only. Supported tags: <whisper>, <emphasis>, <soft>, <fast>, <slow>, <stress>, <forceful>.
Wrap a phrase in a language tag to switch language for those words only. This is useful for a tutor, a conversation, or any line that mixes two languages.Examples:
Use a voice cloned from a speaker fluent in both languages.
Wrap only the words that change language.
Try the pair you need. Accuracy varies by language and voice.
Language tags are experimental. They are not guaranteed for every language or voice, and the model may switch language on its own when the text is already multilingual.
Drama 3 works with the phoneme tags already supported on other models. To pin down how a name or term is pronounced, wrap its phonemes in <|phoneme_start|> and <|phoneme_end|>. In English (CMU Arpabet), the digit on a vowel is its stress: 1 is primary and 0 is unstressed. These two takes are the same word and the same voice, with the stress on a different syllable.The symbol set depends on the language:
Drama 3 works with multi-speaker dialogue the same way current models do. Generate a whole scene in one request: pass one voice ID per speaker as an array in reference_id, and start each turn with a speaker tag. <|speaker:0|> uses the first voice, <|speaker:1|> the second, and so on. Directions and paired tags from this page work inside each turn. See reference_id in the Text to Speech API.This scene uses three public voices: Delia narrates, Adrian is the captain, and Sheila is the engineer.
Narrator: [calm, measured storyteller voice] The ship had been silent for three days.Captain: [low, gravelly, tired but in control] Status report.Engineer: [fast, nervous, stumbling over words] Uh, sir, so, the thing is, the reactor is, it is not, it is not great.Captain: [slow, dangerously quiet] Define "not great."Engineer: [voice breaking, close to panic] It is going to <emphasis>blow</emphasis>.
The names in the script above are for reading. The request sends the same lines as one text string, with a speaker tag instead of a name: <|speaker:0|> is the narrator, <|speaker:1|> is the captain, and <|speaker:2|> is the engineer.
curl --fail --show-error --request POST https://api.fish.audio/v1/tts \ --header "Authorization: Bearer $FISH_API_KEY" \ --header "Content-Type: application/json" \ --header "model: drama-3" \ --data '{ "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>.", "reference_id": ["c70cfb98867a4bfb9ae20d2401257b92", "bf322df2096a46f18c579d0baa36f41d", "f3a2b90078d54a65af4b95f63bc7798e"], "format": "mp3" }' \ --output dialogue.mp3
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Fish Audio","description":"Documentation for Fish Audio APIs, SDKs, models, voice cloning, real-time streaming, and self-hosting.","colors":{"primary":"#0e0e0e","light":"#9b90e8","dark":"#09090b"},"logo":{"light":"https://mintcdn.com/hanabiaiinc/amYp9Dj31LtlHliX/logo/light.png?fit=max\u0026auto=format\u0026n=amYp9Dj31LtlHliX\u0026q=85\u0026s=305973cd6a8d11dbf36d1ec682ee845e","dark":"https://mintcdn.com/hanabiaiinc/amYp9Dj31LtlHliX/logo/dark.png?fit=max\u0026auto=format\u0026n=amYp9Dj31LtlHliX\u0026q=85\u0026s=b79bd889db9ac1aae939834596e8a22f"},"favicon":"https://mintcdn.com/hanabiaiinc/-WxHANLOAmlTUwdM/favicon.svg?fit=max\u0026auto=format\u0026n=-WxHANLOAmlTUwdM\u0026q=85\u0026s=dc65d9f44bda0f5b8277c48dd9c979c3","navbar":{"links":[{"href":"https://discord.gg/dF9Db2Tt3Y","label":"Community"},{"href":"mailto:support@fish.audio","label":"Support"}],"primary":{"type":"button","label":"Sign Up","href":"https://fish.audio/app/developers/get-started/?utm_source=docs\u0026utm_medium=navbar\u0026utm_content=sign-up"}},"footer":{"socials":{"website":"https://fish.audio","github":"https://github.com/fishaudio","x":"https://x.com/fishaudio","linkedin":"https://www.linkedin.com/company/fish-audio","discord":"https://discord.gg/dF9Db2Tt3Y"},"links":[{"header":"About","items":[{"label":"Research","href":"https://openaudio.com/"},{"label":"Careers","href":"mailto:hr@fish.audio"},{"label":"Blog","href":"https://fish.audio/blog"}]},{"header":"Resources","items":[{"label":"API Status","href":"https://status.fish.audio"},{"label":"Open Source","href":"https://github.com/fishaudio"},{"label":"Changelog","href":"https://docs.fish.audio/developer-guide/getting-started/changelog"}]},{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://fish.audio/privacy"},{"label":"Terms of Service","href":"https://fish.audio/terms"},{"label":"Report Abuse","href":"mailto:support@fish.audio?subject=%5BReport+Abuse%5D+MODEL+NAME\u0026amp;body=Please+provide+a+detailed+description+of+the+abuse+you+are+reporting."}]}]},"fonts":{"family":"Onest"},"integrations":{"amplitude":{"apiKey":"39daf30712f00da6ea5283bc21e7084e"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"interaction":{"drilldown":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hanabiaiinc","hasAudioNarration":false,"actualSubdomain":"hanabiaiinc","customDomains":["docs.fish.audio"],"gitSource":{"type":"github","owner":"fishaudio","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae56efa9afa32bba0ddb1e1","collectionId":"01cc146e-5c80-4017-a795-3e36c6ff5319","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae56efa9afa32bba0ddb1e1"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae56fd1ddbe137114558805","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":78},{"language":"default","tag":"Agents API","count":49},{"language":"default","tag":"Agents","count":46},{"language":"default","tag":"Resources","count":40},{"language":"default","tag":"Overview","count":31},{"language":"default","tag":"REST API","count":14},{"language":"default","tag":"Core Features","count":14},{"language":"default","tag":"Tests","count":13},{"language":"default","tag":"Cookbook","count":12},{"language":"default","tag":"Build","count":10}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@fish.audio","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"*{scrollbar-width:thin;scrollbar-color:rgba(120,120,120,.4) transparent}::-webkit-scrollbar{width:6px;height:6px;background:0 0!important}::-webkit-scrollbar-thumb{background:rgba(120,120,120,.5);border-radius:999px;opacity:0;transition:opacity .2s ease}:active::-webkit-scrollbar-thumb,:hover::-webkit-scrollbar-thumb{opacity:1}img[src*=\"/images/\"]{background:0 0!important}.prompt-card{display:grid;cursor:pointer;outline:0}.prompt-card .card{transition:border-color .15s ease}.prompt-card:focus-visible .card,.prompt-card:hover .card{border-color:rgb(var(--primary))!important}.dark .prompt-card:focus-visible .card,.dark .prompt-card:hover .card{border-color:rgb(var(--primary-light))!important}.prompt-card-hint{position:absolute;top:1rem;right:1rem;padding:.3rem .6rem;border-radius:9999px;font-size:.75rem;line-height:1;color:rgb(var(--gray-500));background:rgba(120,120,120,.12);opacity:0;transition:opacity .15s ease;pointer-events:none}.prompt-card:focus-visible .prompt-card-hint,.prompt-card:hover .prompt-card-hint,.prompt-card[data-state=copied] .prompt-card-hint,.prompt-card[data-state=failed] .prompt-card-hint{opacity:1}.prompt-card[data-state=copied] .prompt-card-hint{color:rgb(var(--primary));background:rgb(var(--primary)/.12)}.dark .prompt-card[data-state=copied] .prompt-card-hint{color:rgb(var(--primary-light));background:rgb(var(--primary-light)/.16)}"}],"page":{"pagePath":"features/text-to-speech/drama-3","slug":"/features/text-to-speech/drama-3","pageMetadata":{"title":"Drama 3","description":"Text-to-speech model you can direct","icon":"clapperboard","href":"/features/text-to-speech/drama-3"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Text-to-speech model you can direct\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const AudioClip=({src,title,text})=>{const[isPlaying,setIsPlaying]=useState(false);const[currentTime,setCurrentTime]=useState(0);const[duration,setDuration]=useState(0);const audioRef=useRef(null);useEffect(()=>{const audio=audioRef.current;if(!audio)return;const updateTime=()=>setCurrentTime(audio.currentTime);const updateDuration=()=>setDuration(audio.duration);const handlePlay=()=>setIsPlaying(true);const handlePause=()=>setIsPlaying(false);audio.addEventListener(`timeupdate`,updateTime);audio.addEventListener(`loadedmetadata`,updateDuration);audio.addEventListener(`play`,handlePlay);audio.addEventListener(`pause`,handlePause);audio.addEventListener(`ended`,handlePause);return()=>{audio.removeEventListener(`timeupdate`,updateTime);audio.removeEventListener(`loadedmetadata`,updateDuration);audio.removeEventListener(`play`,handlePlay);audio.removeEventListener(`pause`,handlePause);audio.removeEventListener(`ended`,handlePause)}},[]);const togglePlay=()=>{const audio=audioRef.current;if(!audio)return;if(audio.paused){document.querySelectorAll(`audio`).forEach(other=>{if(other!==audio)other.pause()});audio.play().catch(()=>setIsPlaying(false))}else{audio.pause()}};const handleProgressChange=event=>{const next=parseFloat(event.target.value);audioRef.current.currentTime=next;setCurrentTime(next)};const formatTime=time=>{if(!Number.isFinite(time))return`0:00`;const minutes=Math.floor(time/60);const seconds=Math.floor(time%60);return`${minutes}:${seconds.toString().padStart(2,`0`)}`};return _jsxs(`div`,{className:`not-prose mint-my-3 mint-rounded-xl mint-border mint-border-gray-200 mint-px-3 mint-py-2 dark:mint-border-white/10`,children:[title||text?_jsxs(`div`,{className:`mint-mb-2`,children:[title?_jsx(`p`,{className:`mint-m-0 mint-text-sm mint-font-medium`,children:title}):null,text?_jsx(`p`,{className:`mint-m-0 mint-mt-1 mint-font-mono mint-text-sm mint-leading-relaxed mint-text-gray-600 dark:mint-text-gray-300`,children:text}):null]}):null,_jsxs(`div`,{className:`mint-flex mint-items-center mint-gap-3`,children:[_jsx(`audio`,{ref:audioRef,src,preload:`metadata`}),_jsx(`button`,{onClick:togglePlay,className:`mint-flex mint-h-9 mint-w-9 mint-flex-shrink-0 mint-items-center mint-justify-center mint-rounded-full bg-primary mint-text-white mint-transition-opacity hover:mint-opacity-90 focus-visible:mint-ring-2 focus-visible:ring-primary`,\"aria-label\":isPlaying?`Pause ${title||`sample`}`:`Play ${title||`sample`}`,children:isPlaying?_jsx(`svg`,{className:`mint-h-4 mint-w-4`,fill:`currentColor`,viewBox:`0 0 24 24`,\"aria-hidden\":`true`,children:_jsx(`path`,{d:`M6 4h4v16H6V4zm8 0h4v16h-4V4z`})}):_jsx(`svg`,{className:`mint-ml-0.5 mint-h-4 mint-w-4`,fill:`currentColor`,viewBox:`0 0 24 24`,\"aria-hidden\":`true`,children:_jsx(`path`,{d:`M8 5v14l11-7z`})})}),_jsx(`span`,{className:`mint-w-10 mint-font-mono mint-text-xs mint-tabular-nums mint-text-gray-500 dark:mint-text-gray-400`,children:formatTime(currentTime)}),_jsxs(`div`,{className:`mint-relative mint-h-1.5 mint-flex-1 mint-rounded-full mint-bg-gray-200 dark:mint-bg-white/10 focus-within:mint-ring-2 focus-within:ring-primary`,children:[_jsx(`div`,{className:`mint-absolute mint-top-0 mint-left-0 mint-h-full mint-rounded-full bg-primary`,style:{width:`${duration?currentTime/duration*100:0}%`}}),_jsx(`input`,{type:`range`,min:`0`,max:duration||0,step:`0.1`,value:currentTime,onChange:handleProgressChange,\"aria-label\":`Seek ${title||`sample`}`,className:`mint-absolute mint-inset-0 mint-h-full mint-w-full mint-cursor-pointer mint-opacity-0`})]}),_jsx(`span`,{className:`mint-w-10 mint-text-right mint-font-mono mint-text-xs mint-tabular-nums mint-text-gray-500 dark:mint-text-gray-400`,children:formatTime(duration)})]})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Drama 3 is our latest text-to-speech model built for voice direction and content creation. Alongside your script, you describe how each line should be performed, add sounds and pauses, and limit a delivery to specific words.`}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-new`,children:`What’s new`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Direct a performance in plain language, including a language other than the script.`}),`\n`,_jsx(_components.li,{children:`Add a sound or a pause where it happens, or limit a delivery to specific words.`}),`\n`,_jsx(_components.li,{children:`Switch language for a phrase, or pin a pronunciation with phoneme tags.`}),`\n`,_jsxs(_components.li,{children:[`Keep your current `,_jsx(_components.code,{children:`POST /v1/tts`}),` request and set the model header to `,_jsx(_components.code,{children:`drama-3`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`voice-cast`,children:`Voice cast`}),`\n`,_jsx(_components.p,{children:`Choosing a voice that fits the role is key to getting the best out of Drama 3. These public voices are used in the examples on this page:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Language`}),_jsx(_components.th,{children:`ID`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`https://fish.audio/app/text-to-speech/?modelId=bf322df2096a46f18c579d0baa36f41d`,children:`Adrian`})}),_jsx(_components.td,{children:`EN-US, male`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`bf322df2096a46f18c579d0baa36f41d`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`https://fish.audio/app/text-to-speech/?modelId=c70cfb98867a4bfb9ae20d2401257b92`,children:`Delia`})}),_jsx(_components.td,{children:`EN-US, female`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`c70cfb98867a4bfb9ae20d2401257b92`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`https://fish.audio/app/text-to-speech/?modelId=f3a2b90078d54a65af4b95f63bc7798e`,children:`Sheila`})}),_jsx(_components.td,{children:`EN-US, female`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`f3a2b90078d54a65af4b95f63bc7798e`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-use`,children:`How to use`}),`\n`,_jsxs(_components.p,{children:[`To use Drama 3, set the `,_jsx(_components.code,{children:`model`}),` header to `,_jsx(_components.code,{children:`drama-3`}),` on your existing `,_jsx(_components.code,{children:`POST /v1/tts`}),` request.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`If the `,_jsx(_components.code,{children:`model`}),` header is missing or misspelled, the request doesn’t fail: it\nfalls back to `,_jsx(_components.code,{children:`s2.1-pro`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`pricing`,children:`Pricing`}),`\n`,_jsxs(_components.p,{children:[`Drama 3 is billed by the size of your input text, at $50.00 / M UTF-8 bytes. Until November 12, 2026, 09:00 PT (17:00 UTC), the launch promotion price is $10.00 / M UTF-8 bytes, 80% off. See `,_jsx(_components.a,{href:`/developer-guide/models-pricing/pricing-and-rate-limits`,children:`Pricing \u0026 Rate Limits`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`direct-the-performance`,children:`Direct the performance`}),`\n`,_jsx(_components.p,{children:`Directions are plain text in your script, and you can mix them freely in the same line. They work the same way in API requests and in the web app.`}),`\n`,_jsx(Heading,{level:`3`,id:`describe-the-delivery-in-your-own-words`,children:`Describe the delivery in your own words`}),`\n`,_jsx(_components.p,{children:`Put a direction in square brackets before the words it applies to. Write it the way you’d brief a voice actor: emotion, intent, pacing, or who the character is talking to.`}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-01.mp3`,title:`Sheila`,text:`[barely holding it together, forcing a smile] I'm fine. Really. Go on without me.`})}),`\n`,_jsx(Heading,{level:`3`,id:`add-sounds-and-pauses`,children:`Add sounds and pauses`}),`\n`,_jsx(_components.p,{children:`Put a sound or pause in brackets exactly where it should happen, such as a sigh, a laugh, a breath, or a short pause.`}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-02.mp3`,title:`Sheila`,text:`I'm fine. [shaky breath] Really. [small laugh] Go on without me.`})}),`\n`,_jsx(Heading,{level:`3`,id:`write-directions-in-any-language`,children:`Write directions in any language`}),`\n`,_jsx(_components.p,{children:`Directions can be in English or your own language, and they don’t have to match the language of the script.`}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-03.mp3`,title:`Sheila`,text:`[像是在强忍着眼泪,却努力笑着] I'm fine. Really. Go on without me.`})}),`\n`,_jsx(Heading,{level:`3`,id:`change-only-specific-words`,children:`Change only specific words`}),`\n`,_jsxs(_components.p,{children:[`Wrap words in a paired tag, such as `,_jsx(_components.code,{children:`\u003cwhisper>…\u003c/whisper>`}),`, to change the delivery of those words only. Supported tags: `,_jsx(_components.code,{children:`\u003cwhisper>`}),`, `,_jsx(_components.code,{children:`\u003cemphasis>`}),`, `,_jsx(_components.code,{children:`\u003csoft>`}),`, `,_jsx(_components.code,{children:`\u003cfast>`}),`, `,_jsx(_components.code,{children:`\u003cslow>`}),`, `,_jsx(_components.code,{children:`\u003cstress>`}),`, `,_jsx(_components.code,{children:`\u003cforceful>`}),`.`]}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-04.mp3`,title:`Sheila`,text:`I'm fine. Really. \u003cwhisper>Go on without me.\u003c/whisper>`})}),`\n`,_jsx(Heading,{level:`3`,id:`switch-language-mid-line-experimental`,children:`Switch language mid-line (Experimental)`}),`\n`,_jsx(_components.p,{children:`Wrap a phrase in a language tag to switch language for those words only. This is useful for a tutor, a conversation, or any line that mixes two languages.`}),`\n`,_jsx(_components.p,{children:`Examples:`}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-french.mp3`,title:`Sheila`,text:`She looked at the menu and said \u003cfrench>Je voudrais une table pour deux, s'il vous plaît.\u003c/french> The waiter smiled.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/delia-spanish.mp3`,title:`Delia`,text:`Welcome to Madrid. \u003cspanish>Bienvenidos a nuestra casa.\u003c/spanish> Make yourself at home.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/adrian-german.mp3`,title:`Adrian`,text:`In Berlin they greet you with \u003cgerman>Guten Morgen, wie geht's?\u003c/german> and they actually mean it.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/adrian-japanese.mp3`,title:`Adrian`,text:`He bowed and said \u003cjapanese>ありがとうございました\u003c/japanese> before he left.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/delia-chinese.mp3`,title:`Delia`,text:`My grandmother always told me \u003cchinese>慢慢来\u003c/chinese>, which means take your time.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-korean.mp3`,title:`Sheila`,text:`The song starts with \u003ckorean>안녕하세요\u003c/korean> and then the beat drops.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-italian.mp3`,title:`Sheila`,text:`\u003citalian>Che bella giornata!\u003c/italian> That's what my neighbor yells every morning.`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Use a voice cloned from a speaker fluent in both languages.`}),`\n`,_jsx(_components.li,{children:`Wrap only the words that change language.`}),`\n`,_jsx(_components.li,{children:`Try the pair you need. Accuracy varies by language and voice.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Language tags are experimental. They are not guaranteed for every language or voice, and the model may switch language on its own when the text is already multilingual.`})}),`\n`,_jsx(Heading,{level:`2`,id:`pronunciation`,children:`Pronunciation`}),`\n`,_jsxs(_components.p,{children:[`Drama 3 works with the phoneme tags already supported on other models. To pin down how a name or term is pronounced, wrap its phonemes in `,_jsx(_components.code,{children:`\u003c|phoneme_start|>`}),` and `,_jsx(_components.code,{children:`\u003c|phoneme_end|>`}),`. In English (CMU Arpabet), the digit on a vowel is its stress: `,_jsx(_components.code,{children:`1`}),` is primary and `,_jsx(_components.code,{children:`0`}),` is unstressed. These two takes are the same word and the same voice, with the stress on a different syllable.`]}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-phoneme-first.mp3`,title:`Sheila, stress on the first syllable`,text:`I am an \u003c|phoneme_start|>EH1 N JH AH0 N IH0 R\u003c|phoneme_end|>.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/sheila-phoneme-last.mp3`,title:`Sheila, stress on the last syllable`,text:`I am an \u003c|phoneme_start|>EH0 N JH AH0 N IH1 R\u003c|phoneme_end|>.`})}),`\n`,_jsx(_components.p,{children:`The symbol set depends on the language:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Language`}),_jsx(_components.th,{children:`Phonemes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/developer-guide/core-features/fine-grained-control/english`,children:`English`})}),_jsx(_components.td,{children:`CMU Arpabet`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/developer-guide/core-features/fine-grained-control/chinese`,children:`Chinese`})}),_jsx(_components.td,{children:`pinyin`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/developer-guide/core-features/fine-grained-control/japanese`,children:`Japanese`})}),_jsx(_components.td,{children:`romaji`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`multi-speaker-dialogue`,children:`Multi-speaker dialogue`}),`\n`,_jsxs(_components.p,{children:[`Drama 3 works with multi-speaker dialogue the same way current models do. Generate a whole scene in one request: pass one voice ID per speaker as an array in `,_jsx(_components.code,{children:`reference_id`}),`, and start each turn with a speaker tag. `,_jsx(_components.code,{children:`\u003c|speaker:0|>`}),` uses the first voice, `,_jsx(_components.code,{children:`\u003c|speaker:1|>`}),` the second, and so on. Directions and paired tags from this page work inside each turn. See `,_jsx(_components.code,{children:`reference_id`}),` in the `,_jsx(_components.a,{href:`/api-reference/endpoint/openapi-v1/text-to-speech`,children:`Text to Speech API`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`This scene uses three public voices: `,_jsx(_components.a,{href:`https://fish.audio/app/text-to-speech/?modelId=c70cfb98867a4bfb9ae20d2401257b92`,children:`Delia`}),` narrates, `,_jsx(_components.a,{href:`https://fish.audio/app/text-to-speech/?modelId=bf322df2096a46f18c579d0baa36f41d`,children:`Adrian`}),` is the captain, and `,_jsx(_components.a,{href:`https://fish.audio/app/text-to-speech/?modelId=f3a2b90078d54a65af4b95f63bc7798e`,children:`Sheila`}),` is the engineer.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Narrator: [calm, measured storyteller voice] The ship had been silent for three days.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Captain: [low, gravelly, tired but in control] Status report.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Engineer: [fast, nervous, stumbling over words] Uh, sir, so, the thing is, the reactor is, it is not, it is not great.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Captain: [slow, dangerously quiet] Define \"not great.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Engineer: [voice breaking, close to panic] It is going to \u003cemphasis>blow\u003c/emphasis>.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`The names in the script above are for reading. The request sends the same lines as one `,_jsx(_components.code,{children:`text`}),` string, with a speaker tag instead of a name: `,_jsx(_components.code,{children:`\u003c|speaker:0|>`}),` is the narrator, `,_jsx(_components.code,{children:`\u003c|speaker:1|>`}),` is the captain, and `,_jsx(_components.code,{children:`\u003c|speaker:2|>`}),` is the engineer.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --fail`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --show-error`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.fish.audio/v1/tts`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$FISH_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model: drama-3\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\": \"\u003c|speaker:0|>[calm, measured storyteller voice] The ship had been silent for three days.\u003c|speaker:1|>[low, gravelly, tired but in control] Status report.\u003c|speaker:2|>[fast, nervous, stumbling over words] Uh, sir, so, the thing is, the reactor is, it is not, it is not great.\u003c|speaker:1|>[slow, dangerously quiet] Define \\\\\"not great.\\\\\"\u003c|speaker:2|>[voice breaking, close to panic] It is going to \u003cemphasis>blow\u003c/emphasis>.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"reference_id\": [\"c70cfb98867a4bfb9ae20d2401257b92\", \"bf322df2096a46f18c579d0baa36f41d\", \"f3a2b90078d54a65af4b95f63bc7798e\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"format\": \"mp3\"`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --output`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dialogue.mp3`})]}),`\n`]})})}),`\n`,_jsx(_MdxComponentBoundary,{name:`AudioClip`,children:_jsx(AudioClip,{src:`/snippets/drama-3/ship.mp3`,title:`Delia, Adrian, Sheila`})}),`\n`,_jsx(Heading,{level:`2`,id:`support`,children:`Support`}),`\n`,_jsx(_components.p,{children:`Need help? Check out these resources:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/introduction`,children:`API Reference`}),` - Complete API documentation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/endpoint/model/create-model`,children:`Create a Voice Clone`}),` - Create a voice clone model`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/endpoint/openapi-v1/text-to-speech`,children:`Generate Speech`}),` - Generate realistic speech`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/features/realtime-streaming`,children:`Real-time Streaming`}),` - WebSocket for real-time streaming`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://discord.com/invite/dF9Db2Tt3Y`,children:`Discord Community`}),` - Get help from the community`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`mailto:support@fish.audio`,children:`Support Email`}),` - Contact our support team`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{AudioClip,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Drama 3","description":"Text-to-speech model you can direct","icon":"clapperboard","href":"/features/text-to-speech/drama-3"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[145,3864,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"What’s new","slug":"what’s-new","depth":2,"children":[]},{"title":"Voice cast","slug":"voice-cast","depth":2,"children":[]},{"title":"How to use","slug":"how-to-use","depth":2,"children":[]},{"title":"Pricing","slug":"pricing","depth":2,"children":[]},{"title":"Direct the performance","slug":"direct-the-performance","depth":2,"children":[{"title":"Describe the delivery in your own words","slug":"describe-the-delivery-in-your-own-words","depth":3,"children":[]},{"title":"Add sounds and pauses","slug":"add-sounds-and-pauses","depth":3,"children":[]},{"title":"Write directions in any language","slug":"write-directions-in-any-language","depth":3,"children":[]},{"title":"Change only specific words","slug":"change-only-specific-words","depth":3,"children":[]},{"title":"Switch language mid-line (Experimental)","slug":"switch-language-mid-line-experimental","depth":3,"children":[]}]},{"title":"Pronunciation","slug":"pronunciation","depth":2,"children":[]},{"title":"Multi-speaker dialogue","slug":"multi-speaker-dialogue","depth":2,"children":[]},{"title":"Support","slug":"support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-absolute {\n position: absolute\n}\n.mint-relative {\n position: relative\n}\n.mint-inset-0 {\n inset: 0px\n}\n.mint-left-0 {\n left: 0px\n}\n.mint-top-0 {\n top: 0px\n}\n.mint-m-0 {\n margin: 0px\n}\n.mint-my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem\n}\n.mint-mb-2 {\n margin-bottom: 0.5rem\n}\n.mint-ml-0\\.5 {\n margin-left: 0.125rem\n}\n.mint-mt-1 {\n margin-top: 0.25rem\n}\n.mint-flex {\n display: flex\n}\n.mint-h-1\\.5 {\n height: 0.375rem\n}\n.mint-h-4 {\n height: 1rem\n}\n.mint-h-9 {\n height: 2.25rem\n}\n.mint-h-full {\n height: 100%\n}\n.mint-w-10 {\n width: 2.5rem\n}\n.mint-w-4 {\n width: 1rem\n}\n.mint-w-9 {\n width: 2.25rem\n}\n.mint-w-full {\n width: 100%\n}\n.mint-flex-1 {\n flex: 1 1 0%\n}\n.mint-flex-shrink-0 {\n flex-shrink: 0\n}\n.mint-cursor-pointer {\n cursor: pointer\n}\n.mint-items-center {\n align-items: center\n}\n.mint-justify-center {\n justify-content: center\n}\n.mint-gap-3 {\n gap: 0.75rem\n}\n.mint-rounded-full {\n border-radius: 9999px\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}\n.mint-border {\n border-width: 1px\n}\n.mint-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))\n}\n.mint-bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))\n}\n.mint-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem\n}\n.mint-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem\n}\n.mint-text-right {\n text-align: right\n}\n.mint-font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace\n}\n.mint-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n.mint-text-xs {\n font-size: 0.75rem;\n line-height: 1rem\n}\n.mint-font-medium {\n font-weight: 500\n}\n.mint-tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)\n}\n.mint-leading-relaxed {\n line-height: 1.625\n}\n.mint-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1))\n}\n.mint-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1))\n}\n.mint-opacity-0 {\n opacity: 0\n}\n.mint-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n.focus-within\\:mint-ring-2:focus-within {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)\n}\n.hover\\:mint-opacity-90:hover {\n opacity: 0.9\n}\n.focus-visible\\:mint-ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)\n}\n.dark\\:mint-border-white\\/10:is(.dark *) {\n border-color: rgb(255 255 255 / 0.1)\n}\n.dark\\:mint-bg-white\\/10:is(.dark *) {\n background-color: rgb(255 255 255 / 0.1)\n}\n.dark\\:mint-text-gray-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1))\n}","subdomain":"hanabiaiinc","siteName":"Fish Audio","title":"Drama 3 - Fish Audio","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T02:37:25.792Z","originalFileLocation":"features/text-to-speech/drama-3.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Text-to-speech model you can direct\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fish Audio\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Drama 3 - Fish Audio\">\u003cmeta data-mint-head property=\"og:description\" content=\"Text-to-speech model you can direct\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fish Audio\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fish.audio/features/text-to-speech/drama-3\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hanabiaiinc.mintlify.app/_mintlify/api/og/v2?division=Text+to+Speech\u0026amp;title=Drama+3\u0026amp;description=Text-to-speech+model+you+can+direct\u0026amp;theme=949dddfb68a78f6c8e39910d\u0026amp;signature=5fc783d86213dc73da504c5e494d3aaa226cdf8e80b78b604e3ec8b74b1b5f2c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Drama 3 - Fish Audio\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Text-to-speech model you can direct\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hanabiaiinc.mintlify.app/_mintlify/api/og/v2?division=Text+to+Speech\u0026amp;title=Drama+3\u0026amp;description=Text-to-speech+model+you+can+direct\u0026amp;theme=949dddfb68a78f6c8e39910d\u0026amp;signature=5fc783d86213dc73da504c5e494d3aaa226cdf8e80b78b604e3ec8b74b1b5f2c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fish Audio\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0e0e0e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fish.audio/features/text-to-speech/drama-3\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/features/text-to-speech/drama-3.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fish.audio/#organization\",\"name\":\"Fish Audio\",\"url\":\"https://docs.fish.audio\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hanabiaiinc/amYp9Dj31LtlHliX/logo/light.png?fit=max\u0026auto=format\u0026n=amYp9Dj31LtlHliX\u0026q=85\u0026s=305973cd6a8d11dbf36d1ec682ee845e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fish.audio#website\",\"name\":\"Fish Audio\",\"url\":\"https://docs.fish.audio\",\"publisher\":{\"@id\":\"https://docs.fish.audio/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fish.audio/features/text-to-speech/drama-3#webpage\",\"url\":\"https://docs.fish.audio/features/text-to-speech/drama-3\",\"name\":\"Drama 3\",\"description\":\"Text-to-speech model you can direct\",\"dateModified\":\"2026-10-22T02:37:25.792Z\",\"isPartOf\":{\"@id\":\"https://docs.fish.audio#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fish.audio/features/text-to-speech/drama-3#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fish.audio/features/text-to-speech/drama-3#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core Features\",\"item\":\"https://docs.fish.audio/features/text-to-speech\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Text to Speech\",\"item\":\"https://docs.fish.audio/features/text-to-speech\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Drama 3\",\"item\":\"https://docs.fish.audio/features/text-to-speech/drama-3\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fish.audio/features/text-to-speech/drama-3#article\",\"headline\":\"Drama 3\",\"name\":\"Drama 3\",\"description\":\"Text-to-speech model you can direct\",\"url\":\"https://docs.fish.audio/features/text-to-speech/drama-3\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fish.audio/features/text-to-speech/drama-3#webpage\"},\"dateModified\":\"2026-10-22T02:37:25.792Z\",\"publisher\":{\"@id\":\"https://docs.fish.audio/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fish.audio#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Fish Audio\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Fish Audio","nav":{"global":null,"tabs":[{"tab":"Overview","groups":[{"group":"Get Started","pages":[{"title":"Overview","sidebarTitle":"Overview","icon":"house","href":"/overview/capabilities"},{"title":"Get Your API Key","icon":"key","href":"/developer-guide/getting-started/api-key"},{"title":"Quick Start","icon":"rocket","href":"/developer-guide/getting-started/quickstart"},{"title":"Migrate to Fish Audio","sidebarTitle":"Migrate to Fish Audio","icon":"signs-post","tag":"Beta","href":"/developer-guide/getting-started/migration"},{"title":"Coding Assistant Quickstart","sidebarTitle":"Coding Assistants","icon":"laptop-code","href":"/developer-guide/resources/agent-quickstart"},{"title":"Changelog","icon":"clock-rotate-left","href":"/developer-guide/getting-started/changelog"}]},{"group":"Core Features","pages":[{"group":"Text to Speech","icon":"microphone","pages":[{"title":"Text to Speech","sidebarTitle":"Overview","description":"Turn text into lifelike speech","icon":"microphone","href":"/features/text-to-speech"},{"title":"Drama 3","icon":"clapperboard","href":"/features/text-to-speech/drama-3"},{"title":"Emotion Control","description":"Add natural emotions and expressions to your AI-generated speech","icon":"masks-theater","href":"/developer-guide/core-features/emotions"},{"group":"Fine-grained Control","icon":"sliders","pages":[{"title":"Fine-grained Control","sidebarTitle":"Overview","icon":"sliders","iconType":"solid","href":"/developer-guide/core-features/fine-grained-control"},{"title":"Pronunciation Dictionaries","icon":"book-open","href":"/developer-guide/core-features/fine-grained-control/pronunciation-dictionaries"},{"title":"English Phoneme Control","icon":"language","href":"/developer-guide/core-features/fine-grained-control/english"},{"title":"Chinese Phoneme Control","icon":"language","href":"/developer-guide/core-features/fine-grained-control/chinese"},{"title":"Japanese Phoneme Control","icon":"language","href":"/developer-guide/core-features/fine-grained-control/japanese"}]}]},{"group":"Speech to Text","icon":"waveform","pages":[{"title":"Speech to Text","sidebarTitle":"Overview","icon":"waveform","href":"/features/speech-to-text"},{"title":"Realtime Speech to Text","sidebarTitle":"Realtime","icon":"microphone-lines","tag":"Preview","href":"/features/speech-to-text/realtime"}]},{"title":"Voice Design","icon":"wand-magic-sparkles","href":"/features/voice-design"},{"title":"Voice Cloning","icon":"clone","href":"/features/voice-cloning"},{"title":"Realtime Streaming","icon":"bolt","href":"/features/realtime-streaming"},{"title":"Manage Voices","icon":"sliders","href":"/features/manage-voices"}]},{"group":"Platform (Web App)","pages":[{"title":"Platform (Web App)","icon":"browser","href":"/overview/platform"},{"group":"Create Voice","icon":"user-plus","pages":[{"title":"Professional Voice Clone","icon":"microphone-stand","href":"/overview/platform/create-voice/professional-voice-clone"},{"title":"Voice Design in the Web App","sidebarTitle":"Voice Design","icon":"wand-magic-sparkles","href":"/overview/platform/create-voice/voice-design"}]},{"group":"MCP Server","icon":"plug","pages":[{"title":"MCP Server","sidebarTitle":"Overview","icon":"plug","href":"/overview/mcp"},{"title":"MCP Tools","sidebarTitle":"Tools","icon":"wrench","href":"/overview/mcp/tools"}]}]},{"group":"Models \u0026 Pricing","pages":[{"title":"Models Overview","icon":"layer-group","href":"/developer-guide/models-pricing/models-overview"},{"title":"Choosing a Model","icon":"magnifying-glass","href":"/developer-guide/models-pricing/choosing-a-model"},{"title":"Model Deprecations","icon":"triangle-exclamation","href":"/developer-guide/models-pricing/deprecations"},{"title":"Migrate from S1","sidebarTitle":"Migrate from S1","icon":"arrow-right-arrow-left","href":"/developer-guide/models-pricing/migrate-from-s1"},{"title":"Migrate from transcribe-1","sidebarTitle":"Migrate from transcribe-1","icon":"arrow-right-arrow-left","href":"/developer-guide/models-pricing/migrate-from-transcribe-1"},{"title":"Pricing \u0026 Rate Limits","icon":"dollar-sign","href":"/developer-guide/models-pricing/pricing-and-rate-limits"}]}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/overview"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/developer-guide/sdk-guide/quickstart"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Drama 3 - Fish Audio","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":[],"chunks":[]}