Files
Bharat Shetty Barkur c24152d9ea Initial release v0.1.0: ComfyUI StoryMem Nodes
- Add 10 ComfyUI nodes for multi-shot video storytelling
- Integrate StoryMem repository via git submodule
- Implement memory-conditioned video generation (T2V, M2V, MI2V, MM2V)
- Add sliding window memory buffer system
- Include comprehensive documentation (README, INTEGRATION, EXAMPLES)
- Add model download script and configuration
- Support VRAM optimization with model offloading
- Provide tensor format conversion utilities
- Include test suite for memory buffer

Features:
- Shot-level node architecture for maximum flexibility
- Memory management with sliding window strategy
- Three generation modes (M2V, MI2V, MM2V)
- Automatic keyframe extraction
- Scene cut detection and handling
- Configurable quality settings
- Fallback mode without full integration

Documentation:
- README.md: User guide with installation and usage
- INTEGRATION.md: Technical integration guide
- EXAMPLES.md: Workflow examples and best practices
- CHANGELOG.md: Version history

Requirements:
- Models: ~40-60GB storage, 80GB VRAM (or 24GB+ with offloading)
- Python 3.10+, PyTorch 2.4.0+, ComfyUI

See CHANGELOG.md for complete details.
2025-12-25 10:32:00 +05:30

59 lines
1.8 KiB
Python

"""
ComfyUI StoryMem Custom Nodes
Multi-shot long video storytelling with memory-conditioned video diffusion models.
Wraps the StoryMem repository (https://github.com/Kevin-thu/StoryMem) for use in ComfyUI.
"""
from .nodes.loader_nodes import StoryMemModelLoader
from .nodes.memory_nodes import StoryMemMemoryBuffer, StoryMemUpdateMemory
from .nodes.shot_nodes import StoryMemFirstShot, StoryMemContinuationShot
from .nodes.utility_nodes import (
StoryMemMemoryVisualizer,
StoryMemVideoCombine,
StoryMemGetMotionFrames,
StoryMemInfo,
)
# Node class mappings for ComfyUI registration
NODE_CLASS_MAPPINGS = {
# Model loading
"StoryMemModelLoader": StoryMemModelLoader,
# Memory management
"StoryMemMemoryBuffer": StoryMemMemoryBuffer,
"StoryMemUpdateMemory": StoryMemUpdateMemory,
# Shot generation
"StoryMemFirstShot": StoryMemFirstShot,
"StoryMemContinuationShot": StoryMemContinuationShot,
# Utilities
"StoryMemMemoryVisualizer": StoryMemMemoryVisualizer,
"StoryMemVideoCombine": StoryMemVideoCombine,
"StoryMemGetMotionFrames": StoryMemGetMotionFrames,
"StoryMemInfo": StoryMemInfo,
}
# Display names for nodes in ComfyUI
NODE_DISPLAY_NAME_MAPPINGS = {
# Model loading
"StoryMemModelLoader": "StoryMem Model Loader",
# Memory management
"StoryMemMemoryBuffer": "StoryMem Memory Buffer",
"StoryMemUpdateMemory": "StoryMem Update Memory",
# Shot generation
"StoryMemFirstShot": "StoryMem First Shot",
"StoryMemContinuationShot": "StoryMem Continuation Shot",
# Utilities
"StoryMemMemoryVisualizer": "StoryMem Memory Visualizer",
"StoryMemVideoCombine": "StoryMem Video Combine",
"StoryMemGetMotionFrames": "StoryMem Get Motion Frames",
"StoryMemInfo": "StoryMem Info",
}
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']