Beatra
Use authenticated Beatra MCP as the execution contract. Run every Beatra tool
through this Skill's bundled scripts/mcp_client.py; it is the Skill transport
to the remote Beatra MCP endpoint. Do not configure a host Beatra Connector,
and do not add, enable, or trust one. Translate the user's outcome into the
smallest matching workflow, preserve task identity, and return results from task
truth.
Use the host agent's native chat and visual understanding when the user asks to
reason about text, images, or video. Beatra MCP intentionally provides media
creation and management rather than duplicate chat, image understanding, or
video understanding tools.
Apply the common execution contract
- Confirm the requested media outcome. Ask only for missing choices that
materially change cost or output. - Treat every generation call as billable: it consumes Beatra credits and
creates an asynchronous task. - Create one opaque
client_request_idfor one logical generation. Submit
exactly once. - If the first response is lost, make an identical retry with the same
client_request_id. If any generation input changes, create a new ID. - Save the returned
task_id. Poll withbeatra.tasks.getuntil the task is
terminal. Never create another paid task merely because the first is queued
or running. - For local input media, use
beatra.assets.upload, complete the returned HTTP
PUT exactly as instructed, and pass the resulting artifact ID. The bundled
scripts/mcp_client.py uploadhelper can complete both steps safely. A remote
MCP server cannot read a local path. - Omit
modelunless the user names a model or explicitly asks to choose or
compare models. - Authorize once for the full Beatra connection. Do not request a second grant
when the user changes from image to video, music, or speech. The credential
stays usable while it is used at least once every 15 days. - On first use, let the bundled client register this package as described in
installation registration.
Registration is non-billable and failure never blocks the requested task.
Route to the matching workflow
- Load installation and authentication
when Beatra is unavailable, newly installed, disconnected, or asks for
authorization. - Load MCP connection when configuring or
troubleshooting the shared Beatra connection. - Load uploads whenever an input exists only as a
local image, audio, or video file. - Load images for the generate/transform/edit decision
tree, image controls, successful-image pricing, and recovery. - Load videos to choose among generate, animate,
multi-reference, interpolate, edit, and extend video workflows. - Load video controls when video media roles,
model constraints, price inputs, audio, duration, or resolution matter. - Load video recipes only when constructing a
video tool payload or chaining uploaded artifacts. - Load music for instrumental, lyrical, or
reference-audio music generation. - Load speech and voices for voice discovery,
authorized voice cloning, and speech synthesis. - Load models only when model selection, compatibility,
or cost matters. - Load tasks and results for polling,
recovering, listing, cancelling, and presenting terminal output. - Load billing, errors, and recovery
before retrying a failed or uncertain billable request. - Load uninstall and disconnect when
the user asks to remove or uninstall this package or to disconnect Beatra
from this device. Never delete~/.beatrawithout that workflow: the
connection is shared by every installed Beatra skill, and only its bundled
script may decide whether the last one is leaving.
Return verifiable results
Report task status, output artifact links or IDs, resolved model, actual usage,
and net charged credits only when the task response provides them. For prepaid
tasks, report billing.net_charged_credits; the gross debit and refund remain
available as billing.charged_credits and billing.refunded_credits.
Keep structured Beatra error codes intact and give the corresponding recovery
action. Never claim that a queued or running task has completed.