fix(media-selection): update error messages to reflect new media source options for clarity fix(llm_studio_structured.py): increase max_tokens default value to accommodate larger inputs test(redgifs): add unit tests for downloading media from Redgifs to ensure functionality and error handling test: add tests for direct download functionality from Redgifs to ensure reliability and correctness of media selection docs: update MediaSelection documentation to include support for direct Redgifs URLs in media sourcing options
ComfyUI-SwissArmyKnife Developer Documentation
Welcome to the ComfyUI-SwissArmyKnife developer documentation!
Documentation Audience
This directory (dev-docs/) is for developers and contributors. It contains:
- Technical implementation details
- Architecture decisions
- Troubleshooting guides
- Infrastructure documentation
- Integration guides
Looking for user documentation? End users should refer to:
- In ComfyUI: Right-click any node → View Help (displays
web/docs/NodeName.md) web/docs/: User-facing help pages with parameters, usage tips, and examples
📁 Documentation Structure
📁 Documentation Structure
🎬 Nodes (/nodes)
Core custom nodes that extend ComfyUI functionality:
video-metadata(retired November 30, 2025) - FFmpeg metadata helper removed from the repo- lm-studio-describe - Structured LM Studio describe nodes with JSON outputs
- reddit-media - Reddit and RedGifs media extraction and processing
- media-selection - Media source selection and management
- control-panel - Workflow information dashboard display
- prompt-builder - Compose structured describe overrides with previewable prompt strings
- lora-info-extractor - Hash LoRA stacks, query CivitAI, and emit structured metadata
🏗️ Infrastructure (/infrastructure)
Core system components and development tools:
- caching - Caching strategies and optimization
- debug - Debug mode and logging systems
- docker - Docker setup and container configuration
- build-deploy - Build processes and publishing workflows
- SETTINGS_INTEGRATION.md - ComfyUI settings API integration for secure API key management
🔌 Integrations (/integrations)
External service integrations:
- civitai - CivitAI API integration for model metadata
- reddit - Reddit API integration (see also nodes/reddit-media)
🌐 Web JavaScript (/web-js)
Web JavaScript widgets and UI components:
- Resource Monitor - ⭐ NEW Floating HUD with live CPU/RAM/GPU/VRAM monitoring, workflow profiler, and OOM (Out of Memory) detection & analysis
- Control Panel - Dashboard widget with JSON data handling and multi-column layout
- Dimensions Display - Automatic media dimension display with troubleshooting
- Seed Widget - Randomization seed for reproducible workflows
- Widget Fixes - Visibility management, state persistence, and general fixes
📚 Examples (/examples)
Example workflows and demonstrations:
- Sample workflow JSON files
- Usage demonstrations
- Integration examples
📦 Vendoring Notes
- VENDORING.md — Tracks files copied/adapted from external projects (e.g., VACE-Annotators scribble generator) plus update instructions.
🚀 Quick Start
For Developers
- Node Development: See individual node documentation in
/nodes/[node-name]/ - Integration: Review
/integrations/for external API integration guides - Infrastructure: Consult
/infrastructure/for system-level changes - Web Widgets: Check
/web-js/for JavaScript widget development
For Users
- Node Usage: Each node folder contains usage guides and examples
- Troubleshooting: Look for troubleshooting sections in node documentation
- Examples: Check
/examples/for workflow demonstrations
📖 Documentation Conventions
Consolidated Documentation
Each node should have a single comprehensive markdown file that includes:
- Overview - What the node does
- Features - Key capabilities
- Configuration - Input/output parameters
- Usage - How to use the node
- Implementation Details - Technical specifics
- Troubleshooting - Common issues and solutions
- Related Documentation - Links to relevant docs
🔍 Finding Documentation
By Topic
- Video Processing: See
/nodes/media-selection/and/nodes/reddit-media/ - AI/ML Features: See
/nodes/lm-studio-describe/ - External APIs: Look in
/integrations/ - Performance & Monitoring: Check
/web-js/RESOURCE_MONITOR.mdfor profiling and OOM analysis - Caching: See
/infrastructure/caching/ - Debugging: Check
/infrastructure/debug/ - Web Widgets: Review
/web-js/for JavaScript UI components
📝 Contributing Documentation
When adding new documentation:
-
Choose the Right Location:
- Node-specific →
/nodes/[node-name]/ - Infrastructure →
/infrastructure/[category]/ - Integration →
/integrations/[service]/ - Web JavaScript widget →
/web-js/
- Node-specific →
-
One File Per Node: Create a single comprehensive markdown file for each node
-
Update Index Files: Add your documentation to the relevant
README.mdin the subdirectory -
Cross-Reference: Link to related documentation files
-
Include Examples: Add code snippets and usage examples
🗂️ Index Files
Each subdirectory contains a README.md that:
- Lists all documentation files in that directory
- Provides brief descriptions of each document
- Links to related documentation in other directories
- Includes quick reference guides when applicable
📊 Project Status
See the repository changelog (README) for overall project status and feature completion tracking.
🆘 Need Help?
- Search: Use your editor's search to find keywords across all docs
- Index Files: Check the
README.mdin each subdirectory - Status: Review the main README for current project state
- Examples: Look in
/examples/for working implementations
📅 Documentation Maintenance
- Regular Updates: Documentation should be updated when code changes
- Version Tracking: Include implementation dates in documentation
- One File Per Node: Keep node documentation consolidated in a single file
- Cleanup: Outdated documentation should be archived or removed
Last Updated: November 29, 2025 Documentation Structure Version: 3.1 (Added OOM Detection & Profiling System)