import-canvas-capture
Import a recorded Remotion Canvas Capture into a project without Studio interactions using the internal experimental-codemod command. Use when adding a capture file as an editable composition with cursor keyframes.
How do I install this agent skill?
npx skills add https://github.com/remotion-dev/remotion --skill import-canvas-captureIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill automates importing video captures into Remotion projects using experimental CLI commands. It executes shell commands to modify project source code and install official Remotion dependencies.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Import Canvas Capture
This is an internal, unstable workflow. Keep this skill in .agents/skills; do
not distribute it through packages/skills or document the command as a stable API.
Workflow
-
Locate the recorded capture file and the target Remotion project. The original recording must contain embedded
REMOTION_CAPTURE_DATAmetadata; a converted video that has lost this metadata cannot be imported. -
Inspect the project to find the TypeScript file containing its composition registrations (usually
src/Root.tsx). Choose an unused composition ID. -
From the target project's root, run:
bunx remotion experimental-codemod add-canvas-capture /absolute/path/capture.webm \ --composition-file src/Root.tsx \ --id MyCaptureWhen developing this command in the monorepo, build the CLI first with
bun run build, then invoke the local CLI from the target project's root:node /absolute/path/to/remotion/packages/cli/remotion-cli.js \ experimental-codemod add-canvas-capture /absolute/path/capture.webm \ --composition-file src/Root.tsx --id MyCapture -
Review the reported source files and public asset. The importer generates a component beside the registration file, registers it, copies the video to the public directory, and installs missing
@remotion/mediaand@remotion/mac-cursorsdependencies at the project's Remotion version. Studio does not need to be running. Existing Studio sessions pick up source changes through their file watchers; this operation does not enter Studio's undo stack. -
Report the composition ID and changed files to the user.
Options and conflicts
- Defaults match Studio's capture import: 1920×1080, 60 fps, and duration rounded
up from the recording. Pass
--width,--height, or--fpsto override them. Recorded video dimensions remain independent from composition dimensions. --public-diroverrides the configured public directory.--package-managerselects the dependency installer.--dry-runparses the recording and generates source changes without installing dependencies or writing project files. The programmatic result includes the proposed source changes.- The registration file is resolved relative to the project root; the CLI capture path is resolved relative to the current working directory.
- Existing component files and conflicting public assets are rejected. If the recording is already in the public directory, pass that file as the input to reuse it. Otherwise rename the input or select another composition ID; do not overwrite an existing asset or component to bypass an error.
Programmatic access
Use CliInternals.importCanvasCapture from @remotion/cli. It is internal and
unstable. Its inputs are captureFile, compositionFile, compositionId,
remotionRoot, publicDir, fps, width, height, packageManager, logLevel,
and dryRun. Supply null for default directory, dimensions, frame rate, and
package manager. File paths are resolved relative to remotionRoot.
The result contains the composition ID, source and asset paths, composition
metadata, and codemod changes. Pass dryRun: true to inspect changes in memory.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/remotion-dev/remotion/import-canvas-capture">View import-canvas-capture on skillZs</a>