Extensions/VRGameDevGirl Video Enhancement Nodes
ComfyUI Extension

VRGameDevGirl Video Enhancement Nodes

Film grain and color match nodes designed for high-quality frame-by-frame video enhancement in ComfyUI.

By vrgamegirl19·Created about a year ago·Updated 17 days ago· 533
vrgamegirl19/comfyui-vrgamedevgirl
Nodes164
On cloudLocal install
Categoryaudio/rhythm, video/enhancement
Stars533
Updated17 days ago

Nodes (164)

BeatImpactAnalysisNode
audio/rhythm
Beat-Aligned Scene Durations
audio/rhythm
🎨 Color Match To Reference
video/enhancement
🎞️ Fast Film Grain
video/enhancement
🌀 Fast Laplacian Sharpen
video/enhancement
📏 Fast Sobel Sharpen
video/enhancement
🎯 Fast Unsharp Sharpen
video/enhancement
Image From Folder (Index)
image
Image From Folder (Index For Remake Mode)
image
SRTLyricsMerger
Text
VRGDG_ArchiveLlmBatchFolders
VRGDG/General
✂️ VRGDG Audio Crop
audio
VRGDG_AudioCropTime
audio
VRGDG_AudioDelayByIndex
VRGDG
VRGDG_BoxIT
VRGDG/General
VRGDG Build Video Output Path (General)
VRGDG
VRGDG Build Video Output Path (General_SRT)
VRGDG
🎧 VRGDG_CalculateSetsFromAudio
utils/audio
VRGDG_CalculateSetsFromAudio_Queue
utils/audio
VRGDG_CleanAudio
VRGDG/Audio
🌀 VRGDG_CombinevideosV2
Video
🎬 VRGDG Combine Videos V3
Video
VRGDG_CombinevideosV5
Video
🎞️ VRGDG_ConditionalLoadVideos
Video
VRGDG_CreateFinalVideo
Video
VRGDG_CreateFinalVideo_SRT
Video
VRGDG_CreateSilentAudio
VRGDG/Audio
VRGDG Cycling Text Picker
VRGDG/General
VRGDG_DisplayIndex
utils
VRGDG_DurationIndexFloat
audio
VRGDG Easy Multi Cycling Text Picker
VRGDG/General
🎞️ VRGDG_Extract_Frame_Number
image
Face Fix - Composite Repaired Video
VRGameDevGirl/Face Fix
Face Fix - Create Cropped Face Video
VRGameDevGirl/Face Fix
Face Fix - Load Anchors (Meta Batch)
VRGameDevGirl/Face Fix
Face Fix - Collect LTX Inputs
VRGameDevGirl/Face Fix
Face Fix - Prepare Video and Anchors
VRGameDevGirl/Face Fix
Face Fix - Store Enhanced Anchors
VRGameDevGirl/Face Fix
🧠 VRGDG General GGUF 🧠
VRGDG/LLM
VRGDG_GeneralPromptBatcher
VRGDG/General
🧠 VRGDG General VLM 🧠
VRGDG/LLM
VRGDG_GetAudioFilePath
VRGDG/Audio
📂 VRGDG Get File name Prefix
utils/files
🔢 VRGDG Get Index Number
utils
VRGDG_GetRunIndexFromJson
VRGDG
VRGDG_GetStems
VRGDG/Audio
VRGDG_HumoReminderNode
utils
VRGDG_ImageIndex0HUMOEDIT
VRGDG/General
VRGDG Image Switch (Index Map)
VRGDG/Switch
VRGDG Image Switch (1-4)
VRGDG/Switch
VRGDG Image Switch (Multi Dynamic)
VRGDG/Switch
VRGDG Image Switch (Multi Dynamic 002)
VRGDG/Switch
VRGDG_IndexedPromptChunker
VRGDG
VRGDG_IndexedPromptChunkerV2
VRGDG
VRGDG_IntToFloat
VRGDG/General
VRGDG_IntToString
VRGDG/General
VRGDG_Json2String
VRGDG/General
VRGDG Latest SRT Auto Loader
VRGDG
🩺 VRGDG Llama CPP Doctor 🩺
VRGDG/LLM
🤖 VRGDG LLM Multi 🤖
VRGDG/NanoBananaPro
VRGDG_LLM_OutputSaver
VRGDG/LLM
VRGDG_LLM_PromptBatcher
VRGDG/LLM
VRGDG_LoadAudioFilePath
VRGDG/General
VRGDG_LoadAudioSplitDynamic
VRGDG
VRGDG Load Audio Split (General)
VRGDG
VRGDG_LoadAudioSplit_HUMO
VRGDG
VRGDG_LoadAudioSplit_HUMO_Transcribe
VRGDG
🗣️ VRGDG_LoadAudioSplit_HUMO_TranscribeV2
VRGDG
🎙️ VRGDG Load Audio Split HUMO Transcribe V3
VRGDG
VRGDG_LoadAudioSplit_SRTOnly
VRGDG
VRGDG_LoadAudioSplitUpload
VRGDG
VRGDG_LoadAudioSplit_Wan22HumoFMML
VRGDG
VRGDG_LoadAudioWithPath
VRGDG/Audio
VRGDG_LoadLatestCombinedJsonText
VRGDG/General
VRGDG_LoadText
VRGDG/General
VRGDG_LoadTextAdvanced
VRGDG/General
VRGDG_LoadVideos
Video
💻 VRGDG Local LLM 💻
VRGDG/NanoBananaPro
VRGDG LTX Audio Only LoRA Train Chunk
VRGDG/Training
VRGDG LTX Audio Video LoRA Train Chunk
VRGDG/Training
VRGDG LTX IC Ingredients Grid
VRGDG/LTX
VRGDG LTX LoRA Train Chunk
VRGDG/Training
VRGDG LTX Preview XYZ Plot
VRGDG/Training
VRGDG_LUTS
VRGDG/IV Adjustments
VRGDG_LyricSegmentDurationMerger
VRGDG/General
VRGDG_LyricSegmentJsonFixer
VRGDG/General
VRGDG Lyric Segment Text Cleaner
VRGDG/General
VRGDG_LyricsEmotionMerger
VRGDG
VRGDG_MakeLUT
VRGDG/IV Adjustments
🌀 VRGDG_ManualLyricsExtractor
VRGDG
Manual Lyrics Extractor (SRT Segments)
VRGDG
VRGDG Multi Cycling Text Picker
VRGDG/General
VRGDG_MultiStringConcat
VRGDG/General
VRGDG_MusicVideoPromptCreator
VRGDG/Prompt Tools
VRGDG_MusicVideoPromptCreatorV2
VRGDG/Prompt Tools
🌀 VRGDG_MusicVideoPromptCreatorJson
VRGDG/Prompt Tools
VRGDG Musubi-Tuner Installer
VRGDG/Training
VRGDG_MuteUnmute4PromptCreatorWF_0
VRGDG/General
VRGDG_MuteUnmute4PromptCreatorWF_1
VRGDG/General
VRGDG_MuteUnmute4PromptCreatorWF_2
VRGDG/General
🚀 VRGDG NanoBanana Pro 🚀
VRGDG/NanoBananaPro
VRGDG_NoteBox
VRGDG/General
VRGDG Optional Multi LoRA Model Only
VRGDG/Loaders
VRGDG Optional Multi LoRA Two Pass Strengths
VRGDG/Loaders
VRGDG_PadVideoWithLastFrame
video/utils
VRGDG Part 2 Workflow UI
VRGDG/General
VRGDG Workflow 3 UI
VRGDG/General
VRGDG_PostRunIndexStepper
VRGDG/utils
VRGDG_PromptCreatorUI
VRGDG/General
VRGDG_PromptCreatorUI_V2
VRGDG/General
VRGDG Prompt JSON Subject Prepender
VRGDG/General
VRGDG_PromptMapJsonFixer
VRGDG/General
VRGDG_PromptSpitterWithIndex
VRGDG
✂️ VRGDG_PromptSplitter
VRGDG
VRGDG_PromptSplitter2
VRGDG
VRGDG_PromptSplitter4
VRGDG
VRGDG_PromptSplitterForFL
VRGDG
VRGDG_PromptSplitterForFMML
VRGDG
✂️ VRGDG_PromptSplitterForManual
VRGDG
VRGDG_PromptSplitter_General
VRGDG
VRGDG_PromptSplitterJson
VRGDG
VRGDG_PromptSplitterV2
VRGDG
VRGDG_PromptTemplateBuilder
VRGDG
VRGDG_PythonCodeRunner
VRGDG/General
VRGDG_QueueTriggerFromAudio
Utilities
🧠 VRGDG Qwen 2.5 🧠
VRGDG/LLM
🧠 VRGDG Qwen 3.5 🧠
VRGDG/LLM
VRGDG_RunStateLogger_SRT
VRGDG
VRGDG_SaveAudio
VRGDG/Audio
VRGDG_SaveAudioFilePath
VRGDG/General
VRGDG_SaveText
VRGDG/General
VRGDG_SaveTextAdvanced
VRGDG/General
VRGDG_SaveTextAdvancedConcat
VRGDG/General
VRGDG_SetGroupStateMulti
VRGDG/General
VRGDG_SetMuteStateMulti
VRGDG/General
VRGDG_ShowAny
VRGDG/General
VRGDG_ShowImage
VRGDG/General
VRGDG_ShowText
VRGDG/General
VRGDG_SmartSplitTextTwo
Text
VRGDG_SpeechEmotionExtractor
VRGDG
VRGDG LTX Speed Character Lora Training
VRGDG/Training
VRGDG_SplitPrompt_T2I_I2V
VRGDG
VRGDG_StoryBoardCreator
VRGDG
VRGDG_StoryGroupJsonFixer
VRGDG/General
VRGDG_String2Json
VRGDG/General
VRGDG_StringConcat
VRGDG/Prompt Tools
🧠 VRGDG SuperGemma GGUF Chat 🧠
VRGDG/LLM
Text to image prompts from concepts
VRGDG/General
Text to video prompts from concepts
VRGDG/General
VRGDG_TextBox
VRGDG/General
VRGDG_ThemeSplitter
VRGDG/Prompt Tools
⏱️ VRGDG_TimecodeFromIndex
utils
VRGDG_TranscribeLyric
WanVideoWrapper
🎯 VRGDG Trigger Counter
utils/control
VRGDG_TrimFinalClip
VRGDG
VRGDG_TrimImageBatch
VRGDG
VRGDG_TrimImageBatch_SRTOnly
VRGDG
VRGDG_UpdateLatestCombinedJsonPrompts
VRGDG/General
VRGDG_UpdateLatestCombinedJsonPrompts_zimage
VRGDG/General
VRGDG Video Folder Grid Plot
VRGDG/Video
VRGDG_VideoSplitter
image/filters/frames
VRGDG VoxCPM2 Voice Clone / TTS
VRGDG/Audio
VRGDG Z-Image LoRA Train Chunk
VRGDG/Training
VRGDG Z-Image Speed Character Lora Training
VRGDG/Training
Readme

