From c19aceef5a2403ec6f25c60f9bc6260cfa3f4435 Mon Sep 17 00:00:00 2001 From: styletransfer Date: Sun, 21 Dec 2025 10:40:18 -0500 Subject: [PATCH] Fix workflow JSON widgets_values format for VHS nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed widgets_values from array format to object format with explicit key-value pairs. This fixes ComfyUI validation errors where values were being parsed in wrong order (e.g., "True" instead of "video/h264-mp4"). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- workflows/onion_skinning_demo.json | 88 ++++++++++++++++++++++-------- workflows/video_angle_shift.json | 76 ++++++++++++++++++-------- 2 files changed, 119 insertions(+), 45 deletions(-) diff --git a/workflows/onion_skinning_demo.json b/workflows/onion_skinning_demo.json index 9700504..a12e836 100644 --- a/workflows/onion_skinning_demo.json +++ b/workflows/onion_skinning_demo.json @@ -1,22 +1,32 @@ { - "last_node_id": 7, - "last_link_id": 6, + "last_node_id": 6, + "last_link_id": 5, "nodes": [ { "id": 1, "type": "VHS_LoadVideo", "pos": [100, 200], - "size": [300, 250], + "size": [300, 310], "flags": {}, "order": 0, "mode": 0, "outputs": [ {"name": "IMAGE", "type": "IMAGE", "links": [1], "slot_index": 0}, {"name": "frame_count", "type": "INT", "links": null}, - {"name": "audio", "type": "VHS_AUDIO", "links": null} + {"name": "audio", "type": "AUDIO", "links": null}, + {"name": "video_info", "type": "VHS_VIDEOINFO", "links": null} ], "properties": {"Node name for S&R": "VHS_LoadVideo"}, - "widgets_values": ["input_video.mp4", "video", 0, false, true, 30] + "widgets_values": { + "video": "input_video.mp4", + "force_rate": 0, + "force_size": "Disabled", + "custom_width": 0, + "custom_height": 0, + "frame_load_cap": 0, + "skip_first_frames": 0, + "select_every_nth": 1 + } }, { "id": 2, @@ -33,7 +43,13 @@ {"name": "mesh_sequence", "type": "TRELLIS_MESH_SEQUENCE", "links": [2], "slot_index": 0} ], "properties": {"Node name for S&R": "VideoToMeshes"}, - "widgets_values": [3, 0, "1024", true, 0] + "widgets_values": { + "frame_skip": 3, + "max_frames": 0, + "resolution": "1024", + "remove_background": true, + "seed": 0 + } }, { "id": 3, @@ -47,20 +63,20 @@ {"name": "camera_trajectory", "type": "CAMERA_TRAJECTORY", "links": [3], "slot_index": 0} ], "properties": {"Node name for S&R": "CameraTrajectory_T2"}, - "widgets_values": [ - "static", - 20.0, - -15.0, - 0.0, - 2.5, - 60.0, - 0.0, - 0.0, - 0.0, - false, - 30.0, - "y" - ] + "widgets_values": { + "trajectory_type": "static", + "angle_x": 20.0, + "angle_y": -15.0, + "angle_z": 0.0, + "distance": 2.5, + "fov": 60.0, + "center_x": 0.0, + "center_y": 0.0, + "center_z": 0.0, + "animate": false, + "animation_range": 30.0, + "animation_axis": "y" + } }, { "id": 4, @@ -78,7 +94,16 @@ {"name": "rendered_video", "type": "IMAGE", "links": [4], "slot_index": 0} ], "properties": {"Node name for S&R": "MeshSequenceRenderer"}, - "widgets_values": [1920, 1080, "pbr", "#000000", "studio", false, 3, 5] + "widgets_values": { + "output_width": 1920, + "output_height": 1080, + "render_mode": "pbr", + "background_color": "#000000", + "lighting_preset": "studio", + "enable_onion_skin": false, + "onion_skin_frames": 3, + "onion_skin_interval": 5 + } }, { "id": 5, @@ -95,7 +120,17 @@ {"name": "onion_skinned", "type": "IMAGE", "links": [5], "slot_index": 0} ], "properties": {"Node name for S&R": "OnionSkinning"}, - "widgets_values": [3, 5, 0.3, "linear", "tinted", "#0066FF", "#FF6600", false, "over"] + "widgets_values": { + "ghost_count": 3, + "frame_interval": 5, + "ghost_opacity": 0.3, + "opacity_falloff": "linear", + "ghost_color_mode": "tinted", + "past_tint": "#0066FF", + "future_tint": "#FF6600", + "include_future": false, + "blend_mode": "over" + } }, { "id": 6, @@ -112,7 +147,14 @@ {"name": "Filenames", "type": "VHS_FILENAMES", "links": null} ], "properties": {"Node name for S&R": "VHS_VideoCombine"}, - "widgets_values": ["trellis2_onion_skin", 30, "video/h264-mp4", true, true, ""] + "widgets_values": { + "frame_rate": 30, + "loop_count": 0, + "filename_prefix": "trellis2_onion_skin", + "format": "video/h264-mp4", + "pingpong": false, + "save_output": true + } } ], "links": [ diff --git a/workflows/video_angle_shift.json b/workflows/video_angle_shift.json index 0086f5a..69381e9 100644 --- a/workflows/video_angle_shift.json +++ b/workflows/video_angle_shift.json @@ -1,22 +1,32 @@ { - "last_node_id": 6, - "last_link_id": 5, + "last_node_id": 5, + "last_link_id": 4, "nodes": [ { "id": 1, "type": "VHS_LoadVideo", "pos": [100, 200], - "size": [300, 250], + "size": [300, 310], "flags": {}, "order": 0, "mode": 0, "outputs": [ {"name": "IMAGE", "type": "IMAGE", "links": [1], "slot_index": 0}, {"name": "frame_count", "type": "INT", "links": null}, - {"name": "audio", "type": "VHS_AUDIO", "links": null} + {"name": "audio", "type": "AUDIO", "links": null}, + {"name": "video_info", "type": "VHS_VIDEOINFO", "links": null} ], "properties": {"Node name for S&R": "VHS_LoadVideo"}, - "widgets_values": ["input_video.mp4", "video", 0, false, true, 30] + "widgets_values": { + "video": "input_video.mp4", + "force_rate": 0, + "force_size": "Disabled", + "custom_width": 0, + "custom_height": 0, + "frame_load_cap": 0, + "skip_first_frames": 0, + "select_every_nth": 1 + } }, { "id": 2, @@ -33,7 +43,13 @@ {"name": "mesh_sequence", "type": "TRELLIS_MESH_SEQUENCE", "links": [2], "slot_index": 0} ], "properties": {"Node name for S&R": "VideoToMeshes"}, - "widgets_values": [5, 0, "1024", true, 0] + "widgets_values": { + "frame_skip": 5, + "max_frames": 0, + "resolution": "1024", + "remove_background": true, + "seed": 0 + } }, { "id": 3, @@ -47,20 +63,20 @@ {"name": "camera_trajectory", "type": "CAMERA_TRAJECTORY", "links": [3], "slot_index": 0} ], "properties": {"Node name for S&R": "CameraTrajectory_T2"}, - "widgets_values": [ - "orbit", - 15.0, - 0.0, - 0.0, - 2.5, - 60.0, - 0.0, - 0.0, - 0.0, - true, - 30.0, - "y" - ] + "widgets_values": { + "trajectory_type": "orbit", + "angle_x": 15.0, + "angle_y": 0.0, + "angle_z": 0.0, + "distance": 2.5, + "fov": 60.0, + "center_x": 0.0, + "center_y": 0.0, + "center_z": 0.0, + "animate": true, + "animation_range": 30.0, + "animation_axis": "y" + } }, { "id": 4, @@ -78,7 +94,16 @@ {"name": "rendered_video", "type": "IMAGE", "links": [4], "slot_index": 0} ], "properties": {"Node name for S&R": "MeshSequenceRenderer"}, - "widgets_values": [1920, 1080, "pbr", "#000000", "studio", false, 3, 5] + "widgets_values": { + "output_width": 1920, + "output_height": 1080, + "render_mode": "pbr", + "background_color": "#000000", + "lighting_preset": "studio", + "enable_onion_skin": false, + "onion_skin_frames": 3, + "onion_skin_interval": 5 + } }, { "id": 5, @@ -95,7 +120,14 @@ {"name": "Filenames", "type": "VHS_FILENAMES", "links": null} ], "properties": {"Node name for S&R": "VHS_VideoCombine"}, - "widgets_values": ["trellis2_shifted", 30, "video/h264-mp4", true, true, ""] + "widgets_values": { + "frame_rate": 30, + "loop_count": 0, + "filename_prefix": "trellis2_shifted", + "format": "video/h264-mp4", + "pingpong": false, + "save_output": true + } } ], "links": [