- Create MetaManLoadImage node that loads images with metadata preserved
- Extracts ComfyUI workflow/prompt data directly from PNG files
- Returns both image tensor and metadata JSON
- Update MetaManUniversalNodeV2 to accept optional metadata_json input
- Prioritize metadata from load image node over PIL extraction
- Register new node in both metaman.py and __init__.py
Solves metadata stripping issue by reading files before ComfyUI processing.
- Implement _try_read_original_file() to search for source PNG files
- Search ComfyUI input/output/temp directories for matching images
- Match files by dimensions and modification time
- Open original files directly with PIL to preserve PNG chunks
- Extract ComfyUI workflow/prompt metadata from original files
- Fallback when ComfyUI processed images have no metadata
Fixes issue where Load Image node strips PNG text chunks.
- Show image type, mode, format, size details
- Check for filename attribute from file loading
- Show PNG chunk sizes and content info
- Try alternative image.info access for metadata
- Identify potential metadata in different locations
Debug why PNG text chunks are not being found.
BREAKING CHANGE: Simplified node interface for better usability
Changes:
- Removed complex operation dropdown - node now has single focused purpose
- Reduced inputs to just: image + target_service selection
- Streamlined outputs to: processed image + comprehensive JSON metadata
- Integrated Civitai API for real-time dependency resolution
- Automatic metadata embedding in target service format
- Single workflow: extract → convert → embed → return
Features:
✅ Automatic source service detection
✅ Universal metadata conversion
✅ Target service format embedding in PNG chunks
✅ Live Civitai dependency lookup with download URLs
✅ Comprehensive JSON output with all conversion data
✅ Proper rate limiting for API calls
Technical improvements:
- Real Civitai API integration with hash matching
- Intelligent PNG chunk embedding per service
- Enhanced error handling with JSON error responses
- Optimized workflow for single-purpose efficiency
The node is now much simpler to use while providing more powerful functionality.
- Updated all type hints to use built-in types (dict, list, tuple) instead of typing imports
- Removed Dict, List, Tuple from typing imports since they're not needed in Python 3.10+
- Fixed NameError: name 'Dict' is not defined in specialized_nodes.py
- Modernized type annotations throughout codebase for better compatibility
- Resolves ComfyUI import error when loading MetaMan nodes
Files updated:
- specialized_nodes.py: Fixed all Dict/List/Tuple type hints
- metaman.py: Updated type annotations to modern syntax
- metadata_parser.py: Modernized type hints for consistency
Tested: ✅ Nodes now load successfully in ComfyUI without import errors
- Universal metadata extraction and conversion across AI platforms
- Support for A1111, ComfyUI, Civitai, Forge, Tensor.AI, Leonardo.AI
- Template-driven architecture for easy platform extension
- Model dependency resolution with download URLs
- Custom 'meta' PNG chunk standard for cross-platform compatibility
- Comprehensive validation and testing system