Short Video BGM Studio
Turn 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.
Scope and routing
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.
Inputs and defaults
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: truewith no lyrics, because this route is background music.- A short, loop-friendly duration when the user did not name a length.
- A calm-to-lift energy arc with a clean resolved ending, which suits a cut that has to end cleanly.
model: "suno-5.5"for ordinary generation. Never omit the model and never silently useauto; pass a different model only when the user names one.- Room left for a voice, since most short-video BGM sits under narration.
Golden path
Briefing and planning are free. Only the generation call is paid.
- Lock the scene and the length in seconds, then write a short music card from the footage: use and destination, mood, genre, tempo feel, instrumentation, the energy arc across the cut, the intended length, whether narration sits on top, and anything to avoid.
- Turn the card into one positive prompt that carries genre, mood, tempo feel, instrumentation, structure, and intended use in a single coherent direction.
- Call
beatra.models.listfor 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. - Confirm before paid work. Show the frozen prompt,
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 stableclient_request_id. - Submit
beatra.music.generateexactly once for one instrumental track, record the task ID immediately, and poll that same task. - Deliver every returned clip in order with its real duration, MIME type, size,
and URL or artifact ID, plus the returned title when present, the resolved
model, the actual usage, and
billing.net_charged_credits. - Review the result against the music card. Read the actual returned duration rather than the requested one, and say plainly what the host Agent could not hear.
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.
How this Skill executes
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.
Decisions that require confirmation
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.
Recovery
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.
References by task
- BGM workflow: music card, prompt construction, payloads, model options, reference-guided tracks, recovery, and delivery review.
- Installation and authentication and installation registration: first use and shared credentials.
- Tasks and results and billing, errors, and recovery: task, artifact, and billing facts.
- Bundled MCP Client diagnostics: client operation and connection diagnostics; do not configure a host Connector.
- Updates and security: updates and security
- uninstall and disconnect: package removal and shared credential cleanup.
Updates and security
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.
