Nodes/ComfyUI-ArchAi3d-Qwen/ArchAi3D_Qwen_Material_Changer
ComfyUI Node

ArchAi3D_Qwen_Material_Changer

Swap the countertop to Carrara marble, leave everything else alone

By amir84ferdos·Created 11 months ago·Updated 5 months ago· 70
ArchAi3D_Qwen_Material_Changer
    • prompt
    • material_description
    • system_prompt
    object_presetcustom
    custom_object
    material_categorystone
    material_presetcustom
    custom_materialwhite Carrara marble with gray veining
    scene_context
    preserve_resttrue
    debug_modefalse

    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_material for 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_rest on 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.

    CategoryArchAi3d/Qwen/Editing

    Inputs (8)

    NameTypeDefaultDescription
    object_presetCOMBOcustomSelect common object or use 'custom' to specify your own. Example: 'the dining table', 'the bedroom walls'
    custom_objectSTRINGCustom object description (used if object_preset is 'custom'). Example: 'the dining room table surface'
    material_categoryCOMBOstoneMaterial category: stone, wood, metal, fabric, paint, tile, or custom
    material_presetCOMBOcustomSelect material preset from category or use 'custom' for your own description
    custom_materialSTRINGwhite Carrara marble with gray veiningCustom material description. Be specific about color, texture, pattern, finish. Example: 'dark walnut with rich grain and matte finish'
    scene_contextSTRINGOptional scene description for consistency. Example: 'modern kitchen with white cabinets and stainless appliances'
    preserve_restBOOLEANtrueAdd 'keep everything else identical' clause (recommended for consistency)
    debug_modeBOOLEANfalsePrint detailed prompt information to console

    Outputs (3)

    NameTypeDescription
    promptSTRINGGenerated prompt for Qwen Edit 2509
    material_descriptionSTRINGThe material description being applied
    system_promptSTRING⭐ NEW v4.0: Perfect system prompt for this material category! Connect to encoder's system_prompt input for optimal results.