Files
marcoc2-ComfyUI-AnotherUtils/scratch/final_compare.py
T
Marco 793402f93f feat: add LTXV Multi Concat nodes and metadata extraction image loaders
This commit introduces several new performance-oriented custom nodes and utilities:

- Added LTXV Multi Concat and LTXV Multi Concat (beta) for faster frame injection using latent inpainting logic.

- Refactored LTXV index resolution logic into ltxv_utils.py.

- Updated ImageListSampler to anchor edge frames properly and support output index normalization scaling via target_frames.

- Added metadata-based prompt extraction image loaders (LoadImageAndExtractPrompt, FolderImageAndExtractPrompt, and FolderImageMetadataByName).

- Included animation tracking and camera switcher nodes.
2026-04-15 15:55:48 -03:00

44 lines
1.8 KiB
Python

import json
def find_all(obj, search_keys, results):
if isinstance(obj, dict):
for k, v in obj.items():
if k in search_keys:
if k not in results: results[k] = []
results[k].append(v)
if isinstance(v, str) and (v.endswith('.safetensors') or v.endswith('.gguf')):
if 'models' not in results: results['models'] = []
results['models'].append(v)
find_all(v, search_keys, results)
elif isinstance(obj, list):
for item in obj:
find_all(item, search_keys, results)
def analyze(path):
print(f"\n--- Analysis for {path} ---")
with open(path, 'r', encoding='utf-8') as f:
data = json.load(f)
results = {}
# Common keys for steps and resolution
keys = ['steps', 'width', 'height', 'frame_count', 'frames', 'denoise', 'batch_size']
find_all(data, keys, results)
for k, v in results.items():
print(f"{k}: {list(set(str(i) for i in v))}")
# Specific check for nodes widgets
if 'nodes' in data:
for node in data['nodes']:
if node.get('type') == 'EmptyLTXVLatentVideo':
print(f"EmptyLTXVLatentVideo: {node.get('widgets_values')}")
if node.get('type') == 'LTXVScheduler':
print(f"LTXVScheduler: {node.get('widgets_values')}")
if node.get('type') == 'SamplerCustomAdvanced':
print(f"SamplerCustomAdvanced: {node.get('widgets_values')}")
if node.get('type') == 'UnetLoaderGGUF':
print(f"UnetLoaderGGUF: {node.get('widgets_values')}")
analyze('F:/AppsCrucial/ComfyUI_phoenix3/ComfyUI/custom_nodes/reference/multiframe/LTX23_MULTIFRAME.json')
analyze('F:/AppsCrucial/ComfyUI_phoenix3/ComfyUI/custom_nodes/reference/multiframe/LTX23_MULTIFRAME_GUIDE.json')