video-edit

>

INSTALLATION
npx skills add https://github.com/doany-ai/skills --skill video-edit
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$2b

User intent

Model

Why

Restyle a talking-head video — preserve face / pose / lip movement

Wan 2.7 Edit-Video

Strong identity + motion preservation; supports up to 1080p

Swap product background, keep camera motion

Wan 2.7 Edit-Video

Camera motion preserved; one-direction edit honored

Replace packaging design using a reference image

Wan 2.7 Edit-Video + reference_image

Reference-conditioned design transfer

Apply cinematic color grade / commercial polish

Wan 2.7 Edit-Video

Good at single-direction global look changes

Transfer precise motion from a reference video to a target character

Kling 2.6 Pro Motion Control

Designed for motion mapping with identity hold

Lip-sync motion of a target character to source video's lip movement

Kling 2.6 Pro Motion Control

Built for tight temporal coherence

Lightweight outfit / costume swap with identity preservation

Lucy Edit Restyle

Core strength is localized identity-stable edits

Identity-stable restyle ("astronaut in desert", "warm golden-hour lighting")

Lucy Edit Restyle

Specializes in temporal consistency for restyle

Default if unspecified

Wan 2.7 Edit-Video

Most versatile, highest resolution

The agent reads this table, classifies the user's intent, and picks the matching subsection below.

Prerequisites

  • RunComfy CLInpm i -g @runcomfy/cli
  • RunComfy accountruncomfy login.
  • CI / containers — set RUNCOMFY_TOKEN=<token>.
  • A source video URL — formats and limits depend on the chosen route.

Route 1: Wan 2.7 Edit-Video — default for restyle / background / packaging

Model: wan-ai/wan-2-7/edit-video

Schema

Field

Type

Required

Default

Notes

prompt

string

yes

Lead with preservation. One edit direction per call.

video

string

yes

MP4/MOV URL, 2–10s, ≤100MB.

reference_image

string

no

URL — use for direct design / appearance transfer only.

resolution

enum

no

(input)

720p or 1080p.

aspect_ratio

enum

no

(input)

W:H. Defaults to input.

duration

int

no

0

0 = match input; 2–10 = truncate from start.

audio_setting

enum

no

auto

auto or origin (preserve source audio).

seed

int

no

Reproducibility.

Invoke

Background swap, identity preserved, audio kept:

runcomfy run wan-ai/wan-2-7/edit-video \

  --input '{

    "prompt": "Preserve the speaker'\''s face, pose, and lip movement; change the background to a modern office with neutral lighting.",

    "video": "https://.../speaker.mp4",

    "audio_setting": "origin"

  }' \

  --output-dir <absolute/path>

Packaging swap with reference image:

runcomfy run wan-ai/wan-2-7/edit-video \

  --input '{

    "prompt": "Maintain the original framing and hand movement; replace the packaging design using the reference image.",

    "video": "https://.../hand-holding-package.mp4",

    "reference_image": "https://.../new-packaging.png",

    "audio_setting": "origin"

  }' \

  --output-dir <absolute/path>

Prompting tips

  • Preservation goals first: "Preserve [face / pose / motion / framing / lip movement]; [then state the change]".
  • One edit direction per call. Compound edits drift on motion.
  • **reference_image only when justified** (packaging swap, costume swap with target visual). Don't pass refs for general restyle.
  • **audio_setting: "origin"** for talking-head where you don't want soundtrack regenerated.
  • Source video constraints: 2–10s, ≤100MB.

Route 2: Kling 2.6 Pro Motion Control — when motion FROM a reference clip is the point

Model: kling/kling-2-6/motion-control-pro

Use when the user wants to transfer the motion of a reference video onto a target character (driven by an image OR another video). This isn't restyle — it's motion mapping with identity hold.

Schema

Field

Type

Required

Notes

prompt

string

yes

Describe target motion / style.

image

string

yes (image orientation)

Reference for character / background consistency.

video

string

yes

