(AV) Matrix
The (AV) Matrix is the one you'll reach for
- prompt
- filename_tag
If you install this pack and use exactly one node, it's the (AV) Matrix. It's the whole point of the ArchViz preset system: thirteen dropdowns - preservation, camera, lighting, atmosphere, style, materials, people, population_density, hero_style, scale_life, cars, surroundings, enhancement - on a single node, plus a target_model dropdown that compiles the result into the native prompt dialect of whatever image model you're running. You pick your categories, it hands back a ready-to-paste prompt string. No generation, no API key, no GPU work; it's prompt construction for the image-to-image workflow where a sketch or screenshot becomes a high-end architectural render.
How it works
Every dropdown resolves to a hand-written fragment in ComfyUI/user/archviz_presets.json (auto-copied on first run; your edits survive package updates). Fragments assemble in a fixed order - preservation first because it anchors the input geometry, then camera, lighting, atmosphere, style, materials, people, scale_life, cars, surroundings, and finally your override text. That ordering is deliberate: preservation is the most important slot because it tells the model the architecture is fixed, not a suggestion. The whole library is written in positive-constraint phrasing, which is the reliable move on modern image models - describe what's there, don't lean on negative prompts.
The genuinely clever bit is target_model. The same curated fragments compile into each model's dialect: nano_banana_edit (the default, byte-identical to the pack's v4 output - edit instructions like "preserve the input image"), nano_banana_generate (narrative prose; drops preservation and enhancement since there's nothing to edit), flux2_pro (a word-budgeted natural-prose brief that strips edit-instruction sentences), flux2_dev_structured (labeled Subject/Scene/Camera slots for Dev/Flex/Klein), gpt_image_2 (a photographer's brief with "must not drift" constraints and hype words stripped), and ideogram4_json (a structured JSON caption). Feed the same selections to a different model and you get a differently-voiced prompt - the content stays yours, the phrasing adapts.
The inputs that matter
- preservation - the anchor.
preserve_design/preserve_with_polishfor variation work;people_only_minimal_changewhen you only want to add figures to an already-finished render. - lighting, atmosphere, style, materials - your variation levers for exploring looks on the same building.
- enhancement - a different mode of operation: refinement instructions like
upscale_4k_full,fix_hands_only, ormotion_blur_figures. For these, set the descriptive categories to(none); stacking enhancements in one pass over-sharpens. One clean pass beats three aggressive ones. - target_model - where the prompt is going. Change this instead of rewriting your selections.
- override (optional) - free-form additions, appended last. separator (optional, default
". ").
Outputs: prompt (the compiled string - wire into your image node's prompt slot) and filename_tag (a compact underscore slug built from your enhancement/lighting/style/people/cars picks, e.g. goldenhour_photoreal_editorial, for naming saved files).
Installing and troubleshooting
Same pack as the other ArchViz nodes - install once, get all four under the "ArchViz" category:
cd ComfyUI/custom_nodes/
git clone https://github.com/ArrowsVisuals/archviz-preset-system.git
Restart ComfyUI. No dependencies beyond Python's stdlib, no model downloads. ComfyUI Manager users search "ArchViz Preset System".
Two gotchas worth knowing. First, the pack doesn't run any model - Nano Banana Pro / Gemini Image, Flux 2, GPT Image 2 and Ideogram 4 each need their own node (the official Gemini Image node or a compatible Nano Banana node), and the closed ones need an API key and budget on top. The Matrix just writes them a better prompt. Second, don't bolt a big negative prompt onto the Matrix output and expect it to override the fragments - this pack is built on positive phrasing, and it's fighting itself if you are.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| preservation | COMBO | 8 options: (none), clean_minimal, competition_polished, people_only_minimal_change, preserve_design, preserve_exactly, +2 | |
| camera | COMBO | 13 options: (none), aerial_high_overview, aerial_low_drone, aerial_oblique_45, aerial_top_down, elevated_three_quarter, +7 | |
| lighting | COMBO | 13 options: (none), blue_hour_warm, dusk_first_lights, golden_hour, interior_natural, midday_clear, +7 | |
| atmosphere | COMBO | 12 options: (none), aerial_perspective_strong, clear_aerial_sharp, clear_air, dramatic_clouds, humid_coastal_air, +6 | |
| style | COMBO | 10 options: (none), cinematic_anamorphic, competition_dramatic, concept_sketch_loose, digital_clean, film_warm_grain, +4 | |
| materials | COMBO | 12 options: (none), industrial_concrete_steel, mediterranean_limestone, minimalist_monochrome, precision_anodized_aluminum, premium_natural_mix, +6 | |
| people | COMBO | 12 options: (none), afro_diaspora, east_asian, emirati, european, gulf_mixed, +6 | |
| population_density | COMBO | 5 options: (none), crowded_public, hero_with_supporting, multiple_active, single_hero | |
| hero_style | COMBO | 7 options: (none), active_resident_lifestyle, contemplative_figure_from_behind, couple_arrival_lifestyle, elegant_man_tailored, elegant_woman_flowing_dress, +1 | |
| scale_life | COMBO | 7 options: (none), business_active, evening_arrival, family_activity, morning_quiet, weathered_authentic, +1 | |
| cars | COMBO | 8 options: (none), executive_arrival, hero_electric_modern, hero_luxury_sedan_dark, hero_luxury_sedan_silver, hero_sports_coupe, +2 | |
| surroundings | COMBO | 13 options: (none), coastal_aerial_context, coastal_distant_view, desert_aerial_context, desert_edge_natural, enhance_landscape, +7 | |
| enhancement | COMBO | 12 options: (none), enhance_architecture_only, enhance_materials_textures, enhance_people_full, enhance_people_polish, enhance_vegetation_creative, +6 | |
| target_model | COMBO | 6 options: nano_banana_edit, nano_banana_generate, flux2_pro, flux2_dev_structured, gpt_image_2, ideogram4_json | |
| overrideopt | STRING | — | |
| separatoropt | STRING | . | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| filename_tag | STRING | — |