License

This ComfyUI custom node is licensed under AGPL-3.0.

You may not use this code in a closed-source paid app, private hosted service, SaaS product, or commercial wrapper unless you comply with the AGPL-3.0 license and provide the complete corresponding source code under the same license.

🎮 VRGameDevGirl’s Video / Image & HUMO Workflow Nodes for ComfyUI

Custom ComfyUI nodes for music video workflows and high-quality video/image enhancement.
Includes HUMO-based multi-scene workflows, audio splitting, video combining, and realtime-ready enhancement tools.


🎬 AI Music Video Workflow (ComfyUI)

Turn a reference image and an audio track into a fully AI-generated music video.
The workflow automatically splits lyrics, generates scene prompts, and syncs everything into a cinematic final video.

🚀 How it Works

  1. Upload a reference image (your main character).
  2. Import your audio file (with lyric syncing).
  3. Set a folder name for outputs.
  4. Customize the Prompt Creator to define style, mood, and scenes.

✨ Everything else — transcription, scene building, video chunks, and final rendering — runs automatically.
The result: a stylized, synced AI-driven music video.


🌟 Features

  • 🎞️ Fast Film Grain (FastFilmGrain)
    Add controllable, grayscale or color grain for cinematic texture.
    Now includes a batch_size setting to reduce out-of-memory (OOM) issues on long or high-res videos. If you have a strong GPU, try batch_size = 8. If you hit OOM, lower the value (e.g., to 4 or 2).

  • 🎨 Color Match to Reference (ColorMatchToReference)
    Align image tones to a reference image using LAB color matching.
    Also includes a batch_size setting to help manage VRAM usage. Start at 8 if your GPU allows — lower it if you get OOM errors.

  • 🎯 Fast Unsharp Sharpen (FastUnsharpSharpen)
    Simple and efficient sharpening using unsharp masking.

  • 🌀 Fast Laplacian Sharpen (FastLaplacianSharpen)
    Edge-based sharpening via Laplacian kernel for crisp detail.

  • 📏 Fast Sobel Sharpen (FastSobelSharpen)
    Gradient-based edge enhancement using Sobel filters.

  • ⚡ Optimized for image or video workflows and per-frame processing in ComfyUI.

  • 💻 Designed to be efficient on modern GPUs.


