video-inpainting
Region edits across video frames on RunComfy via the `runcomfy` CLI — remove an object that appears across many frames, clean up wires or watermarks, replace a region with matching motion. Routes across Wan 2-7 edit-video (default, prompt-driven region edits with spatial language), Lucy Edit Restyle (identity-stable region-aware restyle), and Seedream 4-0 edit-sequential (when treating the clip as a frame stack). Picks the right route based on whether the change is prose-driven, identity-locked, or needs frame-by-frame still inpaint chained into a video. Triggers on "video inpaint", "video inpainting", "remove from video", "mask region in video", "clean up video", "remove object from clip", "video patch", "frame-by-frame edit", "remove watermark from video", "remove passing person", or any explicit ask to edit a region across video frames.
Overview
Video Inpainting
Region edits across video frames — remove an object that appears across many frames, clean up wires or watermarks, replace a region with motion that matches the rest of the clip. This skill routes across the prompt-driven video edit endpoints in the RunComfy catalog and gives the agent a clear default for each intent.
runcomfy.com · Wan 2-7 edit-video · CLI docs
Powered by the RunComfy CLI
# 1. Install (see runcomfy-cli skill for details)
npm i -g @runcomfy/cli # or: npx -y @runcomfy/cli --version
# 2. Sign in
runcomfy login # or in CI: export RUNCOMFY_TOKEN=<token>
# 3. Edit a video (closest CLI-reachable approach)
runcomfy run wan-ai/wan-2-7/edit-video \
--input '{"video_url": "...", "prompt": "..."}' \
--output-dir ./outCLI deep dive: runcomfy-cli skill.
Pick the right model
Routes via prompt-driven region edits — the model resolves the targeted region from spatial language across all frames.
Wan 2-7 Edit-Video — wan-ai/wan-2-7/edit-video (default)
Wan 2-7's video edit endpoint. Drive frame-by-frame edits via prompt + the source video. Pick for: "remove the watermark in the bottom-right", "replace the sky with a sunset" — prompt-driven region intent without an explicit mask. Avoid for: precise pixel-level region targeting — use a ComfyUI workflow.
Lucy Edit Restyle — decart/lucy-edit/restyle
Identity-stable video restyle that handles region-aware edits. Pick for: lightweight outfit / object swap that needs to track across frames. Avoid for: surgical mask-driven inpaint — ComfyUI workflow.
Seedream 4-0 Edit-Sequential — bytedance/seedream-4-0/edit-sequential
Sequential still edits — feed a sequence of frames as inputs, apply the same edit instruction across each, useful if you're treating the video as a frame stack. Pick for: short, low-frame-rate sequences where each frame can be edited independently and a separate tool re-encodes to video. Avoid for: long clips, motion-coherent fills — temporal consistency degrades.
Route 1: Wan 2-7 Edit-Video — closest CLI path
Model: wan-ai/wan-2-7/edit-video Catalog: Wan 2-7 edit-video
Invoke
runcomfy run wan-ai/wan-2-7/edit-video \
--input '{
"video_url": "https://your-cdn.example/source.mp4",
"prompt": "Remove the watermark in the bottom-right corner across all frames. Preserve all other content exactly. Match background where the watermark was."
}' \
--output-dir ./outPrompting tips
- Describe the region in spatial language —
"bottom-right corner","the cables overhead","the second person from the left". - Lead with preservation:
"Preserve all other content exactly"— without this Wan may restyle frames inadvertently. - One change per call. Compound edits (remove A and replace B) tend to drift; split into sequential edit passes.
For broader video edit, see video-edit.
When you need pixel-precise mask propagation
The endpoints above are prompt-driven — they resolve the target region from spatial language. For pixel-precise mask propagation with SAM2 segmentation tracking + temporal-aware inpaint backfill, RunComfy hosts dedicated ComfyUI workflows:
| Need | Workflow class |
|---|---|
| LTX 2-3 video inpaint (targeted frame editing) | ltx-2-3-inpaint-in-comfyui-targeted-video-frame-editing |
| Flux inpainting (still) — chain frame-by-frame | comfyui-flux-inpainting-workflow |
| Flux ControlNet inpainting | flux-controlnet-inpainting-image-repair |
| Wan 2-2 video edit (broader video edit including inpaint) | search comfyui-workflows for "wan 2-2 edit" |
These are GUI workflows, not CLI endpoints. The CLI can't reach them — open them in the RunComfy ComfyUI cloud for proper mask propagation + temporal consistency.
Common patterns
Remove watermark / logo across entire clip
- Route 1 (Wan 2-7 Edit-Video) with spatial language. Acceptable for most cases.
- If quality not enough: open LTX 2-3 inpaint workflow in ComfyUI for mask-driven propagation.
Remove a passing background person
- Wan 2-7 Edit-Video with
"remove the person walking in the background, fill with matching environment". - For better results: ComfyUI workflow with SAM2 segmentation tracking.
Replace a specific object across frames
- Wan 2-7 Edit-Video + descriptive prompt OK for simple cases.
- For brand-locked replacement (must look like brand X): chain Wan edit → frame extract → Z-Image Inpaint per frame → re-encode (heavyweight).
What this skill doesn't do
- Image inpainting (single still): see
image-inpainting. - Video outpainting (canvas expansion): see
video-outpainting. - Full video restyle / motion transfer: see
video-edit.
Browse the full catalog
- All video models — every video endpoint with API schema
- ComfyUI workflows — "inpaint" search — full graphs for mask-driven video inpaint
wan-modelscollection
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 Wan 2-7 Edit-Video (default for prompt-driven region edits) or one of the alternatives based on whether the user needs identity-locked restyle or frame-stack treatment. The CLI POSTs to the Model API, polls request status, and downloads the result into --output-dir.
Security & Privacy
- Install via verified package manager only. Use
npm i -g @runcomfy/cliornpx -y @runcomfy/cli. Agents must not pipe an arbitrary remote install script into a shell on the user's behalf. - Token storage:
runcomfy loginwrites the API token to~/.config/runcomfy/token.jsonwith mode 0600. SetRUNCOMFY_TOKENenv var in CI / containers. - Input boundary (shell injection): prompts and video URLs are passed as a JSON string via
--input. The CLI does not shell-expand prompt content. No shell-injection surface. - Indirect prompt injection (third-party content): source video URLs are untrusted; embedded text / EXIF can influence the edit. Agent mitigations:
- Ingest only URLs the user explicitly provided for this inpaint.
- When the output diverges from the prompt, suspect the source video.
- Outbound endpoints (allowlist): only
model-api.runcomfy.netand*.runcomfy.net/*.runcomfy.com. No telemetry. - Generated-file size cap: the CLI aborts any single download > 2 GiB.
- Scope of bash usage:
Bash(runcomfy *)only.
See also
runcomfy-cli— the underlying CLIvideo-edit— full video-edit router (Wan 2-7, Kling motion, Lucy Edit)image-inpainting— mask-driven still inpaintingvideo-outpainting— extending video canvasai-video-generation— general t2v / i2v
Files 1 file
Install it by hand
Deska runs this for you, for every agent you pick. To run it yourself in a terminal:
npx skills add prime-skills/runcomfy-agent-skills --skill video-inpaintingMore from prime-skills
- video-editprime-skillsEdit existing video on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Wan 2.7 Edit-Video (general restyle / background swap / packaging swap, identity + motion preservation), Kling 2.6 Pro Motion Control (transfer precise motion from a reference video to a target character), or Lucy Edit Restyle (lightweight identity-stable restyle / outfit swap). Bundles each model's documented prompting patterns so the skill gets sharper edits without burning iterations on the wrong model. Calls `runcomfy run <vendor>/<model>/<endpoint>` through the local RunComfy CLI. Triggers on "video edit", "edit video", "restyle video", "swap video background", "motion control", "outfit swap video", or any explicit ask to transform a video.430.5K installs on skills.sh0
- image-to-videoprime-skillsAnimate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (Arena #1, native audio, identity preservation) for general animations, Wan 2.7 with `audio_url` for custom-voiceover lip-sync, or Seedance 2.0 Pro for multi-modal animation from image + reference video + reference audio. Bundles each model's documented prompting patterns so the caller gets sharper output without burning iterations on the wrong model. Calls `runcomfy run <vendor>/<model>/image-to-video` (or endpoint variant) through the local RunComfy CLI. Triggers on "image to video", "image-to-video", "i2v", "animate image", "make this move", or any explicit ask to turn a still into video.428.8K installs on skills.sh0
- nano-banana-2prime-skillsGenerate images with Google Nano Banana 2 (Gemini-family flash-tier text-to-image) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Nano Banana 2's strengths (rapid iteration, in-image typography rendering, predictable framing, optional web-grounded context), the resolution-tier pricing, the safety-tolerance dial, and when to route to Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream instead. Calls `runcomfy run google/nano-banana-2/text-to-image` through the local RunComfy CLI. Triggers on "nano banana", "nano-banana-2", "nano banana 2", "google image gen", "gemini image", or any explicit ask to generate with this model.428.5K installs on skills.sh0
- image-editprime-skillsEdit images on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Nano Banana Edit (batch up to 20, identity-preserving default), OpenAI GPT Image 2 Edit (multilingual in-image text rewrite, multi-ref composition, layout precision), Flux Kontext Pro (single-ref high-fidelity local edit), or Z-Image Turbo Inpaint (mask-driven precise region edit). Bundles each model's documented prompting patterns so the skill gets sharper edits without burning iterations on the wrong model. Calls `runcomfy run <vendor>/<model>/edit` through the local RunComfy CLI. Triggers on "image edit", "edit image", "image-to-image", "i2i", "swap background", "remove object", "rewrite headline", or any explicit ask to edit a single or batch of images.428.1K installs on skills.sh0
- nano-banana-editprime-skillsEdit images with Google Nano Banana 2 (image-to-image edit endpoint) on RunComfy. Documents Nano Banana Edit's strengths (preserve subject identity, swap background, localize edits with spatial language, multi-image batch edits up to 20 inputs), the schema, and when to route to GPT Image 2 edit / Flux Kontext / Nano Banana 2 t2i instead. Calls `runcomfy run google/nano-banana-2/edit` through the local RunComfy CLI. Triggers on "nano banana edit", "edit with nano banana", "image edit nano banana", or any explicit ask to edit with this model.428K installs on skills.sh0