video-edit

โดย runcomfy-com

แก้ไขวิดีโอที่มีอยู่บน RunComfy — ทักษะนี้เป็นเราเตอร์อัจฉริยะที่จับคู่ความตั้งใจของผู้ใช้กับโมเดลแก้ไขที่ถูกต้องในแคตตาล็อก RunComfy เลือก Wan 2.7 Edit-Video (ปรับสไตล์ทั่วไป / สลับพื้นหลัง / สลับบรรจุภัณฑ์, รักษาเอกลักษณ์และการเคลื่อนไหว), Kling 2.6 Pro Motion Control (ถ่ายโอนการเคลื่อนไหวที่แม่นยำจากวิดีโออ้างอิงไปยังตัวละครเป้าหมาย), หรือ Lucy Edit Restyle (ปรับสไตล์คงเอกลักษณ์น้ำหนักเบา / สลับชุด) รวมรูปแบบการเขียนพรอมต์ที่บันทึกไว้ของแต่ละโมเดลเพื่อให้ทักษะ...

npx skills add https://github.com/runcomfy-com/skills --skill video-edit

Video Edit — Pro Pack on RunComfy

runcomfy.com · Wan 2.7 Edit-Video · Kling Motion-Control Pro · Lucy Edit Restyle · GitHub

Video edit, intent-routed. This skill doesn't lock you to one model — it picks the right video-edit model in the RunComfy catalog based on what the user actually wants: general restyle, motion transfer from a reference clip, or lightweight identity-stable outfit / background swap.

npx skills add agentspace-so/runcomfy-skills --skill video-edit -g

Pick the right model for the user's intent

User intentModelWhy
Restyle a talking-head video — preserve face / pose / lip movementWan 2.7 Edit-VideoStrong identity + motion preservation; supports up to 1080p
Swap product background, keep camera motionWan 2.7 Edit-VideoCamera motion preserved; one-direction edit honored
Replace packaging design using a reference imageWan 2.7 Edit-Video + reference_imageReference-conditioned design transfer
Apply cinematic color grade / commercial polishWan 2.7 Edit-VideoGood at single-direction global look changes
Transfer precise motion from a reference video to a target characterKling 2.6 Pro Motion ControlDesigned for motion mapping with identity hold
Lip-sync motion of a target character to source video's lip movementKling 2.6 Pro Motion ControlBuilt for tight temporal coherence
Lightweight outfit / costume swap with identity preservationLucy Edit RestyleCore strength is localized identity-stable edits
Identity-stable restyle ("astronaut in desert", "warm golden-hour lighting")Lucy Edit RestyleSpecializes in temporal consistency for restyle
Default if unspecifiedWan 2.7 Edit-VideoMost versatile, highest resolution

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

Prerequisites

  1. RunComfy CLInpm i -g @runcomfy/cli
  2. RunComfy accountruncomfy login.
  3. CI / containers — set RUNCOMFY_TOKEN=<token>.
  4. 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

FieldTypeRequiredDefaultNotes
promptstringyesLead with preservation. One edit direction per call.
videostringyesMP4/MOV URL, 2–10s, ≤100MB.
reference_imagestringnoURL — use for direct design / appearance transfer only.
resolutionenumno(input)720p or 1080p.
aspect_ratioenumno(input)W:H. Defaults to input.
durationintno00 = match input; 2–10 = truncate from start.
audio_settingenumnoautoauto or origin (preserve source audio).
seedintnoReproducibility.

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

