ArchAi3D_Qwen_Material_Changer
Swap the countertop to Carrara marble, leave everything else alone
- prompt
- material_description
- system_prompt
Kitchen design clients don't want to hear "we'll mock it up." They want to see the countertop in Carrara marble, then in black granite, then in oak - and they want the rest of the kitchen to stay exactly where it is. ArchAi3D_Qwen_Material_Changer is the ArchAi3d Qwen pack's node for exactly that job: 48 material presets across six categories (stone, wood, metal, fabric, paint, tile), aimed at a specific object, with a default preserve_rest toggle that appends the clause "keep everything else identical."
The default custom material is even "white Carrara marble with gray veining" - the author clearly lives in this exact demo loop. Set object_preset (or a custom_object like "the dining room table surface"), pick a material, hit run, and Qwen-Edit redraws that surface. Rinse, repeat, and you've got a client presentation in five minutes.
The inputs that matter
- object_preset / custom_object - what to change: countertop, flooring, wall, backsplash, cabinets, furniture, and 8+ more presets. The default is
custom, so be ready to type an object. - material_category + material_preset - stone/wood/metal/fabric/paint/tile, each with 8 presets (Carrara, black granite, oak hardwood, walnut, stainless, brass, velvet, linen…). Or
custom_materialfor your own spec - the tooltip is right that specificity wins: "dark walnut with rich grain and matte finish" beats "wood." - preserve_rest - default true, and the whole point. It's the "keep everything else identical" clause, and it's the difference between a material swap and a room redesign.
- scene_context - the scene description. Feeds consistency; worth one sentence.
Outputs: prompt and system_prompt (wire into your Qwen encoder - the system prompt is tuned per material category), plus material_description showing what got applied.
How it works
It's a prompt builder like the pack's camera nodes: material category maps to a per-category system prompt, the object and material descriptions get woven into a "change the [object] material to [material]" instruction, and preserve_rest appends the stability clause. Everything then goes through Qwen-Edit, which regenerates the frame - which is exactly why the stability clause matters: Qwen-Edit is a whole-frame re-emitter, so without it the "marble countertop" instruction can quietly repaint the cabinets too.
Installing it
Ships in ComfyUI-ArchAi3d-Qwen by Amir Ferdos (ArchAi3d):
# ComfyUI Manager: search "ArchAi3d Qwen"
cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt
Restart. Bring your own Qwen-Image-Edit model (GGUF-quantized in practice) and the pack's encoder. The material list itself is hardcoded presets - no downloads, no extra models.
Common issues
- The swap overflows the object. Qwen-Edit re-emits everything, so "change the countertop" can bleed into nearby surfaces. Keep
preserve_reston and describe the object precisely ("the kitchen island countertop", not "the counter"). - Materials reinterpret, not render. Carrara marble with gray veining is a strong instruction, but the exact veining is the model's call. Iterate on the seed for the look you want.
- Pattern-matching presets. "Tile" as a category and "tile" as a wall covering can get muddled if your object description is loose - name the surface explicitly.
For material exploration workflows - the README literally walks through trying countertop materials back-to-back for a client presentation - this is the pack's killer editing node, and it's the one where the "keep everything else identical" clause pays for the whole install.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| object_preset | COMBO | custom | Select common object or use 'custom' to specify your own. Example: 'the dining table', 'the bedroom walls' |
| custom_object | STRING | Custom object description (used if object_preset is 'custom'). Example: 'the dining room table surface' | |
| material_category | COMBO | stone | Material category: stone, wood, metal, fabric, paint, tile, or custom |
| material_preset | COMBO | custom | Select material preset from category or use 'custom' for your own description |
| custom_material | STRING | white Carrara marble with gray veining | Custom material description. Be specific about color, texture, pattern, finish. Example: 'dark walnut with rich grain and matte finish' |
| scene_context | STRING | Optional scene description for consistency. Example: 'modern kitchen with white cabinets and stainless appliances' | |
| preserve_rest | BOOLEAN | true | Add 'keep everything else identical' clause (recommended for consistency) |
| debug_mode | BOOLEAN | false | Print detailed prompt information to console |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | Generated prompt for Qwen Edit 2509 |
| material_description | STRING | The material description being applied |
| system_prompt | STRING | ⭐ NEW v4.0: Perfect system prompt for this material category! Connect to encoder's system_prompt input for optimal results. |