Visual AI image generation pipeline for Max/MSP — AI image providers as patchable modules.
Visual Composer is a Max 9 package that turns AI image generation into a modular, patchable system. Each model or operation is a self-contained module (patcher) with a consistent message interface, so you can wire them together like any other Max objects — generate from a prompt, edit with inpainting, remove a background, upscale, compare, and save, all inside your patch.
Powered by fal.ai for cloud inference (Flux, Ideogram, Recraft, Kontext, IC Light, Birefnet…) and sharp for local image operations.
| Requirement | Version |
|---|---|
| Max | 9.0.0 or later |
| macOS | 12.0 (Monterey) or later |
| Architecture | x64 or Apple Silicon (aarch64) |
| Node.js | bundled with Max 9 |
| fal.ai account | free tier available at fal.ai |
-
Copy the
visual-composerfolder into your Max packages directory:~/Documents/Max 9/Packages/visual-composer -
Install Node dependencies (required for the
node.scriptbackends):cd ~/Documents/Max\ 9/Packages/visual-composer/code npm install
-
Add your fal.ai API key. Create a
.envfile next topackage-info.json:FAL_KEY=your_fal_ai_key_hereGet a key at fal.ai/dashboard.
-
Restart Max (or File → Refresh Max Browser) and open the entry point:
extras/VC Overview.maxpat
- Drop a GENERATE module (e.g.
VCFLUXPRO) into a patch. - Connect a
VCPROMPTto its prompt inlet. - Connect
VCVIEWto its output to display the result. - Send a
bangto trigger generation — the result path appears at the output. - Chain modules: pipe the output of
VCFLUXPROintoVCREMBGto strip the background, then intoVCUPSCALE.
Visual Composer ships 24 modules across five categories. Each is available as a patcher in patchers/ and as a drag-and-drop snippet in the Max browser under snippets/.
| Module | Model | Notes |
|---|---|---|
VCFLUXPRO |
Flux Pro 1.1 | Fast, high quality |
VCFLUXULTRA |
Flux Ultra | High-res, optional reference image |
VCFLUXDEV |
Flux Dev | Open-weights, LoRA support |
VCIDEOGRAM |
Ideogram | Typography and design-focused |
VCRECRAFT |
Recraft | Illustration and graphic styles |
| Module | Model | Notes |
|---|---|---|
VCFILL |
Flux Fill | Inpainting — fill masked regions |
VCOUTPAINT |
Flux Fill | Outpainting — extend image borders |
VCKONTEXT |
Flux Kontext | Semantic/contextual editing |
VCKONTEXTMAX |
Flux Kontext Max | Higher quality contextual editing |
VCRELIGHT |
IC Light Turbo | Change image lighting |
VCREMBG |
Birefnet | Background removal |
VCTRYON |
IDM-VTON | Virtual clothing try-on |
| Module | Library | Operation |
|---|---|---|
VCBLUR |
sharp | Gaussian blur |
VCCOLOR |
sharp | Hue and saturation |
VCCROP |
sharp | Resize to pixel dimensions |
VCLEVELS |
sharp | Brightness and contrast |
| Module | Model | Notes |
|---|---|---|
VCUPSCALE |
Recraft Crisp Upscale | Fast, clean upscaling |
VCMAGNIFIC |
Magnific AI | Detail-preserving creative upscale |
| Module | Purpose |
|---|---|
VCPROMPT |
Standalone prompt editor, send to multiple modules |
VCASPECT |
Aspect ratio selector |
VCSEED |
Fixed or random seed for reproducible results |
VCCOMPARE |
Side-by-side image comparison |
VCVIEW |
Large image display with passthrough |
VCSAVE |
Copy output image to a folder on disk |
visual-composer/
├── extras/
│ └── VC Overview.maxpat ← main dashboard / entry point
├── patchers/ ← 24 module patchers
├── snippets/
│ ├── GENERATE/ ← drag-and-drop snippets by category
│ ├── EDIT/
│ ├── LOCAL/
│ ├── UPSCALE/
│ └── HELPERS/
├── code/
│ ├── vc.api-client.js ← fal.ai backend (node.script)
│ ├── vc.sharp-ops.js ← local Sharp image processor (node.script)
│ └── vc.utils.js ← save utility (node.script)
├── help/ ← .maxhelp file for every module
├── media/ ← output images (gitignored)
└── package-info.json
- Architecture — JS backends, message protocol, data flow
- Modules Reference — inlet/outlet guide for every module
- Setup & Configuration — API key, npm deps, troubleshooting
MIT — see LICENSE.
0.1.0 — Federico Del Gaudio, 2025