Kimodo Render Rive Skinned Character
Watch a real Rive character do what you typed
- motion
- video_mp4
- preview_gif
- asset_zip
Every other node in this pack shows you a skeleton or hands you files for another tool. Kimodo Render Rive Skinned Character is the one that makes you a video of an actual character doing the generated motion - it takes an authored, weighted .riv character (2D, skinned, with bones), drives it with the Kimodo motion through Rive's real runtime, and renders MP4 + GIF out. It's the node you reach for when you want to see the result instead of the plumbing.
The great news: it runs out of the box
The rive_skin_path default is builtin:Zombie_Character.riv and bone_mapping_json defaults to builtin:zombie-kimodo-map.json - the pack ships a redistributable, MIT-licensed Rive Zombie skin with a pre-made bone map. Wire up the standard chain (Load Model → Text Encode → Sampler → this node), leave the builtins, and queue. You get a zombie doing your prompt with zero asset work. That's unusually generous for a pack like this and it's the fastest way to see what the whole thing is for.
Inputs that matter
motion- from the sampler (add Kimodo Post Process first for clean feet).rive_skin_path-builtin:for the demo, or your own authored, weighted.rivunderComfyUI/input/rive/(e.g.rive/MyCharacter.riv) or an absolute path.bone_mapping_json- maps target Rive bone names to Kimodo joints. Leave builtin for the Zombie; for a new rig you write a JSON mapping like"hips": "pelvis","body": ["spine1", "spine2", "spine3"], … If bone names don't match, the character won't animate - this is the file to edit.view(front/side),pixels_per_meter,include_root_motion, and render resolutionwidth/height(default 720²) round it out.
Outputs: video_mp4, preview_gif, and asset_zip (a reusable bundle with the skin, motion JSON, and bone map).
The mechanism and its prerequisites
The .riv file is never rewritten. Instead, the pack loads it through the official Rive Canvas Advanced runtime, then drives the character's existing weighted bones with the projected Kimodo track. Because it renders for real (not a stick figure), it needs the browser stack the other Rive node hints at: Node.js 18+ with npm, ffmpeg/ffprobe on PATH, and a Chromium browser - Playwright Chromium is supported. The pack's install.py runs npm ci for the runtime; if you skipped install steps, rendering fails with a "npm not found" or missing-Chromium error while the rest of the pack works fine. Core generation doesn't need any of this; this node does.
Honest caveats
- It's still a 2D projection. Front-view characters can't convincingly twist or turn around from 3D motion alone - that requires authored views or state-machine art swaps in Rive, per the README.
- New rigs = new bone map. The Zombie works instantly; your own character needs a
bone_mapping_jsonthat matches its actual bone names, which is fiddly the first time.
If you want the single most "whoa, it works" demo from the Kimodo pack - type a sentence, get a video of a zombie walking and waving - this is the node.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| motion | KIMODO_MOTION | — | |
| rive_skin_path | STRING | builtin:Zombie_Character.riv | Authored and weighted .riv skin; builtin: uses the packaged demo |
| filename_prefix | STRING | kimodo_rive_character | — |
| sample_index | INT | 00–15 | — |
| view | COMBO | front | 2 options: front, side |
| bone_mapping_jsonopt | STRING | builtin:zombie-kimodo-map.json | Target Rive bone -> Kimodo bone name(s). |
| pixels_per_meteropt | FLOAT | 240.001–2000 | — |
| include_root_motionopt | BOOLEAN | true | — |
| widthopt | INT | 720128–2048 | — |
| heightopt | INT | 720128–2048 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video_mp4 | STRING | — |
| preview_gif | STRING | — |
| asset_zip | STRING | — |