Motion reference. 10–30s depending on orientation.

keep_original_sound

bool

no

Preserve audio from reference video.

character_orientation

enum

yes

image (max 10s output) or video (max 30s output).

Invoke

runcomfy run kling/kling-2-6/motion-control-pro \

  --input '{

    "prompt": "A young american woman dancing",

    "image": "https://.../target-character.jpg",

    "video": "https://.../motion-reference-dance.mp4",

    "character_orientation": "image",

    "keep_original_sound": true

  }' \

  --output-dir <absolute/path>

Prompting tips

  • Subject must be > 5% of frame in the image reference for clean identity hold.
  • Spatial constraints help: "character on left side, background motion right".
  • Simplify if results drift between iterations — drop adjectives, keep core motion description.
  • **character_orientation: "image"** caps output at 10s; "video" allows 30s.

Route 3: Lucy Edit Restyle — lightweight identity-stable restyle / outfit swap

Model: decart/lucy-edit/restyle

Use when the edit is localized style modification — outfit swap, scene relight, atmospheric restyle — and identity preservation is critical. Lighter-weight than Wan 2.7 Edit; capped at 720p.

Schema

Field

Type

Required

Default

Notes

prompt

string

yes

Natural-language edit instruction.

video_url

string

yes

MP4/MOV/WEBM/GIF.

resolution

enum

no

720p

720p only on this tier.

Invoke

Outfit swap:

runcomfy run decart/lucy-edit/restyle \

  --input '{

    "prompt": "Change outfit to professional business attire; preserve face and motion.",

    "video_url": "https://.../subject-walking.mp4"

  }' \

  --output-dir <absolute/path>

Atmospheric restyle:

runcomfy run decart/lucy-edit/restyle \

  --input '{

    "prompt": "Make lighting warm and golden hour; preserve face, pose, and motion.",

    "video_url": "https://.../subject-portrait.mp4"

  }' \

  --output-dir <absolute/path>

Prompting tips

  • Localized change phrasing wins. "Outfit", "lighting", "background" — pick one bucket.
  • Preserve identity goals"preserve face and motion" is enough; don't over-specify.
  • Avoid total replacement ("astronaut in space" works; "swap subject for a different person" doesn't). Lucy is built for localized style mods, not full character swap.
  • No aspect ratio control — output matches input. Cropping happens server-side if you don't pre-match.

Limitations

  • Each route inherits its model's limits. Wan 2.7 Edit: 2–10s, 1080p ceiling. Kling: 10s (image orientation) or 30s (video orientation). Lucy: 720p ceiling, no aspect control.
  • No multi-route blending. This skill picks one model per call.
  • Brand-specific overrides — if the user named a specific model, route to the corresponding brand skill (wan-2-7) for fuller treatment.

Exit codes

code

meaning

0

success

64

bad CLI args

65

bad input JSON / schema mismatch

69

upstream 5xx

75

retryable: timeout / 429

77

not signed in or token rejected

Full reference: docs.runcomfy.com/cli/troubleshooting.

How it works

The skill picks one of Wan 2.7 Edit-Video / Kling 2.6 Pro Motion Control / Lucy Edit Restyle based on user intent and invokes runcomfy run <model_id> with the matching JSON body. The CLI POSTs to the Model API, polls the request, fetches the result, and downloads any .runcomfy.net/.runcomfy.com URL into --output-dir. Ctrl-C cancels the remote request before exit.

Security &#x26; Privacy

  • Token storage: runcomfy login writes the API token to ~/.config/runcomfy/token.json with mode 0600 (owner-only read/write). Set RUNCOMFY_TOKEN env var to bypass the file entirely in CI / containers.
  • Input boundary: the user prompt is passed as a JSON string to the CLI via --input. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.
  • Third-party content: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.
  • Outbound endpoints: only model-api.runcomfy.net (request submission) and *.runcomfy.net / *.runcomfy.com (download whitelist for generated outputs). No telemetry, no callbacks.
  • Generated-file size cap: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card