📦 Installation

🧰 Using ComfyUI Manager (recommended)

  1. Open ComfyUI.
  2. Go to the Manager tab → Install Custom Nodes.
  3. Search: vrgamedev or use this Git URL:
    https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
    

🖐️ Manual Install

  1. Clone or download this repo to your ComfyUI/custom_nodes directory.
  2. Restart ComfyUI.

✨ Requirements

A requirements.txt file is now needed.

To install the required packages, run this from inside the python_embeded folder:

python.exe -m pip install -r ..\custom_nodes\comfyui-vrgamedevgirl\requirements.txt

requirements.txt (in the repo) includes:


kornia

librosa

imageio

🧠 Node Details

✅ Fast Film Grain (FastFilmGrain)

Adds customizable film grain to each frame.
Grain can be grayscale or saturated RGB, and sized to match your output resolution.

Inputs:

  • images: Frame tensor input.
  • grain_intensity: Blend amount (0 to 1).
  • saturation_mix: 0 = grayscale grain, 1 = full RGB noise.

🟢 Video-safe and very fast.


🎨 Color Match to Reference (ColorMatchToReference)

Matches image color distribution to a reference image using LAB space normalization.

Inputs:

  • images: Your video frames.
  • reference_image: A single image to match tone and color against.
  • match_strength: Blend between original and matched (0.0–1.0).