FieldTypeRequiredNotes
promptstringyesDescribe target motion / style.
imagestringyes (image orientation)Reference for character / background consistency.
videostringyesMotion reference. 10–30s depending on orientation.
keep_original_soundboolnoPreserve audio from reference video.
character_orientationenumyesimage (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

FieldTypeRequiredDefaultNotes
promptstringyesNatural-language edit instruction.
video_urlstringyesMP4/MOV/WEBM/GIF.
resolutionenumno720p720p 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

codemeaning
0success
64bad CLI args
65bad input JSON / schema mismatch
69upstream 5xx
75retryable: timeout / 429
77not 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 & 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.

Skills เพิ่มเติมจาก runcomfy-com

video-inpainting
runcomfy-com
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,...
videocreativemedia
runcomfy-cli
runcomfy-com
We need to translate the given English text into Thai. The text describes a CLI tool called runcomfy-cli. The instruction says to preserve the name "runcomfy-cli" but only if it appears in the source text. The source text mentions "runcomfy" and "runcomfy CLI" but not "runcomfy-cli" exactly. However, the directory item type is "agent skill" and the name to preserve is "runcomfy-cli". The instruction says "Do not include the name unless it appears in the source text." The source text has "runcomfy" and "runcomfy CLI", but not "runcomfy-cli". So we should not add "runcomfy-cli" if it's not there. But the instruction says "Name to preserve: runcomfy-cli" meaning we should keep that name if it appears. It doesn't appear. So we just translate the text as is. We need to translate the entire text inside <text> tags. The text: "Run any model on Run
creativemediaapi
image-to-video
runcomfy-com
ทำให้ภาพนิ่งใดๆ เคลื่อนไหวบน RunComfy — สกิลนี้เป็นเราเตอร์
creativevideomedia
flux-2-klein
runcomfy-com
สร้างภาพด้วย Flux 2 Klein (ตัวกลั่นความเร็วสูงของ Flux 2 จาก Black Forest Labs) บน RunComfy — พร้อมรูปแบบการเขียนคำสั่งที่บันทึกไว้ของโมเดล เพื่อให้สกิลได้ผลลัพธ์ที่คมชัดกว่าการใช้คำสั่งแบบทั่วไปกับโมเดลเดียวกัน อธิบายจุดแข็งของ Flux 2 Klein (เวลาแฝงต่ำกว่าระดับวินาที, การจัดสไตล์แบรนด์แบบหลายแหล่งอ้างอิง, คำสั่งที่เน้นประธานก่อน), กลยุทธ์จำนวนขั้นตอน (4–8 สำหรับการปรับเปลี่ยนเร็ว, ~25 สำหรับการเก็บรายละเอียด), ข้อแลกเปลี่ยนระหว่างรุ่น 9B กับ 4B, และเวลาที่ควรเปลี่ยนไปใช้ Flux 2 Pro /...
creativeimageresearch
ai-avatar-video
runcomfy-com
Create AI avatar, talking-head, and lip-sync videos on RunComfy via the `runcomfy` CLI. Routes across ByteDance OmniHuman (audio-driven full-body avatar), Wan-AI Wan 2-7 (audio-driven mouth sync via `audio_url` on a portrait), HappyHorse 1.0 (Arena #1 t2v / i2v with in-pass audio), and Seedance v2 Pro (multi-modal cinematic with reference audio + reference subject). Picks the right model for the user's actual intent — UGC voiceover, virtual presenter, dubbed product demo, lip-synced...
videocreativemedia
nano-banana-edit
runcomfy-com
We need to translate the given text from English to Thai. The text describes an agent skill for editing images using Google Nano Banana 2 on RunComfy. It mentions strengths, schema, routing alternatives, and CLI command. The name "nano-banana-edit" is preserved but not included unless in source. The source text includes "nano-banana-edit" as part of the directory item type? Actually the instruction says "Name to preserve: nano-banana-edit" but the text inside <text> does not contain that exact string. It contains "Nano Banana Edit", "nano banana edit", etc. So we should preserve those as proper names. Also preserve "Google Nano Banana 2", "RunComfy", "GPT Image 2 edit", "Flux Kontext", "Nano Banana 2 t2i", "runcomfy run google/nano-banana-2/edit", "CLI". Translate the rest naturally. Let's translate sentence by sentence. "Edit images with Google Nano Banana 2 (image-to-image edit endpoint
creativeimageapi
wan-2-7
runcomfy-com
We need to translate the given text from English to Thai. The text describes a directory item for an agent skill related to "wan-2-7". The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. Also, do not include the name unless it appears in the source text. The name "wan-2-7" appears in the source text, so we should keep it as is. Also, "Wan 2.7", "Wan-AI", "RunComfy", "HappyHorse 1.0", "Seedance 2.0", "Kling", "LTX 2", "runcomfy run wan-ai/wan-2-7/text-to-video", "CLI", "audio_url" are technical terms or product names to preserve. The text also includes a list of triggers: "wan", "wan 2.7", "wan-2-7", "wan video", or any... (the ellipsis indicates continuation, but we translate as is). We
creativevideomedia
lipsync
runcomfy-com
Lip-sync a face to a specific audio track on RunComfy via the `runcomfy` CLI. Routes across ByteDance OmniHuman (audio-driven full-body avatar from a portrait + audio), Sync Labs sync v2 / Pro (state-of-the-art mouth sync onto a video), Kling lipsync (audio-to- video and text-to-video with synced speech), and Creatify lipsync. The skill picks the right endpoint for the user's actual intent — portrait still + audio (avatar-style), source video + audio (mouth- swap on existing footage), or...
creativevideomedia