{ "last_node_id": 5, "last_link_id": 4, "nodes": [ { "id": 1, "type": "VHS_LoadVideo", "pos": [100, 200], "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": "AUDIO", "links": null}, {"name": "video_info", "type": "VHS_VIDEOINFO", "links": null} ], "properties": {"Node name for S&R": "VHS_LoadVideo"}, "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, "type": "VideoToMeshes", "pos": [500, 200], "size": [280, 180], "flags": {}, "order": 1, "mode": 0, "inputs": [ {"name": "images", "type": "IMAGE", "link": 1} ], "outputs": [ {"name": "mesh_sequence", "type": "TRELLIS_MESH_SEQUENCE", "links": [2], "slot_index": 0} ], "properties": {"Node name for S&R": "VideoToMeshes"}, "widgets_values": { "frame_skip": 5, "max_frames": 0, "resolution": "1024", "remove_background": true, "seed": 0 } }, { "id": 3, "type": "CameraTrajectory_T2", "pos": [500, 450], "size": [280, 350], "flags": {}, "order": 2, "mode": 0, "outputs": [ {"name": "camera_trajectory", "type": "CAMERA_TRAJECTORY", "links": [3], "slot_index": 0} ], "properties": {"Node name for S&R": "CameraTrajectory_T2"}, "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, "type": "MeshSequenceRenderer", "pos": [900, 280], "size": [280, 260], "flags": {}, "order": 3, "mode": 0, "inputs": [ {"name": "mesh_sequence", "type": "TRELLIS_MESH_SEQUENCE", "link": 2}, {"name": "camera_trajectory", "type": "CAMERA_TRAJECTORY", "link": 3} ], "outputs": [ {"name": "rendered_video", "type": "IMAGE", "links": [4], "slot_index": 0} ], "properties": {"Node name for S&R": "MeshSequenceRenderer"}, "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, "type": "VHS_VideoCombine", "pos": [1300, 280], "size": [300, 300], "flags": {}, "order": 4, "mode": 0, "inputs": [ {"name": "images", "type": "IMAGE", "link": 4} ], "outputs": [ {"name": "Filenames", "type": "VHS_FILENAMES", "links": null} ], "properties": {"Node name for S&R": "VHS_VideoCombine"}, "widgets_values": { "frame_rate": 30, "loop_count": 0, "filename_prefix": "trellis2_shifted", "format": "video/h264-mp4", "pingpong": false, "save_output": true } } ], "links": [ [1, 1, 0, 2, 0, "IMAGE"], [2, 2, 0, 4, 0, "TRELLIS_MESH_SEQUENCE"], [3, 3, 0, 4, 1, "CAMERA_TRAJECTORY"], [4, 4, 0, 5, 0, "IMAGE"] ], "groups": [ { "title": "1. Load Video", "bounding": [50, 100, 400, 400], "color": "#3f789e" }, { "title": "2. Process & Configure Camera", "bounding": [460, 100, 380, 750], "color": "#8f5e8e" }, { "title": "3. Render & Export", "bounding": [860, 180, 800, 450], "color": "#5e8f6e" } ], "config": {}, "extra": { "info": { "name": "Video Angle Shift (TRELLIS2)", "description": "Process video frames through TRELLIS2 and render from shifted camera angle.", "author": "ComfyUI-TRELLIS2_Motion", "version": "1.0" } }, "version": 0.4 }