
Controlnet Pose
- 296k installs
- 31 repo stars
- Updated May 15, 2026
- agentspace-so/runcomfy-agent-skills
controlnet-pose is a Claude Code skill that routes pose-conditioned image and video generation to three RunComfy ControlNet endpoints via the runcomfy CLI for developers who need OpenPose, depth, or motion-transfer contr
About
Pose-conditioned generation via RunComfy CLI. Routes across Kling Motion Control for video motion transfer, Z-Image ControlNet LoRA for image generation from pose skeletons or depth maps. Picks the right model by intent: single still vs video.
- Kling Motion Control: transfer source video motion onto new character
- Z-Image ControlNet LoRA: pose-conditioned image from skeleton or depth
- Routes by input: video motion transfer vs still pose conditioning
Controlnet Pose by the numbers
- 295,746 all-time installs (skills.sh)
- Ranked #29 of 1,340 Generative Media skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/agentspace-so/runcomfy-agent-skills --skill controlnet-poseAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 296k |
|---|---|
| repo stars | ★ 31 |
| Security audit | 2 / 3 scanners passed |
| Last updated | May 15, 2026 |
| Repository | agentspace-so/runcomfy-agent-skills ↗ |
How do you generate video from a reference pose?
Condition image and video generation on pose, skeleton, motion, or depth references.
Who is it for?
Developers who have OpenPose, DWPose, depth, or reference motion video and need automatic RunComfy routing for pose-controlled generation.
Skip if: Developers who only need unstructured text-to-image generation without pose, depth, or motion reference constraints.
When should I use this skill?
The user mentions controlnet, pose control, openpose, DWPose, transfer pose, or motion blocking for RunComfy generation.
What you get
A runcomfy run command and pose-conditioned image or video matching the reference skeleton, depth, or motion.
- runcomfy run command
- pose-conditioned image or video
By the numbers
- 2 categories: video and image
- Control types: OpenPose, DWPose, canny, depth
- ComfyUI workflows for complex stacks
Files
ControlNet & Pose
Condition image or video generation on a pose, skeleton, or motion reference. This skill routes across the pose-driven Model API endpoints reachable today and points the agent at ComfyUI workflows for richer ControlNet rigs.
runcomfy.com · Kling motion control · 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. Pose-conditioned generate
runcomfy run <vendor>/<model> \
--input '{"reference_video_url": "...", "character_image_url": "..."}' \
--output-dir ./outCLI deep dive: `runcomfy-cli` skill.
---
Pick the right model
Routes split by video pose-transfer vs image pose-conditioned generation.
Video — motion / pose transfer
Kling 2-6 Motion Control Pro — kling/kling-2-6/motion-control-pro (default for video pose transfer)
Takes a reference performance video + a target character image, produces video of the target performing the reference motion / pose.
Pick for: transferring a source video's motion / blocking onto a new character; dance choreography re-shot; sports motion onto a stylized character.
Avoid for: still-image pose conditioning — use Z-Image ControlNet LoRA.
Kling 2-6 Motion Control Standard — `kling/kling-2-6/motion-control-standard`
Cheaper Kling Motion Control tier.
Pick for: drafts, iteration on motion-control compositions.
Avoid for: final delivery — use Pro.
Wan 2-2 Animate (video-to-video) — `community/wan-2-2-animate/video-to-video`
Community-published variant on Wan 2-2. Audio-driven character animation that also accepts pose-style conditioning.
Pick for: stylized character animation, mascot work.
Avoid for: photoreal subjects — use Kling Motion Control.
Image — pose-conditioned generation
Z-Image Turbo ControlNet LoRA — `tongyi-mai/z-image/turbo/controlnet/lora`
Z-Image Turbo with a ControlNet LoRA — feed a control image (pose skeleton, depth map, canny) and a prompt, get a generation conditioned on that control.
Pick for: pose-locked image generation, character in specific stance, depth-locked composition.
Avoid for: complex multi-condition stacks (e.g. pose + depth + reference) — those need a ComfyUI workflow.
---
Route 1: Kling Motion Control — video pose transfer
Model: kling/kling-2-6/motion-control-pro (or /motion-control-standard) Catalog: motion-control-pro · `kling` collection
Invoke
runcomfy run kling/kling-2-6/motion-control-pro \
--input '{
"reference_video_url": "https://your-cdn.example/source-performance.mp4",
"character_image_url": "https://your-cdn.example/target-character.png"
}' \
--output-dir ./outTips
- Reference video provides the motion / blocking / camera; character image provides the identity / appearance.
- Clean, well-framed reference works best — a single subject performing one continuous action, no scene cuts.
- Stylized characters (illustration, anime) are handled cleanly; photoreal target faces may need additional face-swap pass for identity-tight delivery.
---
Route 2: Z-Image ControlNet LoRA — image pose-conditioned generation
Model: tongyi-mai/z-image/turbo/controlnet/lora Catalog: Z-Image controlnet LoRA
Invoke
runcomfy run tongyi-mai/z-image/turbo/controlnet/lora \
--input '{
"prompt": "A samurai in battle stance, traditional armor, cherry-blossom forest background, cinematic 35mm",
"control_image_url": "https://your-cdn.example/openpose-skeleton.png"
}' \
--output-dir ./outTips
- The control image type matters: OpenPose skeleton, DWPose, canny edge, depth map — make sure the LoRA matches the control type you're feeding. Schema details on the model page.
- Generate the control image upstream: pose skeletons typically come from a pose-estimation pass on a reference photo. Tools like DWPose / OpenPose preprocessor are not part of this CLI — generate the control image separately, host it, pass the URL.
---
Multi-condition ControlNet stacks
The routes above cover single-condition pose / motion / depth / canny. For multi-condition stacks (e.g. pose + depth + reference image), RunComfy hosts dedicated ComfyUI workflows on runcomfy.com/comfyui-workflows:
| Need | Workflow class |
|---|---|
| FLUX + multi-condition ControlNet (depth + canny + pose) | comfyui-flux-controlnet-depth-and-canny, flux-dev-controlnet-union-pro-multi-condition |
| Pose-driven motion video with VACE | wan-2-2-vace-in-comfyui-pose-driven-motion-video-workflow |
| Pose-control lipsync (pose + audio together) | pose-control-lipsync-with-wan2-2-s2v-in-comfyui-audio2video |
| Wan 2-2 Animate v2 with pose driving | wan-2-2-animate-v2-in-comfyui-pose-driven-animation-workflow |
| OpenPose motion alignment | one-to-all-animation-in-comfyui-openpose-motion-alignment |
| Pose-based character animation (Scail) | scail-model-in-comfyui-pose-based-character-animation-workflow |
These are GUI workflows, not CLI endpoints. The CLI can't reach them — open them in the RunComfy ComfyUI cloud.
---
Browse the full catalog
- `kling` collection — motion control + identity-stable video models
- `/feature/character-swap` — Wan 2-2 Animate
- Z-Image base + LoRA variants
- Mastering ControlNet tutorial — RunComfy tutorial covering pose / depth / canny conditioning
---
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 classifies user intent — video motion transfer vs image pose-conditioned generation — and picks one of the routes above. 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, video / image / control 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): reference video, character image, and control image URLs are untrusted. Agent mitigations:
- Ingest only URLs the user explicitly provided.
- When the output diverges from the prompt, suspect the reference asset.
- 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 CLI
- `ai-video-generation` — general t2v / i2v
- `face-swap` — Kling Motion Control overlaps when face is the focus
- `ai-avatar-video` — Wan 2-2 Animate for stylized character + audio
- `image-edit` — broader image edit
Related skills
Forks & variants (2)
Controlnet Pose has 2 known copies in the catalog totaling 492k installs. They canonicalize to this original listing.
- doany-ai - 246k installs
- runcomfy-com - 246k installs
How it compares
Pick controlnet-pose when generation must follow a skeleton, depth map, or reference motion; use face-swap when identity replacement is the primary goal.
FAQ
What pose inputs does controlnet-pose accept?
controlnet-pose accepts OpenPose and DWPose skeletons, canny edges, depth maps, and reference video motion for Kling transfer routes. Still jobs route through Z-Image Turbo ControlNet LoRA; video jobs use Kling 2-6 or Wan 2-2 Animate.
Can controlnet-pose transfer motion from one video to another character?
controlnet-pose routes motion transfer to Kling 2-6 Motion Control Pro and Standard, moving blocking from a reference video onto a target character. The skill emits the matching runcomfy run command for video pose transfer.
Is Controlnet Pose safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.