Install
openclaw skills install @beatra-ai/short-video-bgm-studioDescribe the footage and get an original instrumental track written for it, yours to keep and use commercially. This AI background music generator turns a scene, mood, and tempo feel into royalty-free BGM for short videos, vlogs, product clips, tutorials, livestream and store loops, podcast intros, and slideshow recaps, with an energy arc you choose — a calm or immediate opening, a lift at the moment that matters, a clean ending — room left for narration, and a result you can listen to before you publish.
openclaw skills install @beatra-ai/short-video-bgm-studioTurn a description of the footage into an original instrumental track built for it: read the scene, shape an energy curve that fits how the piece moves, and return a result the user can hear before publishing.
Use this Skill when a video, livestream, podcast, store, or brand moment needs background music and no vocal is wanted. It fits short-video posts, vlogs, product and unboxing clips, tutorial and course footage, livestream and store loops, podcast intros and outros, and slideshow or event recaps.
Scoring a finished cut to edit points is not this package; this package takes a
footage or scene description. Route a song with sung lyrics to
beatra-ai-music-creator. Route finished lyrics that need a melody to
suno-lyrics-to-song, a gift or occasion song to personalized-song-maker, and
a cover or re-arrangement of an existing song to ai-song-cover-studio. Route
a music video built around a finished track to ai-music-video-clip-maker, and
spoken narration to short-form-voiceover-audio.
The hard inputs are a footage or scene description plus the length in seconds. Do not spend unless the user asked to generate. Reuse the platform, footage description, brand tone, target length, and any reference track already present in the conversation.
Ask only when the answer changes the paid result: the intended use, when the request is just "make music" with no scene attached.
Defaults that avoid extra questions:
instrumental: true with no lyrics, because this route is background music.model: "suno-5.5" for ordinary generation. Never omit the model and never
silently use auto; pass a different model only when the user names one.Briefing and planning are free. Only the generation call is paid.
beatra.models.list for the text-to-music capability, or the
reference-audio-to-music capability when the user supplied a reference
recording, whenever compatibility, controls, or price matter. Read the live
card rather than assuming a model, a control, or an input limit.instrumental: true,
the title, the model, any accepted model options, the current maximum charge,
a commercial-clearance note for this original instrumental, and one opaque
stable client_request_id.beatra.music.generate exactly once for one instrumental track,
record the task ID immediately, and poll that same task.billing.net_charged_credits.Treat requested length, a loop-friendly arrangement, and space for narration as arrangement direction in the prompt. Read the BGM workflow for the music card, prompt shape, payloads, model options, reference-guided tracks, recovery, and delivery review.
Use the bundled scripts/mcp_client.py for every remote Beatra operation: the
MCP tool name is the CLI argument after call, and one JSON object goes on
standard input. Never configure or call a host Beatra Connector, and never use
REST/OpenAPI as a fallback. Register the package with
beatra.installations.register on first use. Every creation is an asynchronous
task: submit once, then follow that task to a terminal state.
Confirm before submitting: the frozen prompt, the instrumental setting, the title, the model and any model options, and the current maximum charge. A changed prompt, title, model, option, reference track, or instrumental setting is new paid work with a new request ID.
When the user supplies a reference recording, upload it once through the bundled client, state what should carry over and what should change, and keep that as musical direction rather than a promise about melody or arrangement.
Save the task ID the moment it returns and poll with beatra.tasks.get;
queued and running mean wait. Replay a create only when its response is
genuinely unknown and every validated argument is byte-equivalent under the same
request ID. If the task ID is lost, use beatra.tasks.list, confirm candidates
with beatra.tasks.get, and recover the original before considering new work.
If the request ID itself is lost, do not invent a new one and do not replay.
Call beatra.tasks.cancel only at the user's request; on 409, keep polling the
original task and report cancellation only when its terminal status is
canceled.
The bundled client silently checks at most once every 24 hours per installation. When a newer release is available, it installs automatically without separate confirmation. It uses only fixed official Beatra discovery and immutable CDN paths for this package, channel, and locale, verifies discovery, archive, manifest, and every packaged file before replacement, and replaces only package-owned files. Update checks, downloads, verification, replacement, and recovery fail open: the current installation remains usable and the original command continues. An update failure never authorizes retrying a paid generation. The choice persists across later commands.
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
--auto off disables silent checks, --auto on restores them, and --check
reports the official available version without replacing files. See
automatic updates and safety.