🎯 Fast Unsharp Sharpen (FastUnsharpSharpen)

Applies unsharp masking to enhance edges with a fast, low-cost blur pass.

Inputs:

  • images: Input image tensor.
  • strength: Sharpening amount (0.0 to 2.0)

🚀 Lightweight and ideal for subtle sharpening.


🌀 Fast Laplacian Sharpen (FastLaplacianSharpen)

Enhances edges by applying a Laplacian kernel to bring out high-frequency detail.

Inputs:

  • images: Input image tensor.
  • strength: Sharpening amount (0.0 to 2.0)

🧪 Gives a more "punchy" sharpen effect great for detail recovery.


📏 Fast Sobel Sharpen (FastSobelSharpen)

Uses Sobel filters to detect image gradients and amplify edge contrast.

Inputs:

  • images: Input image tensor.
  • strength: Sharpening amount (0.0 to 2.0)

🧠 Sharpens by boosting directional edge response — great for outlines and detail clarity.


🛠️ Roadmap

  • [x] 🎞️ Fast Film Grain (FastFilmGrain)
  • [x] 🎨 Color Match To Reference (ColorMatchToReference)
  • [x] 📏 Fast Sobel Sharpen (FastSobelSharpen)
  • [x] 🌀 Fast Laplacian Sharpen (FastLaplacianSharpen)
  • [x] 🎯 Fast Unsharp Sharpen (FastUnsharpSharpen)
  • [ ] 🌫️ Local Contrast / Dehaze
  • [ ] 🎛️ LUT Loader or Approximate Match

📁 Folder Structure

comfyui-vrgamedevgirl/
│
├── init.py
├── nodes.py
├── README.md
├── LICENSE
├── requirements.txt
└── .gitignore

🧑‍💻 Author

VRGameDevGirl
✨ Custom tools for cinematic AI workflows
💌 Questions or collabs? Reach out via GitHub


📜 License

This project is licensed under the MIT License.