set_character_voice
Bind a TTS voice to a character asset — required before generate_voiceover for every character with dialogue (the narrator's voice is separate: set_narrator_voice). Browse ids with list_voices.
This record as markdown: /tools/com-framesail-framesail/set-character-voice.md
What set_character_voice does on Framesail
AI agents use set_character_voice to create or update resources in Framesail, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Framesail environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
asset_id | string | Yes | Character asset ID, from list_assets |
voice_id | string | Yes | TTS voice ID, from list_voices (use the provider matching the project's voice_tts_provider) |
Parameters from the server's own tool schema.
Why set_character_voice is rated Medium
This tool creates or modifies asset metadata (binding a voice to a character) without irreversibly deleting data or executing arbitrary code. It is a prerequisite configuration step in a video creation workflow. While it affects downstream content generation, the action itself is reversible (the voice binding can be changed via set_character_voice again).
From the tool's definition The tool 'Bind a TTS voice to a character asset' modifies character configuration by associating a voice with a character, which is a creational/configurational action required before voiceover generation.
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs set_character_voice safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Framesail, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For set_character_voice, this is the rule to start with:
set_character_voice stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Framesail, apply this rule, and every set_character_voice call is checked against it from then on.
Questions about set_character_voice
Bind a TTS voice to a character asset — required before generate_voiceover for every character with dialogue (the narrator's voice is separate: set_narrator_voice). Browse ids with list_voices. It is categorised as a Write tool in the Framesail MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
set_character_voice accepts 2 parameters: asset_id, voice_id. Required: asset_id, voice_id. The full parameter table on this page comes from the server's own tool schema.
Register the Framesail MCP server in PolicyLayer and add a rule for set_character_voice: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Framesail. Nothing to install.
set_character_voice is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the set_character_voice rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for set_character_voice. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
set_character_voice is provided by the Framesail MCP server (https://api.framesail.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Framesail, and thousands of servers like it.
This server
Across the catalogue