Selected control
The package list
Every package the Workbench has loaded appears in the rail with its layer count and duration. Clicking a row reloads that package.
Note
docs.theshellx.com / Motion manual
Setup, the local Workbench, the permission ladder, package safety, and every Debug API command in one searchable index. Setup steps and commands are both records, so the search finds them the same way.
The command reference on this page is generated from the shipped contract files
(schemas/debug.json, schemas/actions.json) by
build-manual.py. Verify the installed version on the Workbench About page
before comparing behaviour with these instructions.
interface map
workbench:ui-smoke gate produces.
Selected control
Every package the Workbench has loaded appears in the rail with its layer count and duration. Clicking a row reloads that package.
Note
start
motion.start.what
LinkA local-first motion-graphics and video rendering engine built to be driven by an AI agent. Every capability is a typed, discoverable command with a declared permission tier and a receipt. There is no cloud service, no account and no upload.
NoteHosted or SaaS execution is not part of the current product. The server binds loopback only.
motion.start.source_release
LinkYou get the repository tree, build it, and run it from there. There is no npm install step and no prebuilt binary for 0.1.0.
pnpm install at the repository root.pnpm build.Notepnpm install must run esbuild's postinstall script. The repository declares that in pnpm-workspace.yaml; an ERR_PNPM_IGNORED_BUILDS error means your pnpm is not reading the declaration.
motion.start.start_motion
Linkpnpm start creates one private per-user access key, starts Motion with local create/edit/render access, publishes the live loopback port for agent bridges, and opens an already-unlocked Workbench in your browser.
pnpm start from the repository root.NoteStart Motion grants write_local and does not enable remote publishing.
motion.start.invocation
LinkWhich form is correct depends only on where you are. In this source checkout every command takes the pnpm --filter @shellx-motion/cli run cli -- prefix. From an installed build of the packed @shellx-motion/cli package the same command is shellx-motion <command>.
pnpm --filter @shellx-motion/cli run cli -- doctorshellx-motion doctorshellx-motion on your PATH inside the workspace, and running packages/cli/dist/main.js directly fails as well.NoteThere is no motion binary in either form. Dotted names such as motion.render.final are Debug API / MCP command ids, not shell commands.
motion.start.verify
LinkTwo commands prove the toolchain is sound: doctor prints per-operation readiness, and validate on the bundled fixture should answer "ok": true.
pnpm --filter @shellx-motion/cli run cli -- doctorpnpm --filter @shellx-motion/cli run cli -- validate fixtures/packages/lower-thirdNotevalidate writes no receipt. It returns identity, layer count, hosts and lanes in the JSON envelope and creates no receipts/ directory.
motion.start.build_verify
Linkpnpm run build:verify is the only check that exercises what an npm consumer would actually receive. It packs every package, installs the CLI tarball into a throwaway project, and runs shellx-motion there through both the npm and pnpm bin shims.
pnpm run build:verify from the repository root.NoteThis cannot be exercised from inside the workspace, because the workspace exports deliberately point at TypeScript source.
motion.start.discover_first
LinkAction discovery answers "what can I do about this?" with a callable plan, so an agent never has to guess a command or a mutation sequence.
actions find "add a cinematic snow environment" returns a matching action id.actions guide motion.timeline.layer.rich.set returns the workflow for one action.actions plan "change snow intensity and preview it" returns each planned step with its arguments, required set and allowed values.setup
motion.setup.node
LinkThe engine declares engines.node = >=24.0.0 and CI runs Node 24. The README records the tested runtimes as 24.14 on Linux and 24.15 on Windows.
motion.setup.pnpm
LinkThe engine declares engines.pnpm = >=10.6.0. Below 10.6 the workspace build-script declaration is not read, so esbuild's postinstall is skipped and the TypeScript runner has no platform binary.
Notepnpm 11.x is compatible.
motion.setup.package_manager
LinkpackageManager names what the lockfile and every green gate were actually produced with, as opposed to what engines.pnpm merely permits. CI does not repeat the number — pnpm/action-setup reads this field.
Notepnpm-lock.yaml is lockfileVersion 9.0. Use pnpm install --frozen-lockfile to resolve the same tree.
motion.setup.ffmpeg
LinkFFmpeg encodes final media: MP4, WebM, GIF, stills and image sequences. It does not ship with Motion. The README records testing on 6.1.1 and 8.1.2.
SHELLX_MOTION_FFMPEG environment variable.NoteMotion invokes FFmpeg with shell:false through argument arrays and validates input/output roots and preset extensions.
motion.setup.ffprobe
LinkFFprobe reads encoded media back for quality checks and media evidence. Encoding works without it; quality-check does not.
SHELLX_MOTION_FFPROBE environment variable.motion.setup.chromium
Linkrender rasterizes frames in a real browser by default (render --frame-lane browser), and preview --lane browser does the same. Any current Chrome or Chromium build works; npx playwright-core install chromium gets one.
SHELLX_MOTION_BROWSER environment variable.preview defaults to --lane native and needs no browser.Noteplaywright-core ships no browser of its own. An explicit SHELLX_MOTION_BROWSER pin that names a missing path fails closed rather than silently falling back.
motion.setup.native_lane
Linkrender --frame-lane native encodes from natively drawn frames instead of browser frames. The lane is narrow on purpose: it has no font rasterizer, so it refuses to deliver any package whose text is lowercase or names a font family.
NoteSuited to text-free packages, not a general substitute for the browser lane.
motion.setup.doctor
Linkdoctor reports what this machine can actually doOne call answers it: motion.platform.requirements, or doctor on the CLI. It reports per-tool readiness and distinguishes "cannot do this at all" from "cannot do it the default way, and here is the flag".
satisfied as "runs the way you are about to invoke it".possible as "runs at all".alternative names the flag that would work.NoteThe Workbench About page, the render dialog, the CLI and any MCP client all read the same answer — this is the readiness-parity invariant.
motion.setup.server_auth
LinkThe debug, SDK and MCP server binds 127.0.0.1 only; direct non-loopback binding is disabled. Everything except GET /health and the static Workbench shell requires a capability token.
Authorization: Bearer <token>; WebSocket callers use the authenticated subprotocol.SHELLX_MOTION_DEBUG_TOKEN.url, workbenchUrl, the granted tier, the transports and auth.tokenFile.NoteNever place the key in project files, shell history, logs or URLs. The server also rejects forged Host and unapproved Origin values and bounds request and WebSocket size and concurrency.
motion.setup.transports
LinkThe same command contracts are reachable over four transports plus the CLI.
POST /debug — native {command, args, requestedTier?} dispatch.POST /rpc — JSON-RPC discovery and MCP tool dispatch.WS /ws — authenticated persistent JSON-RPC.POST /sdk — typed local SDK operation dispatch for trusted hosts.GET /debug/contracts — the authenticated command/domain/tier/mutation registry.NoteMCP supports two protocol eras: modern 2026-07-28 clients call server/discover without initialize; legacy 2025-06-18 clients keep initialize/list/call. Both enforce the same server grant.
motion.setup.pickers
LinkThe Workbench Browse buttons open the operating system's own chooser through the server, because a browser page cannot hand a real filesystem path to a local engine.
NoteNative pickers need a desktop session. A headless server has no picker.
motion.setup.memory
LinkA browser render reuses one Chromium session for the whole sequence, so peak resident memory grows with frame count, and effects.motionBlur.samples multiplies it. The governor aborts a job at a 6 GiB default ceiling with job_rss_limit_exceeded.
SHELLX_MOTION_MAX_JOB_RSS_BYTES.NoteThrough the CLI this is a non-zero exit and a stack trace, not a JSON error envelope.
motion.setup.updates
LinkThe standalone CLI checks the configured GitHub release channel at startup and every 30 minutes. The About page reads that cached result, Check now refreshes it, and MCP/JSON-RPC discovery reports the same checkedAt, latestVersion and updateAvailable fields to agents.
NoteApplying an update reports the truthful install state. A source checkout is updated through git; there is no signed in-place binary channel yet, so the server will not download and run unverified release bytes.
motion.setup.platform_verification
LinkMotion publishes a reusable platform-verification ladder. A source build, or a result from another host, is not substitute evidence for a platform claim.
pnpm run platform:verify drives it.permissions
motion.tier.ladder
Linkread_motion < draft_motion < render_motion < edit_motion < write_local < push_remote. The tier the server is launched with is a ceiling: a request may ask for a lower or equal tier, never a higher one, and package data or prompts cannot elevate themselves.
NoteThe per-command tier is contract data, not prose. schemas/debug.json carries the permission of every command.
motion.tier.write_local_outranks_edit
LinkThe intuitive reading is the wrong one and it costs a session. edit_motion mutates a package that already exists. write_local creates files outside an existing package — so making a NEW package needs write_local.
motion.package.create needs write_local, together with every importer, exporter, connector and archive command.--tier edit_motion and then calling motion.package.create is refused, correctly.--tier write_local if the agent has to create packages.motion.tier.trusted_local
Linkread_motion is the default for a direct server launch. Raising the grant is deliberate: the launch must also pass --trusted-local-tier, so a higher grant is never something a caller can drift into.
pnpm --filter @shellx-motion/debug-server run serve -- --tier render_motion --trusted-local-tierpnpm start is the normal human path and grants write_local with this flag already applied.motion.tier.push_remote_reserved
LinkIt is the top tier and it exists so a future hosted or repository-handoff surface can refuse it explicitly without inventing a new gate. The server requires a separate --allow-push-remote opt-in on top of a push_remote grant.
NoteMotion keeps all execution local.
motion.tier.read_motion
LinkRead-only. The default grant for a direct server launch, and the only tier that needs no --trusted-local-tier. 54 of the 169 shipped Debug API commands declare read_motion as their required tier.
motion.tier.draft_motion
LinkDraft-level agent work: queueing, cancelling and retrying prompt jobs. 6 of the 169 shipped Debug API commands declare draft_motion as their required tier.
motion.tier.render_motion
LinkProducing evidence: preview frames, final media, quality checks and batch renders. 11 of the 169 shipped Debug API commands declare render_motion as their required tier.
motion.tier.edit_motion
LinkMutating a package that already exists — layers, keyframes, curves, tracks, captions. 75 of the 169 shipped Debug API commands declare edit_motion as their required tier.
motion.tier.write_local
LinkCreating files outside an existing package: motion.package.create, every importer, exporter, connector and archive command. 23 of the 169 shipped Debug API commands declare write_local as their required tier.
motion.tier.push_remote
LinkReserved. Requires a separate --allow-push-remote opt-in and is never inferred. 0 of the 169 shipped Debug API commands declare push_remote as their required tier.
engine room
motion.workbench.pages
LinkMotion is not headless. Its debug server serves a local browser UI over the same Debug API contracts the agents use — Inspector, History, Connections, Docs and About — reached from one persistent navigation strip.
NoteThe Workbench does not maintain a second project model. There is no template gallery page: the 12 template families are reference material for agents and hosts through the CLI, SDK and MCP.
motion.workbench.connect
LinkStart Motion authenticates the first tab automatically. Any other tab, or a manual Debug API session, connects by pasting the same local access key into the Connect dialog.
NoteThe same private key protects the Workbench, MCP and the Debug API. A rejected key reports an error in the dialog rather than failing silently.
motion.workbench.session_state
LinkThe header shows the live connection state, and every page except Inspector also shows a tier chip naming the access the server granted this session.
NoteThe tier shown is the server's ceiling, not a request. It cannot be raised from the page.
motion.workbench.identity
LinkThe header names the open package and its canvas and frame rate, so a render is never started against a package you thought you had closed.
motion.workbench.inspector.package_field
LinkThe Motion package field takes a real filesystem path. Browse opens the operating system's native folder chooser through the server rather than a browser upload dialog.
NoteBrowse needs a desktop session. On Linux it needs zenity or kdialog.
motion.workbench.inspector.packages
LinkEvery package the Workbench has loaded appears in the rail with its layer count and duration. Clicking a row reloads that package.
motion.workbench.inspector.preview
LinkPreview frames render on this machine and are served back through the authenticated artifact route. The stage switches between a black and a neutral background so alpha and light work can be judged honestly.
NoteThe default preview lane is native. A browser-lane preview needs Chromium.
motion.workbench.inspector.transport
LinkPlay, the timecode readout and the scrubber move the playhead. Moving it re-renders the preview at the new timestamp.
motion.workbench.inspector.timeline
LinkLayer timing is drawn as rows with a ruler and a playhead. Clicking a layer label or clip selects that layer and fills the Inspector panel.
motion.workbench.inspector.panel
LinkThe right rail carries three panels: Inspector for the current selection, Queue for receipt-backed render jobs, and Receipts for the receipts under a chosen location.
NoteQueue is derived from receipt files on disk. It does not see work in flight — use motion.job.get for that.
motion.workbench.inspector.diagnostics
LinkThe Inspector panel ends with diagnostics from the last operation — for example a note that the browser renderer used a font fallback for a text layer.
NoteA diagnostic is evidence, not decoration. A font fallback changes the delivered pixels.
motion.workbench.inspector.render
LinkRender… opens a dialog that collects the output path, the export preset, an optional quality manifest and the motion gate, then reports readiness BEFORE submitting rather than an FFmpeg error afterwards.
NoteThe readiness line is filled from motion.platform.requirements — the same answer doctor gives.
motion.workbench.inspector.status
LinkThe status bar is the honest running commentary: what the engine last did, and the standing reminder that project content stays on this machine.
motion.workbench.history.purpose
LinkEvery Motion operation writes a durable receipt whose inputs and outputs are recorded as SHA-256 hashes. History is the regression trail: what ran, when, who or what triggered it, whether the quality gates passed, and where the output artifacts landed on disk.
NoteReceipts are not cryptographically signed — the hashes prove an artifact still matches what the operation recorded, not who wrote the file.
motion.workbench.history.location
LinkHistory reads a receipt root from disk. Browse picks it with the native chooser; Load receipts reads it.
NoteHistory is read-only.
motion.workbench.history.filters
LinkFilter by package, by operation, and by result — passed, warning, failed or not run — with a live shown-of-total count.
motion.workbench.history.card
LinkA card names the operation, the package, the actor that triggered it, the renderer and encoder actually used, and the output artifact with its dimensions and duration.
NotePassed with warnings is not a pass. Inspect the named gate before treating the artifact as approved.
motion.workbench.connections.agents
LinkChoose the agent you use and click Configure; Motion adds itself. The setup command stays visible so you can review or copy it instead.
NoteMotion must be running while the agent uses its tools. Agent setup uses Motion's local bridge, so the key is not written into agent configuration.
motion.workbench.connections.details
LinkThe connection details panel shows the live loopback MCP address, the Debug API address, and the single local access key, each with a copy button.
NoteThe same private key protects the Workbench, MCP and the Debug API. Treat it like any other local secret — theft by another local process would grant that process Motion's filesystem and render authority.
motion.workbench.docs.reader
LinkMotion serves its own shipped documentation set from the running engine, so the pages you read always match the build you are running.
motion.workbench.about.identity
LinkAbout states which Motion this is: the running version, the access the session was granted, that processing happens on this machine, and that results are receipt-backed.
motion.workbench.about.tools
LinkIdentity alone answers "which Motion is this", never "can it encode". The readiness block reads motion.platform.requirements and reports FFmpeg, FFprobe and Chromium, so a missing tool is visible before a render fails instead of after.
NoteThe block always renders. An absent block would read as a healthy machine.
motion.workbench.about.update
LinkAbout reads the shared cached update status — the same result startup checks, periodic checks and connected agents see. Check now refreshes it immediately.
NoteMotion checks the official release channel at startup and every 30 minutes. No project content or telemetry is sent.
package safety
motion.safety.declarative_layers
LinkShapes, text, keyframes, environments, particles and fixed 3D scenes declare what to draw. They cannot execute arbitrary source code, fetch remote assets implicitly, or raise host resource limits.
NoteA construct the contract does not allow is refused. That is never a reason to hand-inject code or URLs into package JSON.
motion.safety.web_layers_execute
LinkThis is the one deliberate exception, and it is the part worth knowing before you render something a stranger gave you. A web, html or canvas layer names an HTML file inside the package, and Motion loads it into Chromium WITH JAVASCRIPT ENABLED. Rendering such a package runs that script.
NoteEarlier Motion documentation said a package "cannot execute arbitrary code" without this qualification. That was wrong for this layer family and is corrected here.
motion.safety.html_import
LinkForeign HTML brought in through motion.html.snippet.import is stripped of <script> and reported as lossy, so the import path is the safe one for markup you did not write.
NoteAgent-authored scripts inside a package are allowed. External script import is not enabled in 0.1.0.
motion.safety.parsers
LinkChromium and FFmpeg run with your OS privileges and parse whatever a package contains. Motion bounds them rather than pretending they are inert.
NoteWhere Motion cannot prove kernel-level sandbox enforcement, its receipts say so (status: requested) rather than claiming a guarantee it has not verified.
motion.safety.network
LinkMotion does not reach the network as a side effect of rendering. A package's allowedOrigins entries are requests, not authority — the host must separately approve an exact origin.
motion.safety.receipts
LinkA receipt records the package identity, input and output hashes, renderer, encoder, dimensions, duration, quality checks, warnings and actor evidence. When an agent claims it rendered something, the receipt is how you check.
NoteReceipts are not cryptographically signed. The hashes prove an artifact still matches what the operation recorded, not who wrote the file.
motion.safety.threat_report
LinkIf you find behaviour the security model says is impossible, that is a vulnerability report. SECURITY.md at the repository root states how to send it privately, what is in scope, and what to expect back.
NoteSame-user malware with arbitrary file read or process inspection is treated as an OS-account compromise, which is outside what Motion can defend.
agent reference
motion.reference.contract
LinkMotion 0.1.0 ships 169 typed Debug API commands across 7 domains. 155 of them are also discoverable actions in schemas/actions.json, each with natural-language aliases; the remaining 14 are callable but carry no action entry. 115 commands are classified as mutations.
GET /debug/contracts returns the same registry at runtime.motion.actions.find, .guide and .plan return the callable plan for a described intent.NoteA command that renders or writes a derived artifact is classified as a mutation even when the source package itself is unchanged.
timeline domain
motion.command.motion.timeline.panel
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show timeline panel, timeline panel, open timeline panel, show scene layer timeline, show scene and layer timeline, show timeline layers
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.inspect
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: inspect scenes tracks and timeline markers, inspect timeline, show timeline tracks, show timeline markers, list scenes and tracks, timeline metadata
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.playhead.set
LinkTier draft_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set timeline playhead to 2 seconds, set timeline playhead, move timeline playhead, scrub timeline playhead, jump playhead, set playhead, move playhead, scrub to timestamp
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
atMs | number | no | New playhead time in milliseconds. Required unless playheadMs is given; must be within the motion duration. |
playheadMs | number | no | Alternate name for atMs. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the control-state receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.range.select
LinkTier draft_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: select timeline range, set timeline range selection, select range on timeline, mark timeline range, set in and out points, select in out range, choose timeline segment
| Name | Type | Required | Description |
|---|---|---|---|
endMs | number | yes | Selection end in milliseconds; must be at or after startMs and within the motion duration. |
packageRoot | string | yes | Motion package root directory to read. |
startMs | number | yes | Selection start in milliseconds. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the control-state receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.viewport.set
LinkTier draft_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: zoom timeline viewport, set timeline viewport, change timeline zoom, zoom timeline, pan timeline viewport, fit timeline range, set timeline pixels per second
| Name | Type | Required | Description |
|---|---|---|---|
endMs | number | yes | Visible window end in milliseconds; must be greater than startMs and within the motion duration. |
packageRoot | string | yes | Motion package root directory to read. |
startMs | number | yes | Visible window start in milliseconds. |
pixelsPerSecond | number | no | Optional horizontal scale; must be positive. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the control-state receipt. |
zoom | number | no | Optional zoom factor; must be positive. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.duration.policy
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show protected intro outro regions, show duration policy, inspect duration policy, read duration policy, show protected regions, list protected timeline regions, show intro outro locks, inspect protected duration regions
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.duration.policy.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set protected intro outro duration policy, set duration policy, edit duration policy, set protected regions, protect intro outro regions, protect intro and outro, lock intro and outro duration, set timeline protected duration regions, set intro outro locks
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
policy | object | yes | Duration policy { minDurationMs?, maxDurationMs?, resizeMode?, protectedRegions? }. resizeMode is one of the durationResizeMode values; protectedRegions is an array of { id, startMs, durationMs } with unique ids. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.create
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: add storyboard scene, add timeline scene, add scene, create timeline scene, create scene, insert storyboard scene, insert timeline scene, new storyboard section, new scene, add outro scene
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Scene duration in milliseconds; must be positive. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
startMs | number | yes | Scene start in milliseconds. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
index | number | no | Insertion index in the scene list; appended when omitted. |
layerId | string | no | Single layer id to attach, in place of layerIds. |
layerIds | array | no | Layer ids to attach, as a string array. |
markerId | string | no | Single marker id to attach, in place of markerIds. |
markerIds | array | no | Marker ids to attach, as a string array. |
name | string | no | Optional display name for the scene. |
3 further optional arguments: receiptsRoot, trackId, trackIds. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete storyboard scene, delete timeline scene, delete scene, remove storyboard scene, remove timeline scene, remove scene, drop storyboard scene, drop timeline scene, clear storyboard section, remove outro scene
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.reorder
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: reorder storyboard scene, reorder timeline scene, reorder scene, move storyboard scene, move timeline scene, move scene row, move scene in storyboard, move outro scene before intro, send scene to top, move scene order
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | New position in the scene list. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.resize
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: resize intro scene duration with ripple, resize scene duration, set scene duration, change scene duration, extend scene with ripple, shorten scene with ripple, ripple scene duration, retime scene
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | New scene duration in milliseconds; must be positive. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
ripple | boolean | no | Shift later scenes by the same delta instead of leaving a gap or overlap. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.name.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: rename selected scene, rename scene, rename timeline scene, set scene name, set selected scene name, change scene name, change selected scene name, edit scene name, label selected scene, set scene display name
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | New scene name; must not be blank. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.marker.upsert
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: add timeline marker at playhead, add timeline marker, set timeline marker, update timeline marker, change timeline marker, edit timeline marker, move timeline marker, modify timeline marker, add marker, set marker, update marker, change marker, edit marker, move marker, modify marker, update marker label, edit marker label, add beat marker, add cue marker, attach marker to scene
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Marker time in milliseconds. |
id | string | yes | Marker id; an existing marker with this id is replaced. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
color | string | no | Optional marker color. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | Optional marker span in milliseconds; a point marker when omitted. |
label | string | no | Optional marker label. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
sceneId | string | no | Optional scene to attach the marker to. |
type | string | no | Optional marker classification such as chapter or note. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.marker.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete timeline marker at playhead, delete timeline marker, remove timeline marker, delete marker, remove marker, clear marker, delete beat marker, delete cue marker
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Marker id to remove. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.keyframe.upsert
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: add opacity keyframe with ease out, add timeline keyframe, set keyframe, update keyframe, change easing, add transform keyframe, keyframe opacity, keyframe position, animate title color keyframes, animate text color, keyframe fill color, keyframe style color, animate blur effect, keyframe visual effect, animate brightness, keyframe playback rate, animate mask crop keyframes, animate image crop keyframes, animate video crop keyframes, keyframe image crop, keyframe video crop, keyframe source crop, keyframe mask inset, animate crop reveal, keyframe clip mask, add spring keyframe, keyframe with spring easing, animate with spring physics
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Keyframe time in milliseconds. An existing keyframe at this time is replaced. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
value | ['number', 'string'] | yes | Keyframe value: a finite NUMBER for numeric targets (transform.*, opacity), or a CSS colour string for colour targets (fill, stroke). Numeric targets reject a numeric string such as "0". |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
easing | string · easing | no | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: delete opacity keyframe at playhead, delete timeline keyframe, remove keyframe, remove opacity keyframe, delete transform keyframe, clear keyframe
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Time of the keyframe to remove, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.range.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: delete selected keyframes, remove selected keyframes, delete keyframe range, remove keyframe range, clear selected keyframes, clear keyframe range, delete opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.move
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: move opacity keyframe, move timeline keyframe, move keyframe, retime keyframe, shift keyframe, nudge keyframe, change keyframe time, move transform keyframe
| Name | Type | Required | Description |
|---|---|---|---|
fromMs | number | yes | Current time of the keyframe, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
toMs | number | yes | New time for the keyframe, in milliseconds. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.easing.apply
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: apply ease in out to selected keyframes, apply easing to selected keyframes, apply easing preset to keyframes, set selected keyframe easing, change selected keyframe easing, set keyframe easing range, apply cubic bezier to keyframes, apply spring easing to keyframes, make selected keyframes bouncy
| Name | Type | Required | Description |
|---|---|---|---|
easing | string · easing | yes | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
atMs | number | no | Apply to the single keyframe at this time; use startMs/endMs for a window instead. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.shift
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: nudge selected keyframes, shift selected keyframes, shift keyframe range, move keyframe range, nudge keyframe range, slide keyframes, offset selected keyframes, shift opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
deltaMs | number | yes | Milliseconds to move the selected keyframes; must be finite and non-zero. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.scale
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: stretch selected keyframes, scale selected keyframes, compress selected keyframes, stretch keyframe range, scale keyframe range, retime selected keyframes, change selected keyframe timing, spread keyframes around playhead
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
originMs | number | yes | Fixed point the scaling pivots around, in milliseconds. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
scale | number | yes | Time-scale factor; must be positive and not 1. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.duplicate
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: duplicate selected keyframes, copy selected keyframes, duplicate keyframe range, copy keyframe range, repeat selected keyframes, repeat keyframe animation, paste keyframes later, copy opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
deltaMs | number | yes | Offset for the duplicated keyframes; must be finite and non-zero. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.distribute
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: distribute selected keyframes, distribute keyframes evenly, evenly space selected keyframes, space keyframes evenly, equalize keyframe spacing, distribute opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.reverse
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: reverse selected keyframes, reverse keyframe range, mirror selected keyframes, mirror keyframe range, flip keyframe timing, reverse opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.snap
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: snap selected keyframes to frames, snap keyframes to frame grid, align selected keyframes to frames, frame snap keyframes, snap opacity keyframes to frames, align keyframe timing to frame grid
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
fps | number | no | Frame rate to snap to; must be positive. Defaults to the motion document fps. |
mode | string · keyframeSnapMode | no | Rounding direction; nearest when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeSnapMode, keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.spatial.position.upsert
LinkTier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Position time in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
x | number | yes | Horizontal position in pixels. |
y | number | yes | Vertical position in pixels. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
easing | string · easing | no | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
spatial | object | no | Optional tangent control { mode, in: { x, y }, out: { x, y } }. mode must be one of the spatialTangentMode values and all four handle numbers must be finite. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.spatial.position.move
LinkTier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromMs | number | yes | Current time of the spatial position, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toMs | number | yes | New time for the spatial position, in milliseconds. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.spatial.position.delete
LinkTier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Time of the spatial position to remove, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.keyframes.panel
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show keyframe panel, keyframe panel, show keyframes panel, timeline keyframes panel, inspect keyframe panel, show animated keyframes, inspect timeline keyframes, show easing keyframes
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for timeline keyframes. |
includeEmpty | boolean | no | Include layers that have no matching keyframes. |
layerId | string | no | Optional layer id filter. |
target | string · keyframeTarget | no | Optional keyframe target filter. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.transitions.panel
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show timeline transition panel, timeline transition panel, show transition panel, transition panel, show transitions panel, timeline transitions panel, inspect transition panel, show enter exit transitions, inspect timeline transitions, show transition easing
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for layer transitions. |
edge | string · in|out | no | Optional transition edge filter. |
includeEmpty | boolean | no | Include layers that have no matching transitions. |
layerId | string | no | Optional layer id filter. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.easing.panel
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show easing panel, show timeline easing panel, show timeline easing curves, inspect easing curves, inspect animation curves, show keyframe easing usage, show transition easing usage, review easing usage
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for easing curve usage. |
sampleCount | number | no | Number of normalized t/value samples to include per easing curve. Capped because the panel samples every easing row, so the cost is rowCount * sampleCount. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.easing.presets
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show easing presets, list easing presets, easing preset discovery, show animation easing presets, what easing presets are available, list spring easing presets, show spring presets
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.animation.presets
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show animation presets, list animation presets, animation preset discovery, show motion animation presets, what animation presets are available, list entrance and exit animations
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.animation.preset.apply
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: apply lower third entrance animation, apply lower third animation, apply animation preset, add entrance animation, add exit animation, animate layer in, animate layer out, animate title entrance, apply fade in preset, apply fade out preset, apply slide up entrance, apply lower third in, make the title slide in, make title slide in, slide the title in, slide title in, title entrance animation, give the title an entrance, give title an entrance, stagger title and subtitle entrance animation, staggered layer entrance animation, animate multiple layers in sequence, apply animation preset to multiple layers
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
preset | string · animationPreset | yes | Animation preset to apply. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
distancePx | number | no | Travel distance for slide-style presets, in pixels. |
durationMs | number | no | Preset duration in milliseconds; the preset default when omitted. |
easing | string · easing | no | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
layerId | string | no | Single target layer. Supply this or layerIds. |
layerIds | array | no | Target layer ids as a string array; enables staggering across the group. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
staggerMs | number | no | Delay added per layer when layerIds is used. |
startMs | number | no | Preset start time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: animationPreset, easing. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.create
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: add a text layer to the timeline, add text layer, create text layer, add shape layer, create shape layer, add environment layer, create environment layer, add rain environment layer, create rain environment, add water environment layer, create water environment, add snow environment layer, create snow environment, add a cinematic snow environment, insert timeline layer, create timeline layer, new timeline layer, add layer
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
assetId | string | no | Package asset id to bind the layer to. |
assetRef | string | no | Package asset reference to bind the layer to. |
color | string | no | Text color; folded into layer.style.color. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | Layer duration in milliseconds; must be positive. Required unless layer.durationMs is set. |
fill | string | no | Fill color for shape layers. |
fontSize | number | no | Text size in pixels; folded into layer.style.fontSize. Must be positive. |
height | number | no | Layer height in pixels. Must be positive. |
index | number | no | Insertion index in the layer stack; appended when omitted. |
layer | object | no | Full layer object (id, type, startMs, durationMs, plus optional name/opacity/transform/keyframes/transitions/mask/effects/environment/blendMode/crop/ducking/style). Supply this, or the shorthand fields below. |
11 further optional arguments: layerId, receiptsRoot, shape, source, src, startMs, text, trackId, trackIndex, type, width. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.trim
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: trim selected layer duration, trim layer, move layer timing, retime layer, set layer start and duration, change clip trim, adjust layer timing
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | New timeline duration in milliseconds; must be positive. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | New timeline start in milliseconds. |
trimDurationMs | number | no | New length of the used source span; must be positive. |
trimStartMs | number | no | New in-point inside the source media, in milliseconds. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.split
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: split clip at playhead, split selected layer at playhead, split timeline layer, split layer, cut layer at playhead, cut clip at playhead, razor clip, razor layer
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Absolute timeline position of the cut, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
newLayerId | string | no | Id for the layer created after the cut; derived when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.text.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: change title text, update title text, edit title text, set layer text, change layer text, edit text layer, update text layer, set timeline layer text
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
text | string | yes | New text content. An empty string is accepted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.style.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: make title blue, make the title blue, make the title blue and preview it, change title color, set title color, set layer color, change layer style, set layer style, set title font size, change font size, set layer font size
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Style property name such as color, fontSize, backgroundColor, or letterSpacing. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.transform.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: move layer, move title layer, set layer position, set layer x, set layer y, resize layer, set layer width, set layer height, scale layer, rotate layer, set layer opacity
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Transform property name: x, y, width, height, opacity, scale, rotation, originX, or originY. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.effect.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: blur layer, blur title layer, soften layer, set layer blur, change layer effect, set layer effect, set layer brightness, adjust layer brightness, set layer contrast, adjust layer contrast, set layer saturate, desaturate layer, set layer grayscale
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Effect property name: blur, brightness, contrast, saturate, or grayscale. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.rich.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: set rich motion control, change rich motion control, set rich layer parameter, set environment intensity, change environment intensity, set rain intensity, change rain intensity, set snow intensity, change snow intensity, set water wave amplitude, change water wave amplitude, set snow turbulence, set rain wetness, set water caustics, set shader uniform, change shader uniform, set particle emitter parameter, change 3d scene parameter, set camera depth control, set motion blur shutter, set film grain control
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Dotted path into the layer's rich controls, for example environment.intensity or label.align. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.blend.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: set layer blend mode, change layer blend mode, set blend mode, change blend mode, set layer multiply, set layer screen, make layer multiply, make layer screen, set compositor blend mode, change compositor blend
| Name | Type | Required | Description |
|---|---|---|---|
blendMode | string · blendMode | yes | New compositing blend mode. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: blendMode. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.crop.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: crop image layer, crop video layer, crop media layer, crop layer, set layer crop, set image crop, set video crop, set source crop, change source crop, adjust media crop
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
crop | object | no | Crop rectangle { x, y, width, height }. All four fields are required when this object is used. |
height | number | no | Crop height; used when crop is not supplied. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
width | number | no | Crop width; used when crop is not supplied. |
x | number | no | Crop left edge; used when crop is not supplied. Required with y, width, and height. |
y | number | no | Crop top edge; used when crop is not supplied. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.mask.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: mask layer, set layer mask, set rectangular mask, set rounded mask, round layer mask, clip layer mask, set mask inset, change layer mask, adjust layer mask, mask visual layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
bottom | number | no | Mask inset from the bottom; used when mask is not supplied. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
left | number | no | Mask inset from the left; used when mask is not supplied. |
mask | object | no | Mask object { type, inset?: { top, right, bottom, left }, radius? }. type is required. |
radius | number | no | Corner radius; used when mask is not supplied. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
right | number | no | Mask inset from the right; used when mask is not supplied. |
top | number | no | Mask inset from the top; used when mask is not supplied. |
type | string | no | Mask type; used when mask is not supplied. Required in that form. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.fit.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: fit image layer, fit video layer, set media fit, set image fit, set video fit, set object fit, change media fit, set layer fit, contain image layer, cover image layer
| Name | Type | Required | Description |
|---|---|---|---|
fit | string · mediaFit | yes | How the media fills the layer box. Image and video layers only. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: mediaFit. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.media.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: set layer media source, set image media source, set video media source, set audio media source, change layer media source, set layer source, change layer source, replace layer media, swap layer media, replace timeline layer source
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
source | string | yes | New media source path or asset reference. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.name.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: rename selected layer, rename layer, rename timeline layer, set layer name, set selected layer name, change layer name, change selected layer name, edit layer name, label selected layer, set layer display name
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
name | string | yes | New display name; must not be blank. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.visibility.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: hide layer, show layer, hide timeline layer, show timeline layer, set layer visibility, toggle layer visibility, hide selected layer, show selected layer, hide product layer, show product layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
visible | boolean | yes | Whether the layer renders. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.lock
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: lock layer, unlock layer, lock selected layer, unlock selected layer, lock timeline layer, unlock timeline layer, set layer lock, set layer locked, protect layer, unprotect layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
locked | boolean | yes | Whether further edits to this layer are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete selected layer from timeline, delete timeline layer, remove timeline layer, delete selected layer, remove selected layer, delete layer, remove layer, clear layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.duplicate
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: duplicate selected layer on timeline, duplicate selected layer, duplicate timeline layer, clone selected layer, copy selected layer, duplicate layer, clone layer, copy layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
newLayerId | string | no | Id for the duplicate; derived when omitted. |
offsetMs | number | no | Milliseconds to shift the duplicate later on the timeline. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.reorder
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: bring selected layer forward, send selected layer backward, move selected layer forward, move selected layer backward, move layer forward, move layer backward, move layer to front, send layer to back, reorder layer, change layer stack order, layer z order, move selected layer in stack
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | New position in the layer stack. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.cleanup
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: clean up stale timeline refs, cleanup stale timeline refs, clean timeline refs, cleanup timeline refs, fix stale timeline refs, repair timeline refs, clean up timeline, timeline cleanup, remove duplicate timeline refs
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.create
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: create an overlay track, create timeline track, add timeline track, add track, new timeline track, create overlay track, add overlay track, create audio track, add audio track, create caption track, add caption track
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
fadeInMs | number | no | Initial fade-in length in milliseconds. |
fadeOutMs | number | no | Initial fade-out length in milliseconds. |
index | number | no | Insertion index in the track list; appended when omitted. |
layerIds | array | no | Layer ids to attach, as a string array. |
locked | boolean | no | Whether the track starts locked. |
muted | boolean | no | Whether the track starts muted. |
name | string | no | Optional display name. |
order | number | no | Explicit sort order value; must be finite. |
pan | number | no | Initial stereo pan between -1 and 1. |
6 further optional arguments: receiptsRoot, solo, track, trackId, type, volume. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.reorder
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: move music track to top, reorder timeline track, move timeline track, move selected timeline track, move track to top, move track up, move track down, change track order, change timeline track order, track stack order
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | New position in the track list. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete timeline track, remove timeline track, delete selected timeline track, remove selected timeline track, delete track, remove track, remove empty track, delete empty track
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
detachLayers | boolean | no | Detach the track's layers instead of leaving them referenced. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.rename
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: rename timeline track, rename selected timeline track, rename track, change timeline track name, change track name, edit timeline track name, edit track name
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | New track name; must not be blank. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.lock
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: lock selected timeline track, unlock selected timeline track, lock timeline track, unlock timeline track, lock overlay track, unlock overlay track, prevent edits on track, allow edits on track, toggle track lock
| Name | Type | Required | Description |
|---|---|---|---|
locked | boolean | yes | Whether edits to layers on this track are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.mute
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: mute selected timeline track, unmute selected timeline track, mute timeline track, unmute timeline track, mute music track, unmute music track, mute audio track, unmute audio track, silence track, restore track audio, toggle track mute
| Name | Type | Required | Description |
|---|---|---|---|
muted | boolean | yes | Whether the track is silenced. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.solo
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: solo selected timeline track, unsolo selected timeline track, solo timeline track, unsolo timeline track, solo music track, unsolo music track, solo audio track, unsolo audio track, isolate track audio, toggle track solo
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
solo | boolean | yes | Whether only soloed tracks are audible. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.volume
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set music track volume, change music track volume, adjust music track volume, set audio track volume, change audio track volume, adjust audio track volume, lower music track volume, raise music track volume, set track gain, adjust track gain, track volume
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
volume | number | yes | Track volume; must be a non-negative finite number. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.fade
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set music track fade in and fade out, set track fade in, set track fade out, change track fades, adjust track fade, fade audio track, track fade, music track fade
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
fadeInMs | number | no | Fade-in length in milliseconds. At least one of fadeInMs or fadeOutMs is required. |
fadeOutMs | number | no | Fade-out length in milliseconds. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.pan
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: pan music track left, pan music track right, center music track pan, set music track pan, set audio track pan, change audio track pan, adjust audio track pan, balance music track, pan audio track, track pan, track balance
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
pan | number | yes | Stereo pan; must be a finite number between -1 and 1. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.ducking.set
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: duck music under voice, duck music when voice plays, set audio ducking, set layer ducking, sidechain music under dialogue, sidechain audio layer, lower music during narration, duck background music
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
triggerLayerIds | array | yes | Layer ids whose audio ducks this layer. Must be a non-empty array of strings. |
attackMs | number | no | Milliseconds to reach the ducked volume. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
duckToVolume | number | no | Volume held while ducking. |
mode | string · duckingMode | no | Ducking mode; timed when omitted. |
ratio | number | no | Sidechain compressor ratio. Only meaningful with mode sidechain. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
releaseMs | number | no | Milliseconds to return to full volume. |
threshold | number | no | Sidechain compressor threshold. Only meaningful with mode sidechain. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: duckingMode. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.track.assign
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: move selected layer to captions track, move layer to track, assign layer to track, send layer to track, reorder layer on track, move layer between tracks, set layer track, change layer track, put title on overlay track, put captions on caption track
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
index | number | no | Position inside the destination track's layer list; appended when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.caption.import
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: import captions from srt, import subtitle file, import captions, add captions from transcript, add srt captions, add vtt captions
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
captionsPath | string | no | Caption file to read. Required unless captionsText is given. |
captionsText | string | no | Inline caption text, in place of captionsPath. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
format | string · captionFormat | no | Caption source format; inferred from the file extension when omitted. |
layerPrefix | string | no | Prefix for generated caption layer ids. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
style | object | no | Style applied to every caption layer, for example { fontSize: 42, color: "#fff" }. |
trackId | string | no | Existing track to place caption layers on. |
trackName | string | no | Name for a caption track created when trackId is omitted. |
transform | object | no | Transform applied to every caption layer, for example { y: 900 }. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: captionFormat. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.caption.upsert
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: edit caption at playhead, add caption at playhead, update caption text, set caption timing, change caption text, create caption layer
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Caption duration in milliseconds; must be positive. |
id | string | yes | Caption layer id; an existing caption with this id is replaced. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
startMs | number | yes | Caption start in milliseconds. |
text | string | yes | Caption text; must not be empty. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
style | object | no | Style applied to every caption layer, for example { fontSize: 42, color: "#fff" }. |
trackId | string | no | Existing track to place caption layers on. |
trackName | string | no | Name for a caption track created when trackId is omitted. |
transform | object | no | Transform applied to every caption layer, for example { y: 900 }. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.transition.upsert
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: add slide transition with ease out, add timeline transition, set transition, update transition, add fade in transition, add wipe transition, change transition easing, set enter transition, set exit transition
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Transition length in milliseconds; must be positive. |
edge | string · transitionEdge | yes | Which end of the layer the transition applies to. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
type | string · transitionType | yes | Transition kind. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
direction | string · transitionDirection | no | Optional direction for slide and wipe transitions. |
distance | number | no | Optional travel distance in pixels for slide transitions. |
easing | string · easing | no | Optional easing for the transition. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, transitionDirection, transitionEdge, transitionType. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.transition.delete
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: delete transition at playhead, delete transition, remove transition, clear transition, remove enter transition, remove exit transition, delete fade transition, delete slide transition, delete wipe transition
| Name | Type | Required | Description |
|---|---|---|---|
edge | string · transitionEdge | yes | Which end of the layer to clear. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: transitionEdge. Every allowed-value list is enforced on the wire, not merely advertised.
authoring domain
motion.command.motion.script.compile
LinkTier write_local. Mutates. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: generate scripted video, scripted video from description frames, cut generate video, storyboard to motion, description frames in cut
| Name | Type | Required | Description |
|---|---|---|---|
packageDir | string | yes | Empty or absent output directory for the compiled Motion package. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
script | object | no | Inline scripted-video document, in place of scriptPath. |
scriptPath | string | no | Scripted-video JSON path. Required unless script is given inline. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.request
LinkTier write_local. Mutates. Discoverable as an action on the tracking, prompt, preview, receipts surfaces.
Discovery phrases: track this video, run point tracking, run planar tracking, analyze camera motion, track footage for stabilization, create tracking analysis
| Name | Type | Required | Description |
|---|---|---|---|
analysisId | string | yes | Stable safe identifier used for retries and the lifecycle artifact path. |
assetId | string | yes | Motion video asset id to track. |
mode | string · point|planar | yes | Tracker kind: point follows a single feature, planar solves a surface. |
model | string · translation|similarity|homography | yes | Motion model the solve fits; homography is required for planar corner-pin applies. |
outDir | string | yes | Trusted empty output directory for the package copy and persisted lifecycle. |
packageRoot | string | yes | Source Motion package containing a manifest-declared video asset. |
reference | object | yes | Reference time, bounds, and point coordinates in source pixels. |
settings | object | yes | Bounded time range, direction, step, search, confidence, and deterministic solver settings. |
createdAt | string | no | Optional deterministic timestamp for tests and reproducible fixtures. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.inspect
LinkTier read_motion. Read-only. Discoverable as an action on the tracking, prompt, preview, receipts surfaces.
Discovery phrases: inspect tracking analysis, show tracking confidence, show lost tracking spans, check tracking source, tracking status
| Name | Type | Required | Description |
|---|---|---|---|
analysisId | string | yes | Tracking lifecycle id to inspect. |
packageRoot | string | yes | Motion package containing the persisted tracking lifecycle. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.apply
LinkTier edit_motion. Mutates. Discoverable as an action on the tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: apply tracking stabilization, stabilize this footage, attach track to layer, use planar track for stabilization, apply tracked camera correction
| Name | Type | Required | Description |
|---|---|---|---|
analysisId | string | yes | Last-good tracking analysis to compile into ordinary transform keyframes. |
layerId | string | yes | Target footage layer id. |
outDir | string | yes | Trusted empty output directory for the stabilized package copy. |
packageRoot | string | yes | Source Motion package containing a current persisted tracking lifecycle. |
includeLowConfidence | boolean | no | Explicitly include low-confidence samples while preserving lost gaps. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
segmentIndex | number | no | Required explicit confidence-qualified segment for a partial track. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.detach
LinkTier edit_motion. Mutates. Discoverable as an action on the tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: detach tracking stabilization, remove stabilization, restore transform before tracking, unlink tracked motion, undo attached track
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Layer whose exact prior transform keyframes must be restored. |
outDir | string | yes | Trusted empty output directory for the detached package copy. |
packageRoot | string | yes | Source Motion package with attached tracking stabilization. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.verify
LinkTier read_motion. Read-only. Discoverable as an action on the tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: verify tracking stabilization, check tracking attachment, check stabilized keyframes, verify track before cut handoff, is tracking current
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Stabilized layer id. |
packageRoot | string | yes | Motion package whose attachment, generated keyframes, and source identity are verified. |
analysisId | string | no | Optional expected tracking analysis id. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.keying.inspect
LinkTier read_motion. Read-only. Discoverable as an action on the keying, roto, prompt, preview surfaces.
Discovery phrases: inspect chroma key, show green screen controls, inspect layer keying, check roto mask, show key and roto state
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
packageRoot | string | yes | Source Motion package. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.keying.apply
LinkTier edit_motion. Mutates. Discoverable as an action on the keying, prompt, preview, receipts surfaces.
Discovery phrases: key out green screen, apply chroma key, remove green background, key this footage, apply spill suppression, clean green screen matte
| Name | Type | Required | Description |
|---|---|---|---|
keying | object | yes | Bounded chroma-key and matte-cleanup controls. |
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.keying.remove
LinkTier edit_motion. Mutates. Discoverable as an action on the keying, prompt, preview, receipts surfaces.
Discovery phrases: remove chroma key, disable green screen key, restore unkeyed footage, clear layer keying
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.roto.upsert
LinkTier edit_motion. Mutates. Discoverable as an action on the roto, tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: create roto mask, animate roto mask, update rotoscope path, attach tracking to roto, isolate subject with roto
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
mask | object | yes | Bounded animated roto mask with optional tracking attachment. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.roto.tracking.detach
LinkTier edit_motion. Mutates. Discoverable as an action on the roto, tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: detach roto tracking, unlink tracking from roto, keep roto frames remove tracking, remove tracked roto attachment
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.roto.remove
LinkTier edit_motion. Mutates. Discoverable as an action on the roto, prompt, preview, receipts surfaces.
Discovery phrases: remove roto mask, delete rotoscope mask, clear subject mask, restore unmasked footage
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.compositing.graph.inspect
LinkTier read_motion. Read-only. Discoverable as an action on the compositing, prompt, preview, receipts surfaces.
Discovery phrases: inspect compositing graph, show node graph, check compositing graph, show graph compile diagnostics, inspect graph resource budget
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Source Motion package. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.compositing.graph.set
LinkTier edit_motion. Mutates. Discoverable as an action on the compositing, prompt, preview, receipts surfaces.
Discovery phrases: set compositing graph, compile node graph, create blend graph, add matte graph, apply graph effects, connect compositing nodes
| Name | Type | Required | Description |
|---|---|---|---|
graph | object | yes | Versioned, acyclic, data-only compositing graph. |
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
createdBy | string | no | Optional author identity recorded in output facts. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.compositing.graph.remove
LinkTier edit_motion. Mutates. Discoverable as an action on the compositing, prompt, preview, receipts surfaces.
Discovery phrases: remove compositing graph, detach node graph, restore graph source layers, clear compiled graph
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
createdBy | string | no | Optional author identity recorded in output facts. |
graph | object | no | Ignored by remove; recorded in the receipt input hash when supplied. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.inspect
LinkTier read_motion. Read-only. Discoverable as an action on the procedural, timeline, prompt, receipts surfaces.
Discovery phrases: inspect procedural relationships, show linked properties, show relationship drivers, explain driven animation, inspect expressions without code
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Source Motion package. |
atMs | number | no | Optional timeline time to evaluate readable relationship outputs. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.set
LinkTier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: link animation properties, create driven property, set procedural relationship, drive animation from audio, add deterministic wiggle, link layer values
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
relationship | object | yes | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
createdBy | string | no | Optional author identity recorded in output facts. |
enabled | boolean | no | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationshipId | string | no | Stable relationship id. Required by enabled.set and detach. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.enabled.set
LinkTier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: enable procedural relationship, disable procedural relationship, toggle driven property, mute animation link
| Name | Type | Required | Description |
|---|---|---|---|
enabled | boolean | yes | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
relationshipId | string | yes | Stable relationship id. Required by enabled.set and detach. |
createdBy | string | no | Optional author identity recorded in output facts. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationship | object | no | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.bake
LinkTier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: bake procedural animation, convert relationship to keyframes, freeze driven animation, bake expressions to keyframes, make procedural motion editable
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
createdBy | string | no | Optional author identity recorded in output facts. |
enabled | boolean | no | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationship | object | no | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
relationshipId | string | no | Stable relationship id. Required by enabled.set and detach. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.detach
LinkTier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: detach procedural relationship, remove animation link, unlink driven property, delete relationship without baking
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
relationshipId | string | yes | Stable relationship id. Required by enabled.set and detach. |
createdBy | string | no | Optional author identity recorded in output facts. |
enabled | boolean | no | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationship | object | no | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.scene3d.gltf.import
LinkTier write_local. Mutates. Discoverable as an action on the scene3d, prompt, preview, receipts, canvas, cut surfaces.
Discovery phrases: import gltf model, import glb model, create motion package from 3d model, add static 3d mesh, render gltf in canvas, send gltf render to cut
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Host-approved empty or absent package output directory. |
sourcePath | string | yes | Host-approved local .gltf or .glb source path. |
createdAt | string | no | Optional deterministic ISO timestamp for receipts. |
createdBy | string | no | Optional author identity recorded in package provenance. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.lottie.import
LinkTier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Host-approved empty or absent package output directory. |
sourcePath | string | yes | Host-approved local Lottie JSON source path. |
createdAt | string | no | Optional deterministic ISO timestamp for receipts. |
createdBy | string | no | Optional author identity recorded in package provenance. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.dotlottie.import
LinkTier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Host-approved empty or absent package output directory. |
sourcePath | string | yes | Host-approved local .lottie container path. |
animationId | string | no | Animation to select from the container. Defaults to the container's declared default. |
createdAt | string | no | Optional deterministic ISO timestamp for receipts. |
createdBy | string | no | Optional author identity recorded in package provenance. |
themeId | string | no | Theme to apply from the container. Defaults to no theme override. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.source.import
LinkTier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: source import, import source link, import article link, import repo link, import article link for storyboard, import source for storyboard, fetch article for video, fetch repo for video, prepare link for scripted video, turn link into storyboard source
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the imported Markdown source. |
url | string | yes | Public http(s) source URL to preserve as source identity. |
createdBy | string | no | Optional actor recorded in receipt output. |
kind | string | no | Optional source kind: article, repo, or text. |
markdown | string | no | Optional pre-fetched Markdown content. When omitted, the debug API fetches the URL. |
maxChars | number | no | Maximum Markdown body characters kept before truncation. |
receiptsRoot | string | no | Optional host receipts root for source-import receipt copies. |
title | string | no | Optional source title. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.source.to_scripted_video
LinkTier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: source to scripted video, source to storyboard, turn imported source into scripted video, turn imported source into storyboard, lower source into scripted-video json, make scripted video from imported source, prepare source storyboard for cut, source storyboard for script to cut
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for scripted-video JSON and receipt evidence. |
sourcePath | string | yes | Imported source.md path from motion.source.import. |
createdBy | string | no | Optional actor recorded in receipt output. |
fps | number | no | Scripted-video frame rate. |
frameDurationMs | number | no | Duration for each generated storyboard frame. |
height | number | no | Scripted-video output height. |
maxFrames | number | no | Maximum storyboard frames to emit. |
receiptsRoot | string | no | Optional host receipts root for source-storyboard receipt copies. |
width | number | no | Scripted-video output width. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.html.snippet.export
LinkTier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: html snippet export, export html snippet, export html css snippet, export standalone html composition, export hyperframes html snippet, hyperframes html export, browser lane html export
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the standalone HTML snippet. |
packageRoot | string | yes | Motion package root to export. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.html.snippet.import
LinkTier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: html snippet import, import html snippet, import html css snippet, import standalone html composition, import hyperframes html snippet, hyperframes html import, browser lane html import
| Name | Type | Required | Description |
|---|---|---|---|
htmlPath | string | yes | Trusted ShellX/HyperFrames-style HTML snippet path to import. |
packageDir | string | yes | Trusted empty output package directory. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.otio.export
LinkTier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: otio export, export otio, export timeline as otio, export this timeline as otio, export this timeline as otio for premiere, opentimelineio export, editorial interchange export
| Name | Type | Required | Description |
|---|---|---|---|
outPath | string | yes | Trusted output .otio timeline path. |
packageRoot | string | yes | Motion package root to export. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.otio.import
LinkTier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: otio import, import otio, import opentimelineio, import opentimelineio edit into motion, import editorial timeline, open otio timeline, convert otio to motion
| Name | Type | Required | Description |
|---|---|---|---|
otioPath | string | yes | OpenTimelineIO .otio timeline path to import. |
packageDir | string | yes | Trusted output Motion package directory. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.catalog
LinkTier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: list motion templates in generate, list motion templates, show template catalog, template catalog, browse motion templates
| Name | Type | Required | Description |
|---|---|---|---|
aspectRatio | string | no | Optional output aspect ratio such as 16:9 or 9:16; derived from width and height when omitted. |
designFamily | string | no | Keep only templates in this design family. |
durationMs | number | no | Optional target duration in milliseconds for template bounds scoring. |
height | number | no | Optional target output height for template bounds scoring. |
outputType | string | no | Keep only templates that produce this output type. |
packageRoot | string | no | Single Motion package root to inspect. |
packageRoots | array | no | Explicit Motion package roots to inspect. |
renderCost | string · low|medium|high | no | Keep only templates in this render-cost band. |
requiresAudio | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied audio. |
requiresMedia | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied media. |
targetCommercialUse | boolean | no | Keep only templates whose licence permits commercial use. |
targetHost | string | no | Optional host target such as shellx-cut or shellx-canvas for compatibility scoring. |
3 further optional arguments: targetLane, templateRoot, width. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.plan
LinkTier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: prompt to template plan for cut generate, prompt to template plan, plan template from prompt, choose template for prompt, plan lower third template, template plan
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Prompt or user intent to match against available templates. |
aspectRatio | string | no | Optional output aspect ratio such as 16:9 or 9:16; derived from width and height when omitted. |
designFamily | string | no | Keep only templates in this design family. |
durationMs | number | no | Optional target duration in milliseconds for template bounds scoring. |
height | number | no | Optional target output height for template bounds scoring. |
outputType | string | no | Keep only templates that produce this output type. |
packageRoot | string | no | Single Motion package root to inspect. |
packageRoots | array | no | Explicit Motion package roots to inspect. |
prompt | string | no | Alias for request. |
renderCost | string · low|medium|high | no | Keep only templates in this render-cost band. |
requiresAudio | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied audio. |
requiresMedia | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied media. |
6 further optional arguments: targetCommercialUse, targetHost, targetLane, templateRoot, values, width. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.panel
LinkTier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: show template inspector panel, template inspector panel, open template inspector, show template panel, inspect template controls panel, show grouped template controls
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.controls
LinkTier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: show editable template controls, list template controls, template control discovery, inspect template params, what fields can I edit
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.apply
LinkTier edit_motion. Mutates. Discoverable as an action on the templateInspector, preview, receipts, prompt surfaces.
Discovery phrases: apply template control title, set template control, change template parameter, update editable template field, apply template controls
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Output package directory for applied template values. |
packageRoot | string | yes | Template Motion package root. |
values | object | yes | Template param values keyed by param id. |
createdBy | string | no | Agent or host actor label for receipt provenance. |
receiptsRoot | string | no | Optional host receipts root for a copied receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.media.replace
LinkTier edit_motion. Mutates. Discoverable as an action on the templateInspector, preview, receipts, prompt surfaces.
Discovery phrases: replace template media slot, replace media slot, swap template image, change template asset, replace template asset, set template media
| Name | Type | Required | Description |
|---|---|---|---|
assetPath | string | yes | Source media file copied into the output package's assets. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
paramId | string | yes | Template media parameter to rebind. |
assetRef | string | no | Package-relative asset reference to write; assets/<basename> when omitted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
surface domain
motion.command.motion.state
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | no | Optional Motion package root to summarize. |
receiptsRoot | string | no | Optional trusted host receipt root to summarize alongside the package. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.open
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
panel | string | no | Surface panel to focus, such as preview, timeline, assets, or receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.select
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | no | How long the highlight stays visible, in milliseconds. |
layerId | string | no | Layer to select. One selection target is required. |
markerId | string | no | Marker to select. |
motionId | string | no | Optional motion id recorded in the visible state. |
packageId | string | no | Optional package id recorded in the visible state. |
sceneId | string | no | Scene to select. |
targetId | string | no | Generic surface target to select. |
trackId | string | no | Track to select. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.highlight
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | no | How long the highlight stays visible, in milliseconds. |
layerId | string | no | Layer to select. One selection target is required. |
markerId | string | no | Marker to select. |
motionId | string | no | Optional motion id recorded in the visible state. |
packageId | string | no | Optional package id recorded in the visible state. |
sceneId | string | no | Scene to select. |
targetId | string | no | Generic surface target to select. |
trackId | string | no | Track to select. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.platform.verification.panel
LinkTier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: platform verification panel, show platform verification, show host verification, show linux windows macos host verification, linux windows macos verification, host matrix verification, platform receipts panel
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Host receipts root containing platform verification receipts. |
requiredHosts | array | no | Optional required host ids to compare against collected receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.platform.requirements
LinkTier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: check requirements, is ffmpeg installed, why does rendering fail, environment check, missing dependencies, install ffmpeg, prerequisites, doctor, check my setup
| Name | Type | Required | Description |
|---|---|---|---|
operation | string · preview.frame|render.final|quality.check | no | Scope the answer to the operation you are about to attempt, so a tool you do not need cannot report you as unready. Omit to ask about the whole machine. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.assets.panel
LinkTier read_motion. Read-only. Discoverable as an action on the assets, prompt surfaces.
Discovery phrases: show asset panel, asset panel, show package assets, list package assets, show motion assets, show layer asset usage
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.brand.panel
LinkTier read_motion. Read-only. Discoverable as an action on the brand, prompt surfaces.
Discovery phrases: show brand pack panel, brand pack panel, show brand panel, show design tokens, show brand tokens, inspect brand kit
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.audio.panel
LinkTier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show audio mix panel, audio mix panel, audio panel, show audio panel, inspect audio mix, show resolved audio inputs, show music narration mix, audio export compatibility, check audio export warnings
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for resolved audio mix inputs. |
exportPreset | string | no | Alias for preset. |
preset | string · exportPreset | no | Optional export preset used to report audio compatibility warnings. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.media.panel
LinkTier read_motion. Read-only. Discoverable as an action on the assets, timeline, preview, prompt surfaces.
Discovery phrases: show media panel, media panel, show media readiness panel, media readiness panel, inspect media layers, review package media, check media sources, media layer readiness, show image video audio web layers
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for image, video, audio, and web media layer readiness. |
exportPreset | string | no | Alias for preset. |
preset | string · exportPreset | no | Optional export preset used to report media/audio compatibility warnings. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.storyboard.panel
LinkTier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: review scripted storyboard before cut handoff, review scripted storyboard, storyboard review panel, show storyboard panel, inspect scripted video storyboard, inspect scripted-video json, review cut generate storyboard, source storyboard review, check storyboard source refs, show storyboard frames
| Name | Type | Required | Description |
|---|---|---|---|
path | string | no | Alias for scriptPath. |
script | object | no | Inline shellx-motion scripted-video document. |
scriptPath | string | no | Path to a shellx-motion scripted-video JSON document. |
storyboard | object | no | Alias for script when called from Cut Generate or prompt storyboard workflows. |
storyboardPath | string | no | Alias for scriptPath when called from storyboard workflows. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.storyboard.graph
LinkTier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show storyboard source graph, storyboard source graph, show source graph for storyboard, inspect storyboard provenance graph, content graph for scripted video, show storyboard graph, inspect scripted video graph, show scripted video sources assets templates and engines
| Name | Type | Required | Description |
|---|---|---|---|
path | string | no | Alias for scriptPath. |
script | object | no | Inline shellx-motion scripted-video document. |
scriptPath | string | no | Path to a shellx-motion scripted-video JSON document. |
storyboard | object | no | Alias for script when called from Cut Generate or prompt storyboard workflows. |
storyboardPath | string | no | Alias for scriptPath when called from storyboard workflows. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.capabilities.match
LinkTier read_motion. Read-only. Discoverable as an action on the prompt, preview surfaces.
Discovery phrases: capabilities match, renderer capability match, choose renderer lane, select renderer lane, pick renderer lane, choose renderer lane for mp4 with audio, which renderer lane should I use, explain renderer lane support, check lane capability cards, match motion package to render lane
| Name | Type | Required | Description |
|---|---|---|---|
needsAlpha | boolean | no | Whether the selected lane must preserve alpha. |
needsAudio | boolean | no | Whether the selected lane must handle audio. |
needsSubtitles | boolean | no | Whether the selected lane must handle subtitles or captions. |
output | string | no | Requested output such as png-frame, mp4-h264, mp4-hevc, webm-av1, webm-vp9, gif, cut-plan, or motion-package. |
packageRoot | string | no | Optional Motion package root to match against renderer capability cards. |
preferLane | string | no | Optional preferred lane used as a tie breaker. |
target | string | no | Requested workflow target such as preview, final, batch, cut, canvas, or handoff. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.capabilities.panel
LinkTier read_motion. Read-only. Discoverable as an action on the prompt, preview surfaces.
Discovery phrases: show renderer capability panel, renderer capability panel, show lane capability cards, show render lane cards, show capabilities panel, inspect renderer lanes, inspect lane support, renderer lane panel
| Name | Type | Required | Description |
|---|---|---|---|
needsAlpha | boolean | no | Whether the selected lane must preserve alpha. |
needsAudio | boolean | no | Whether the selected lane must handle audio. |
needsSubtitles | boolean | no | Whether the selected lane must handle subtitles or captions. |
output | string | no | Requested output such as png-frame, mp4-h264, mp4-hevc, webm-av1, webm-vp9, gif, cut-plan, or motion-package. |
packageRoot | string | no | Optional Motion package root to summarize against renderer capability cards. |
preferLane | string | no | Optional preferred lane used as a tie breaker. |
target | string | no | Requested workflow target such as preview, final, batch, cut, canvas, or handoff. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.export.presets
LinkTier read_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: show export presets and formats, list export presets, what video formats can motion export, show render presets, export preset metadata, which exports support audio alpha
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.export.panel
LinkTier read_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: show export panel, export panel, open export panel, show export cards, choose export format
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Optional trusted host receipt root used to report platform verification coverage. |
requiredHosts | array | no | Host ids that must be verified, as a string array. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.export.plan
LinkTier read_motion. Read-only. Discoverable as an action on the preview, prompt, receipts surfaces.
Discovery phrases: plan transparent overlay export with quality gates, plan export, export plan, plan export preset, choose export preset before render, plan transparent export, plan canvas mp4 export, plan cut timeline export, check export preflight, check export audio alpha impact
| Name | Type | Required | Description |
|---|---|---|---|
needsAlpha | boolean | no | Whether the export must preserve transparency. |
needsAudio | boolean | no | Whether the export must preserve audio. |
outputPath | string | no | Optional final output path to include in follow-up render arguments. |
packageRoot | string | no | Optional Motion package root to inspect before choosing an export preset. |
preset | string · exportPreset | no | Optional explicit export preset. If omitted Motion chooses a preset from target and feature needs. |
qualityManifestPath | string | no | Optional quality manifest path to include in render and quality-check follow-ups. |
receiptsRoot | string | no | Optional receipts root containing platform verification evidence. |
requiredHosts | array | no | Required host ids for platform verification status. |
target | string | no | Requested delivery target such as Cut, Canvas MP4, transparent overlay, thumbnail, or batch frames. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
render domain
motion.command.motion.preview.frame
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: preview, show frame, render still, preview it
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to preview. |
atMs | number | no | Frame timestamp in milliseconds. |
createdAt | string | no | Deterministic ISO timestamp for emitted preview receipts. |
outDir | string | no | Directory for generated preview artifacts. |
outputPath | string | no | Explicit preview frame output path. |
workflow | object | no | Optional inline deterministic browser workflow, used instead of workflowPath. |
workflowPath | string | no | Optional deterministic browser workflow JSON path. |
motion.command.motion.preview.panel
LinkTier read_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: show preview player panel, preview player panel, preview player, show preview panel, open preview panel, preview panel
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.preview.playhead
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: preview current playhead, preview playhead, render playhead, show playhead frame, preview timeline playhead
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
outDir | string | no | Directory for the rendered frame; a scratch directory when omitted. |
outputPath | string | no | Explicit output file path for the rendered frame. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.preview.strip
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: preview strip, show preview strip, thumbnail strip, show timeline thumbnail strip, storyboard strip, show timeline thumbnails
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
endMs | number | no | Last sampled time in milliseconds; must be at or after startMs and within the motion duration. |
frameCount | number | no | Number of frames to sample; must be a positive integer of 60 or less. |
outDir | string | no | Directory for the rendered strip frames; a scratch directory when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
startMs | number | no | First sampled time in milliseconds; must be within the motion duration. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.final
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render mp4, export video, final render, render this lower third as mp4, export png sequence frames, render image sequence, export frame sequence, png sequence export, export current frame as png still, export still frame, render png frame, jpeg frame export, export jpg frame, render final mp4 with a quality manifest, render with quality manifest, quality manifest render
| Name | Type | Required | Description |
|---|---|---|---|
outputPath | string | yes | Final media, still-frame, or image-sequence output path. |
packageRoot | string | yes | Motion package root to render. |
atMs | number | no | Timestamp in milliseconds for still-frame presets. |
dryRun | boolean | no | Plan the render without writing media. |
frameLane | string · browser | no | Frame rasterizer lane. The Debug API accepts only browser. The CLI's separate --lane flag selects the delivery lane (native | ffmpeg) and does not accept browser; its --frame-lane flag is this argument. |
framesDir | string | no | Optional trusted scratch directory for FFmpeg frame extraction. |
jobId | string | no | Name this job so a host can query it with motion.job.get while the render runs. Omitted, Motion mints one and returns it as jobId on the result. 1..128 chars of letters, digits, dot, underscore, colon or hyphen. |
manifestPath | string | no | Alias for qualityManifestPath. |
minUniqueFrameHashes | number | no | Minimum unique rendered frame hashes for motion-quality gating. |
preset | string · exportPreset | no | Export preset for the rendered output. |
qualityManifestPath | string | no | Optional shellx-motion/quality-manifest@1 path to gate final output quality. |
receiptsRoot | string | no | Host receipts root for render and optional quality-check receipts. |
2 further optional arguments: workflow, workflowPath. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.render.batch
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render csv rows with webm export preset, batch render data rows, render batch rows, data driven render, spreadsheet render, render json rows, batch export preset
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Directory for expanded row packages, render outputs, and batch receipts. |
packageRoot | string | yes | Motion package root containing manifest, motion, assets, and optional data rows. |
dryRun | boolean | no | Plan expanded row packages and receipts without rendering media. |
jobId | string | no | Name this job so a host can query it with motion.job.get while the render runs. Omitted, Motion mints one and returns it as jobId on the result. 1..128 chars of letters, digits, dot, underscore, colon or hyphen. |
manifestPath | string | no | Alias for qualityManifestPath. |
minUniqueFrameHashes | number | no | Minimum unique rendered frame hashes for motion-quality gating. |
preset | string · exportPreset | no | Export preset for the rendered output. |
qualityManifestPath | string | no | Optional shellx-motion/quality-manifest@1 path to gate each row output. |
resume | boolean | no | Reuse completed row outputs when idempotency evidence still matches. |
rowId | string | no | Single data row ID to render; normalized the same way as Motion data rows. |
rowIds | array | no | Subset of data row IDs to render; preserves source row order. |
rowsPath | string | no | Optional external CSV or JSON data rows file. |
2 further optional arguments: workflow, workflowPath. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.render.cancel
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: cancel render job, stop render job, cancel export, stop export, cancel queued render
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Receipt id of the job to act on. |
receiptsRoot | string | yes | Trusted host receipt root holding the job's receipts. |
reason | string | no | Optional human-readable reason recorded in the control receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.retry
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: retry failed render, retry render job, rerun failed export, retry export, rerun render
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Receipt id of the job to act on. |
receiptsRoot | string | yes | Trusted host receipt root holding the job's receipts. |
reason | string | no | Optional human-readable reason recorded in the control receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.status
LinkTier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render status, check render, job status, export progress
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Trusted host receipt root to read render job state from. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.queue
LinkTier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: show render queue, render queue panel, render queue, queue panel, export queue, show export queue
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Host receipts root to inspect for render jobs. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.get
LinkTier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: check job status, is my render done, job status, get job, check render progress, poll job, what is my job doing, render still running, job by id, track render
| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | The job to read. Either the id returned by the render, or the id you supplied when starting it. |
scope | string · own|all | no | Whose jobs to read. "all" needs a host that granted cross-caller visibility and is refused otherwise. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.list
LinkTier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: list my jobs, list jobs, what is running, show running renders, active jobs, job list, recent jobs, show my renders, in flight work
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | no | Maximum jobs to return. Live work is listed first, then finished work newest first. |
scope | string · own|all | no | Whose jobs to list. "all" needs a host that granted cross-caller visibility and is refused otherwise. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.quality.panel
LinkTier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: show quality manifest panel, show quality panel, inspect visual regression manifest, review quality gates, quality manifest panel, quality gate summary
| Name | Type | Required | Description |
|---|---|---|---|
qualityManifestPath | string | yes | Quality manifest JSON path to inspect. |
inputPath | string | no | Optional final media path used to seed quality-check follow-up commands. |
manifestPath | string | no | Alias for qualityManifestPath. |
packageRoot | string | no | Optional Motion package root for package and render follow-up metadata. |
preset | string · exportPreset | no | Optional export preset used for render/export follow-up commands. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.quality.check
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: run quality check on rendered video, run quality check, quality check, check rendered video quality, inspect video quality, verify output quality, visual quality check
| Name | Type | Required | Description |
|---|---|---|---|
inputPath | string | yes | Rendered media file to check. |
atMs | number | no | Time to sample the frame from, in milliseconds. |
baselinePath | string | no | Optional baseline image for the pixel-difference checks. |
expectAudio | boolean | no | Fail when the media carries no audio stream. |
expectHeight | number | no | Required output height in pixels. |
expectWidth | number | no | Required output width in pixels. |
framePath | string | no | Optional pre-extracted frame to analyse instead of sampling inputPath. |
manifestPath | string | no | Optional quality manifest supplying the thresholds. |
maxAudioLoudnessLufs | number | no | Maximum integrated loudness in LUFS; must be at or above minAudioLoudnessLufs. |
maxAudioLoudnessRangeLu | number | no | Maximum loudness range in LU. |
maxAudioPeakDb | number | no | Maximum sample peak in dBFS. |
maxAudioTruePeakDbtp | number | no | Maximum true peak in dBTP. |
12 further optional arguments: maxChangedPixels, maxMeanDiff, minAudioLoudnessLufs, minBrightPixels, minEdgePixels, minNonTransparentPixels, minPsnrDb, minSsim, minTransparentPixels, outDir, packageId, receiptsRoot. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
agent domain
motion.command.motion.prompt.queue
LinkTier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show prompt queue, prompt queue panel, prompt queue, agent job queue, show agent queue, local agent queue
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Host receipts root to inspect for prompt and local-agent jobs. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.prompt.cancel
LinkTier draft_motion. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: cancel prompt job, stop prompt job, cancel queued prompt, stop local agent prompt, cancel agent job
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Queued or running prompt job receipt id to cancel. |
receiptsRoot | string | yes | Host receipts root containing the target prompt job receipt. |
reason | string | no | Optional cancellation reason for receipt evidence. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.prompt.retry
LinkTier draft_motion. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: retry failed prompt, retry prompt job, rerun failed prompt, retry local agent prompt, retry agent job
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Failed or cancelled prompt job receipt id to retry. |
receiptsRoot | string | yes | Host receipts root containing the source prompt job receipt. |
reason | string | no | Optional retry reason for receipt evidence. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.find
LinkTier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: find action, what can motion do, discover action
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Action id or natural-language request to match against the action catalog. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.guide
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Action id or natural-language request. The plan returns each step's call with its argument contract. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.plan
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Action id or natural-language request to plan a command sequence for. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.panel
LinkTier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: show prompt action panel, prompt action panel, action panel, show action panel, open action panel, show action catalog, show prompt tools
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.panel
LinkTier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: show local cli agent readiness panel, show agent readiness panel, agent readiness panel, local cli agent panel, show cli subscription agent policy, show prompt agent policy, inspect local agent adapters
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.health
LinkTier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: check local cli agent health, agent health, check agent health, local agent readiness, codex claude grok readiness, show cli subscription agent status
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.transcript
LinkTier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show agent transcript, agent transcript, prompt transcript, transcript panel, show prompt run transcript, inspect agent messages
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | yes | Trusted host receipt root to read. |
limit | number | no | Maximum transcript entries to return; must be a non-negative integer. |
receiptId | string | no | Prompt receipt id whose transcript should be read. |
receiptPath | string | no | Prompt receipt path; must resolve inside receiptsRoot. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.revision.plan
LinkTier write_local. Mutates. Discoverable as an action on the receipts, prompt, review surfaces.
Discovery phrases: create agent revision plan, critique render and revise, make revision plan from quality receipt, review contact sheet and quality receipt, plan prompt revision, agent critique revise loop
| Name | Type | Required | Description |
|---|---|---|---|
packageId | string | yes | Motion package id the revision plan applies to. |
contactSheet | object | no | Inline contact-sheet critique evidence with status and notes. |
contactSheetPath | string | no | Path to a contact-sheet critique JSON file. |
createdAt | string | no | Optional deterministic ISO timestamp for the revision plan. |
outputPath | string | no | Alias for planPath. |
planId | string | no | Optional deterministic revision plan id. |
planPath | string | no | Optional output path for the written revision plan JSON. |
qualityReceipt | object | no | Inline shellx-motion receipt@1 quality-check receipt. |
qualityReceiptId | string | no | Quality receipt id to include as critique evidence. |
qualityReceiptIds | array | no | Quality receipt ids to include as critique evidence. |
qualityReceiptPath | string | no | Path to a quality receipt JSON file. |
qualityReceiptPaths | array | no | Paths to quality receipt JSON files. |
4 further optional arguments: qualityReceipts, receiptsRoot, sourceJobId, templateId. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.prompt.run
LinkTier draft_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Natural-language instruction handed to the local agent. |
agentId | string | no | Agent adapter to run; the default adapter when omitted. |
cwd | string | no | Working directory for the agent; must be inside a trusted prompt working root. |
executeAgentCommands | boolean | no | Execute the debug commands the agent proposes. Without this the run only records proposals and changes nothing. |
packageId | string | no | Package id recorded in the prompt receipt. |
rawRequestDeleteAfter | string | no | ISO timestamp after which receipt reads redact the raw prompt and rewrite the stored receipt without it. Copies made before the deadline are not reached. |
rawRequestPurpose | string · user_requested_replay|debugging | no | Declared purpose for retaining the raw prompt. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the prompt receipt. |
retainRawRequest | boolean | no | Keep the raw prompt text in the receipt; requires rawRequestDeleteAfter and rawRequestPurpose. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
workspace domain
motion.command.motion.packages.browse
LinkTier read_motion. Read-only. Discoverable as an action on the packages, prompt surfaces.
Discovery phrases: browse motion packages, package browser, show package browser, list motion packages, show motion packages, open package browser
| Name | Type | Required | Description |
|---|---|---|---|
packageBrowserRoot | string | no | Alternate name for root. |
packageRoot | string | no | Single Motion package root to include. |
packageRoots | array | no | Motion package roots to include, as a string array. |
packagesRoot | string | no | Alternate name for root. |
root | string | no | Directory to scan for Motion packages. One of root, packageRoot, or packageRoots is required. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.create
LinkTier write_local. Mutates. Discoverable as an action on the packages, preview surfaces.
Discovery phrases: create package, create new package, create new empty motion package, new motion package, create empty package, start a new package, init package, initialise package, make a new package, scaffold package, blank package, start from scratch, create a motion project, new project, bootstrap package, first step
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Empty or non-existent directory to create the package in. |
background | string | no | Document background. Must be a colour Motion renders: hex (#rgb, #rgba, #rrggbb, #rrggbbaa), rgb()/rgba()/hsl()/hsla(), transparent, currentColor, or one of these names: black, white, red, green, blue, navy, yellow, cyan, aqua, magenta, fuchsia, gray, grey, silver, maroon, purple, olive, lime, teal, orange, pink, brown. |
durationMs | number | no | Total duration in milliseconds. Bounded with fps by the render budget: at most 36000 frames and 80000000000 pixel-frames, so at 30 fps the longest package is 1200000ms. |
empty | boolean | no | Start with no layers. Off by default because a blank frame is indistinguishable from a failed render. |
fps | number | no | Frames per second, 1 to 120. |
height | number | no | Frame height in pixels, 1 to 7680. Width x height may not exceed 33177600 pixels (7680x4320). |
name | string | no | Human-readable name, at most 128 characters; also seeds the readable half of the package and motion ids. |
width | number | no | Frame width in pixels, 1 to 7680. Width x height may not exceed 33177600 pixels (7680x4320). |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.validate
LinkTier read_motion. Read-only. Discoverable as an action on the packages, receipts surfaces.
Discovery phrases: validate package, check package, is my package valid, verify package, package validation, check motion.json, lint package, structural check
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to check for structural validity. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.receipts.list
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | yes | Trusted host receipt root to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.receipts.read
LinkTier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | no | Receipt id to look up inside receiptsRoot. |
receiptPath | string | no | Receipt file path; must resolve inside receiptsRoot. |
receiptsRoot | string | no | Trusted host receipt root. Required with receiptId, and required to bound receiptPath. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.receipts.panel
LinkTier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show receipt panel, receipt panel, receipts panel, receipt summary, show receipt summary, summarize receipts
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | yes | Trusted host receipt root to read. |
limit | number | no | Maximum receipts to return; must be a non-negative integer. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.archive
LinkTier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: package archive, motion package archive, portable package archive, export package archive, export portable package archive, make shellxmotion package, create shellxmotion archive
| Name | Type | Required | Description |
|---|---|---|---|
archivePath | string | yes | Destination path for the portable .shellxmotion archive. |
packageRoot | string | yes | Motion package root directory to read. |
receiptPath | string | no | Optional explicit path for the emitted archive receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.extract
LinkTier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: package extract, extract package archive, extract shellxmotion package archive, import shellxmotion package, restore portable package archive, unpack motion package archive
| Name | Type | Required | Description |
|---|---|---|---|
archivePath | string | yes | Portable .shellxmotion archive to extract. |
packageRoot | string | yes | Trusted output Motion package directory. |
receiptPath | string | no | Optional package archive extraction receipt path. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.review.html.bundle
LinkTier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: review html bundle, html review bundle, export review html, export review html bundle, make review bundle, client review bundle, share review html
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the portable review HTML bundle. |
packageRoot | string | no | Optional Motion package root for package summary metadata. |
receiptsRoot | string | no | Host receipts root to collect render, batch, quality, and connector evidence. |
title | string | no | Optional review title shown in the generated HTML. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.support.bundle
LinkTier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: support bundle, debug bundle, collect diagnostics, export support data
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the support bundle. |
packageRoot | string | no | Optional Motion package root to include in diagnostics. |
receiptsRoot | string | no | Optional host receipts root to summarize. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.patch
LinkTier edit_motion. Mutates. Discoverable as an action on the timeline, templateInspector, prompt surfaces.
Discovery phrases: edit package, change template, update motion
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
patch | array | yes | JSON-Patch style operations applied to the Motion document, each { op, path, value? } with a leading-slash pointer path. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
integration domain
motion.command.motion.connector.panel
LinkTier read_motion. Read-only. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: show connector readiness panel for cut and canvas, show connector panel, connector panel, connector readiness panel, show cut canvas connectors, inspect connector workflows, review connector handoffs, list motion connectors, show canvas cut connector capabilities
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.canvas.package
LinkTier render_motion. Mutates. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: package this canvas frame for motion, package canvas frame, canvas package, create motion package from canvas, convert canvas frame to motion package
| Name | Type | Required | Description |
|---|---|---|---|
packageDir | string | yes | Empty or absent output directory for the generated Motion package. |
canvasSelectionPath | string | no | Canvas frame-selection JSON path. Required unless selection is given inline. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
selectedFrameId | string | no | Frame to package when the selection carries several. |
selection | object | no | Inline Canvas frame-selection document, in place of canvasSelectionPath. Accepted schema ids: shellx-motion/canvas-frame-selection@1, shellx-canvas/frame-selection@1 (the canonical shellx-motion id additionally requires integration and identity blocks). Required fields — fixture: schema, selectedFrameId, project, brand, frames, imageEditorOutputs; project: id, name; brand: tokens; each frame: id, name, durationMs, fps, width, height, layers; each layer: id, kind, startMs, durationMs. Accepted layer kinds: adjustment, audio, camera, caption, environment, image, particles, scene3d, shader, shape, text, video, web. Rectangles, ellipses and stars are kind "shape" with a shape field: {"kind":"shape","shape":"rect"}. There is no "rect", "ellipse" or "circle" layer kind. Minimal working example: {"schema":"shellx-canvas/frame-selection@1","selectedFrameId":"frame_intro","project":{"id":"demo","name":"Demo"},"brand":{"tokens":{}},"frames":[{"id":"frame_intro","name":"Intro","durationMs":1000,"fps":30,"width":1920,"height":1080,"background":"#f8fafc","layers":[{"id":"panel","kind":"shape","shape":"rect","startMs":0,"durationMs":1000,"transform":{"x":100,"y":100,"width":600,"height":300,"opacity":1},"style":{"fill":"#2563eb"}}]}],"imageEditorOutputs":[]}. A rejected document returns every problem at once in result.problems, and this same contract in result.contract. |
sourceRoot | string | no | Root used to resolve selection asset paths; the selection file's directory when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.canvas.bridge_export
LinkTier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: export canvas bridge frame selection, canvas bridge export, bridge canvas frame to motion, make canvas frame selection json, export canvas checkout frame
| Name | Type | Required | Description |
|---|---|---|---|
canvasRoot | string | yes | Trusted shellx-canvas checkout root containing app/server/motion-package.mjs. |
outPath | string | yes | Frame-selection JSON path to write. |
durationMs | number | no | Default duration for the generated frame selection. |
fps | number | no | Default frame rate for the generated frame selection. |
frameName | string | no | Frame name to request from the Canvas bridge. |
generatedAt | string | no | Deterministic ISO timestamp for the bridge selection and receipt. |
path | string | no | Alias for outPath. |
projectName | string | no | Project name to request from the Canvas bridge. |
selectedIds | array | no | Optional selected Canvas node ids to export. |
target | string | no | Bridge export target label for Canvas provenance. |
motion.command.motion.browser.workflow.capture
LinkTier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: capture browser workflow with replay trace, browser workflow replay, deterministic browser capture, record browser workflow trace, capture website video frame with workflow
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to capture through the deterministic browser lane. |
atMs | number | no | Frame timestamp in milliseconds. |
catalogPath | string | no | Optional browser workflow catalog path for drift evidence. |
failOnDrift | boolean | no | Return an error when catalog drift is detected. |
outDir | string | no | Directory for captured frame, trace, catalog, and receipt artifacts. |
outputPath | string | no | Explicit browser-captured frame output path. |
recordingFramesDir | string | no | Optional directory for sampled browser recording frames. |
recordingManifestPath | string | no | Optional path for a sampled deterministic browser recording manifest. |
recordingSampleCount | number | no | Number of deterministic frame samples to include in the recording manifest. Capped because each sample is a browser render written to disk. |
workflow | object | no | Inline shellx-motion/browser-workflow@1 replay plan. |
workflowCatalogPath | string | no | Alias for catalogPath. |
workflowPath | string | no | Path to a shellx-motion/browser-workflow@1 replay plan. |
motion.command.motion.connector.canvas_to_mp4
LinkTier render_motion. Mutates. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: export this canvas frame to mp4 without cut, canvas frame to mp4, canvas mp4 export, export canvas as video, canvas independent mp4, canvas export without cut
| Name | Type | Required | Description |
|---|---|---|---|
canvasSelectionPath | string | yes | Canvas frame-selection JSON exported by Canvas or motion.canvas.bridge_export. |
outDir | string | yes | Trusted output directory for the Motion package, render artifacts, and connector receipt. |
dryRunRender | boolean | no | Plan the render without encoding media. |
preset | string · exportPreset | no | Export preset for the rendered output. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.connector.canvas_to_cut
LinkTier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: send this canvas frame to cut timeline, canvas to cut, send canvas to cut, canvas frame into cut, apply canvas export to cut, canvas cut connector
| Name | Type | Required | Description |
|---|---|---|---|
canvasSelectionPath | string | yes | Canvas frame-selection JSON exported by Canvas or motion.canvas.bridge_export. |
outDir | string | yes | Trusted output directory for package, render, Cut import plan, and connector receipt artifacts. |
createdAt | string | no | Deterministic ISO timestamp for connector receipts and package provenance. |
cutImportMode | string | no | Cut import mode, such as rendered_media or editable_lowering. |
dryRunRender | boolean | no | Plan required renders without encoding media. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.script_to_cut
LinkTier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: send scripted video json to cut without canvas, script to cut, scripted video to cut, scripted video json to cut, send scripted video to cut, render scripted video to cut timeline, scripted storyboard to cut timeline
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted output directory for package, preview, render, Cut import plan, and connector receipt artifacts. |
createdAt | string | no | Deterministic ISO timestamp for connector receipts and package provenance. |
cutImportMode | string | no | Cut import mode, such as rendered_media or editable_lowering. |
dryRunRender | boolean | no | Plan required renders without encoding media. |
script | object | no | Inline shellx-motion scripted-video document. |
scriptPath | string | no | Path to a shellx-motion scripted-video JSON document. |
storyboard | object | no | Alias for script when called from Cut Generate workflows. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.source_to_cut
LinkTier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: source markdown to cut timeline without canvas, source to cut, source to cut timeline, import source to cut, send source storyboard to cut, turn imported source into cut video
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted output directory for storyboard, package, preview, render, Cut import plan, and connector receipt artifacts. |
sourcePath | string | yes | Path to imported source Markdown from motion.source.import or an equivalent trusted source document. |
createdAt | string | no | Deterministic ISO timestamp for connector receipts and package provenance. |
cutImportMode | string | no | Cut import mode, such as rendered_media or editable_lowering. |
dryRunRender | boolean | no | Plan required renders without encoding media. |
fps | number | no | Storyboard and Motion package frame rate. |
frameDurationMs | number | no | Duration for each generated storyboard frame. |
height | number | no | Storyboard and Motion package height. |
maxFrames | number | no | Maximum review-required storyboard frames to derive from the source. |
width | number | no | Storyboard and Motion package width. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.cut_generate_to_cut
LinkTier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: apply cut generate scripted video to cut timeline, cut generate to cut, cut generate apply, apply generated scripted video to cut, cut generate rendered video to timeline
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted output directory for package, preview, render, Cut import plan, and connector receipt artifacts. |
createdAt | string | no | Deterministic ISO timestamp for connector receipts and package provenance. |
cutImportMode | string | no | Cut import mode, such as rendered_media or editable_lowering. |
dryRunRender | boolean | no | Plan required renders without encoding media. |
script | object | no | Inline scripted-video document emitted by Cut Generate. |
scriptPath | string | no | Path to a Cut Generate scripted-video JSON document. |
storyboard | object | no | Alias for script when called from storyboard prompts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.template_to_cut
LinkTier write_local. Mutates. Discoverable as an action on the prompt, templateInspector, receipts surfaces.
Discovery phrases: apply editable template to cut timeline, template to cut, send template to cut, apply template controls to cut, template rendered video to cut timeline, editable template lower third to cut
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted output directory for applied package, preview, render, Cut import plan, and connector receipt artifacts. |
packageRoot | string | yes | Template Motion package root to apply before generating the Cut import plan. |
values | object | yes | Template param values keyed by param id. |
cutImportMode | string | no | Cut import mode, such as rendered_media or editable_lowering. |
dryRunRender | boolean | no | Plan required renders without encoding media. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
value sets
motion.enum.animationPreset
Link6 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
fade-in, fade-out, slide-up-in, slide-down-out, lower-third-in, lower-third-out
motion.enum.blendMode
Link17 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
normal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity, plus-lighter
motion.enum.captionFormat
Link3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
srt, vtt, plain
motion.enum.deliveryLane
Link2 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
native, ffmpeg
motion.enum.duckingMode
Link2 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
timed, sidechain
motion.enum.durationResizeMode
Link3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
stretch-middle, ripple, fixed
motion.enum.easing
Link9 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
linear, hold, ease-in, ease-out, ease-in-out, back-out, bounce-out, step-start, step-end
motion.enum.easingPreset
Link15 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
linear, hold, ease-in, ease-out, ease-in-out, back-out, bounce-out, smooth, snappy, step-start, step-end, steps-4-end, spring-gentle, spring-snappy, spring-bouncy
motion.enum.exportPreset
Link10 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
mp4-h264, mp4-hevc, webm-av1, webm-vp9, webm-vp9-alpha, gif, mov-prores, png-sequence, png-frame, jpeg-frame
motion.enum.keyframeSnapMode
Link3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
nearest, floor, ceil
motion.enum.keyframeTarget
Link113 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
transform.x, transform.y, transform.width, transform.height, transform.originX, transform.originY, transform.scale, transform.rotation, opacity, volume, pan, blendMode, playbackRate, fill, style.fill, style.color, style.stroke, style.borderColor, style.backgroundColor, style.background, style.strokeWidth, style.borderWidth, style.fontSize, style.fontWeight, style.letterSpacing, style.textAlign, style.verticalAlign, style.alignY, style.lineHeight, style.width, style.height, style.radius, style.borderRadius, style.padding, style.paddingX, style.paddingY, style.paddingTop, style.paddingRight, style.paddingBottom, style.paddingLeft, mask.inset.top, mask.inset.right, mask.inset.bottom, mask.inset.left, crop.x, crop.y, crop.width, crop.height, style.shadow.x, style.shadow.y, style.shadow.offsetX, style.shadow.offsetY, style.shadow.blur, style.shadow.spread, style.shadow.blurRadius, style.shadow.spreadRadius, style.shadow.color, style.textShadow.x, style.textShadow.y, style.textShadow.offsetX, style.textShadow.offsetY, style.textShadow.blur, style.textShadow.blurRadius, style.textShadow.color, effects.blur, effects.brightness, effects.contrast, effects.saturate, effects.grayscale, effects.glow.radius, effects.glow.color, gradient.angle, environment.intensity, environment.wind, environment.dropSpeed, environment.dropLength, environment.ground.horizon, environment.ground.wetness, environment.ground.roughness, environment.ground.rippleAmount, environment.ground.splashAmount, environment.ground.reflectionStrength, environment.atmosphere.mist, environment.atmosphere.lensDroplets, environment.surface.horizon, environment.surface.waveScale, environment.surface.waveHeight, environment.surface.waveSpeed, environment.surface.direction, environment.surface.choppiness, environment.optics.reflectionStrength, environment.optics.refractionStrength, environment.optics.fresnel, environment.optics.caustics, environment.optics.clarity, environment.optics.foam, environment.fall.intensity, environment.fall.speed, environment.fall.wind, environment.fall.turbulence, environment.fall.flakeSize, environment.fall.focusFalloff, environment.ground.accumulation, environment.ground.drift, environment.ground.contactAmount, environment.atmosphere.haze, environment.atmosphere.depthFade, environment.fog.density, environment.fog.speed, environment.fog.scale, environment.fog.turbulence, environment.fog.height, environment.fog.lightStrength
motion.enum.mediaFit
Link5 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
fill, contain, cover, none, scale-down
motion.enum.permissionTier
Link6 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
read_motion, draft_motion, render_motion, edit_motion, write_local, push_remote
motion.enum.spatialTangentMode
Link4 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
linear, smooth, broken, auto
motion.enum.transitionDirection
Link4 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
left, right, up, down
motion.enum.transitionEdge
Link2 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
in, out
motion.enum.transitionType
Link3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
fade, slide, wipe
troubleshooting
motion.trouble.no_ffmpeg
LinkRun doctor. Install both FFmpeg and FFprobe, or point SHELLX_MOTION_FFMPEG and SHELLX_MOTION_FFPROBE at explicit executables, then restart Motion.
NoteEncoding needs FFmpeg; reading the result back for quality-check needs FFprobe. They are separate answers in doctor.
motion.trouble.no_chromium
LinkInstall a Chrome or Chromium build, or set SHELLX_MOTION_BROWSER to one. npx playwright-core install chromium installs a browser that playwright-core itself does not ship.
Noterender --frame-lane native still works for text-free packages. Native still previews work with no browser at all.
motion.trouble.locked_workbench
LinkPaste the local access key into the Connect dialog. pnpm start opens an already-unlocked tab; a second tab, or a tab opened by hand, has to connect.
NoteThe key lives in that tab's sessionStorage only.
motion.trouble.browse_nothing
LinkNative pickers require a desktop session. On Linux, install zenity or kdialog; on Windows and macOS the operating-system picker is used.
motion.trouble.package_create_refused
LinkThe server was started at a grant below write_local. edit_motion cannot create a package, because write_local is the HIGHER tier.
--tier write_local --trusted-local-tier.NoteCreating into a non-empty directory is refused, not merged.
motion.trouble.unsupported_lane
Link--lane means different things in preview and render. preview --lane takes native or browser. render --lane takes native or ffmpeg, and its browser choice is --frame-lane browser|native.
render --lane native writes one PNG still, not video.motion.render.final accepts frameLane "browser" only.motion.trouble.no_screenshot
LinkIt was removed because Motion is an engine with no panel of its own: the command could only relay a request to a host and report ok for something it could not verify.
debug preview-frame / motion.preview.frame for a real PNG plus receipt.motion.trouble.render_status_not_live
LinkThey are read-only views derived from receipt files on disk, so they report finished and batch-partial work, not live processes.
--job-id, or jobId on the Debug API).motion.job.get / motion.job.list from any process for live state.--caller-id must match between the render and the query; visibility is per-owner.Notemotion.render.cancel writes a cancel receipt and touches no process. motion.render.retry writes a not_run record that nothing consumes. Never say either stopped or restarted anything.
motion.trouble.job_states
LinkSwitch on job.state: pending, running, succeeded, failed, cancelled or skipped. Stop polling when pollAfterMs disappears.
pending means waiting for a machine slot — say "waiting", not "rendering".outcome, never on whether an artifact path is present: a failed encode can leave a truncated file.NoteA query error (job_unknown, job_expired, job_not_visible) describes the lookup, not the job. It is not a failed render.
motion.trouble.rss_limit
LinkA long browser render hit the per-job resident-memory ceiling (6 GiB by default) and the governor aborted it. Through the CLI that is a non-zero exit and a stack trace, not a JSON error envelope.
motion.trouble.depth_blend
LinkGiving one layer depth makes it mandatory on every generated visual layer, requires a camera, bounds it to -0.9…3, and refuses any blendMode but normal. Mattes are refused too.
motion.trouble.render_warning
LinkOpen History, inspect the quality and encoder details, and resolve the warning before treating the artifact as approved.
NoteNever lower a failed quality gate to make a render pass.
No record matches that search. Try a tool name (ffmpeg), a tier (write_local), or a command id (motion.render.final).