Overview
A photo-editing chain of four filters. Each filter exposes numeric properties that the mini app binds to sliders. The template uses no model and no API key.
The pipeline:
- Image Input (
nodetool.input.ImageInput, namedimage) - Your photo. The template ships with a demo image so Run works at once. - Denoise (
lib.image.filter.GaussianBlur) - Radius and sigma start at 0, so it changes nothing until you raise them. - Brightness and Contrast (
lib.image.color.BrightnessContrast) - Brightness 0.05, contrast 1.15. - Saturation (
lib.image.color.HSB) - Hue 0, saturation 1.2, brightness 1. - Sharpen (
lib.image.filter.UnsharpMask) - Amount 1, threshold 0.02. - Output - The
enhanced_imageresult.
Reorder the filters or add another from the lib.image namespace, and the app picks up the new controls.
Demo
Tags
image, start, example
Workflow Diagram
graph TD
image["ImageInput (image)"]
denoise["GaussianBlur (Denoise)"]
tone["BrightnessContrast"]
color["HSB (Saturation)"]
sharpen["UnsharpMask"]
enhanced["Output (enhanced_image)"]
image --> denoise --> tone --> color --> sharpen --> enhanced
How to Use
- Open NodeTool, click Examples in the app menu, and load “Image Enhance”
- Click the Image Input node and upload a photo
- Adjust the filter properties on each node
- Press Ctrl/⌘ + Enter or click Run
Tips:
- Raise Denoise before Sharpen on a noisy photo
- More sharpness isn’t always better
Next Steps
- Movie Posters - Combine enhancement with AI generation
- Color Boost Video - Apply similar enhancements to video