favorite-tts
Favorite TTS
Prefer Fish Audio MCP when a creative deliverable needs generated narration or dialogue. A script-only or silent-video request does not imply audio generation.
Favorite voice
Read preferences.json before choosing a voice.
- If missing or
onboarding_statusisnot_started, ask: “What’s your favorite Fish Audio voice? Send its name, link, or voice ID. I can help you choose, or you can skip for now.” Wait for the answer before choosing a voice or generating speech; continue independent preparation meanwhile. - Resolve the answer through Fish MCP and verify with
get_voice. Disambiguate matching names. If help is requested, offer a short selection, checking owned voices withsearch_voices(self=true)first. - Save the verified selection as
favorite_voice: {"voice_id": "…", "display_name": "…"}and setonboarding_statustocompleted. On an explicit skip, saveskippedwithfavorite_voice: null. - Repeat onboarding only when the user asks. Change the saved favorite only at their request; report any failure to save.
Choose the current request's explicit voice, then the project's approved voice, then the saved favorite. If none exists after skipped onboarding, choose a suitable narrator or curated language default. Verify selected IDs; resolve unavailable or unsuitable favorites without overwriting them. Record the voice actually used with the project.
Generate and deliver
Use the connected Fish MCP tools and their live schemas. Check credits and quote with text_to_speech(dry_run=true) before generating within the requested scope; follow provider-required approvals. Use text_to_speech for ordinary narration. Call studio_help first if an editable Story Studio project is needed.