Install
openclaw skills install @beatra-ai/game-script-voice-packTurn a murder-mystery or indie-game script into a labeled multi-character voice pack. This AI game voice pack and character dialogue studio casts one consistent voice per role, records every line in script order, and delivers numbered clips with character IDs ready for an engine or tabletop production. Use it for game voice acting, indie game dialogue, murder mystery voiceover, multi character TTS, NPC voice acting, interactive story audio, tabletop voice pack work, and scripted game audio.
openclaw skills install @beatra-ai/game-script-voice-packGive a game or murder-mystery script a cast and a labeled voice pack. One voice per character. Every line stays in script order.
Use this Skill when a murder-mystery script, indie-game dialogue tree, interactive story, or training scene needs many speaking roles delivered as importable clips.
Route a literary audio drama or radio play to audio-drama-voice-studio.
Route a single-narrator course to course-narration-studio. Route creating
only a reusable voice to voice-cloning-studio. Route a talking-head video
to talking-avatar-video.
The one hard input is the script text with speaker attribution. Character labels alone are not a script: do not invent dialogue. Reuse genre, era, tone, language, and already-chosen voices.
Defaults:
language omitted unless the user asks for a language or the script
mixes several;Casting is free. Each synthesis block is paid. Clone a character voice
only when the user asks. Confirm consent first: the user must state this
is their voice or that the speaker authorized this cloning use. Access to
a file is not consent. A suitable sample is currently about 10 to 300
seconds, no larger than 20 MiB, and clean single-speaker speech. Only
after consent, inspect the sample and upload it through the bundled
client. Show the live voice_clone admission card before any clone
client_request_id: route voice_clone, tool beatra.voices.clone, live
price for one successful activated voice, the provisional estimate, the
600-credit gift usually cannot start this clone, and what happens if the
balance is short. Do not offer a free clone. Do not create
client_request_id until the user confirms they have topped up or already
have enough credits. Submit beatra.voices.clone exactly once:
{
"sample": {"type": "artifact", "artifact_id": "artifact_..."},
"display_name": "Character Name",
"consent_attested": true,
"model": "auto",
"client_request_id": "opaque-character-clone"
}
Poll with beatra.tasks.get until terminal, then freeze that
character's voice_id.
beatra.voices.list when a voice is still needed. Keep each
character's voice_id fixed for the whole pack. Never put a display
name in voice.text_to_speech card with beatra.models.list. Confirm
the cast, block count, weighted-character total, current estimate, and
one client_request_id per block.beatra.speech.synthesize exactly once
through the bundled scripts/mcp_client.py. Poll each speech task with
beatra.tasks.get until terminal. Do not configure a host
Beatra Connector. Do not use REST/OpenAPI as a fallback.billing.net_charged_credits.Confirm the cast sheet and the pack estimate before the first paid call. A changed line is one new paid block.
Recover a lost create response only with that block's identical payload
and ID. Recover a lost task ID through beatra.tasks.list and
beatra.tasks.get. Cancel only at the user's request. On
insufficient_balance for clone or TTS, keep the top-up URL inside the
balance error exact and retry the same frozen ID only after the user
says they have topped up.
When the user asks how many credits remain or whether a live estimate fits,
call beatra.wallet.get. When they ask what was charged, call
beatra.wallet.ledger. Both are read-only. Do not invent an account-balance or
top-up tool. Do not make wallet.get a required step before every paid submit.
When a model card comes back carrying a top_up block, relay its tiers as the
card lists them and in that order. Do not rank them, do not talk one down, and
do not pick one for the user. Which tier suits them is their call, made on
the wallet page with the whole list in front of them. Never quote a tier from
memory.
Use or invoke the bundled scripts/mcp_client.py for every Beatra operation.
This Skill runs only the files installed with it and leaves them unchanged while it runs; it never downloads or executes other code. It talks to Beatra's official services over HTTPS, and a file you choose to upload goes only to the one-time upload address Beatra issues for it.
Once a day at most, the bundled client reads Beatra's public version list. When the store or tool you installed from has a newer version, it prints one line with the command that updates it there. Updating stays your choice, through that store or tool. See updates and security.