Nodes/ComfyUI-ArchTone-Extractor/Architecture Tone & Atmosphere Extractor
ComfyUI Node

Architecture Tone & Atmosphere Extractor

This Tone 'Extractor' Doesn't Read Your Image (Yet) — Here's What It Actually Does

By fangzhengyu0704-dotcom·Created 6 months ago·Updated 6 months ago· 0
Architecture Tone & Atmosphere Extractor
  • image
  • color_palette_prompt
  • atmosphere_keywords
modern_style_weight1.0

The name - Architecture Tone & Atmosphere Extractor - promises a node that studies a reference image and pulls out its color palette and mood keywords so your next render matches. The reality, as of now: it does none of that. ArchToneExtractor is a placeholder. It takes your image, never looks at it, and returns the same two hardcoded strings on every single run. The code says it outright ("Currently a placeholder structure for open source community testing"), and the README's current status is "building the foundational structure," with a promise that the next major update will drop in a local vision model to make the extraction real.

That transparency earns some respect. This is a brand-new repo - a single commit from March 2026 - and it reads exactly like what it is: a skeleton the author open-sourced early so the plumbing is in place before the model lands. If you're doing architectural visualization and you've been fighting "cold" lighting and dated color casts in generated interiors, that's a real problem and this pack names it correctly. It's a name to keep an eye on, not a tool to build a workflow around today.

How it works

Mechanically, there's almost nothing to it. The extract_tone method defines two local strings and returns them. No color analysis, no CLIP, no quantization. The image input and the modern_style_weight slider are in the signature but never referenced in the body - they're future-proofing, not function. The outputs:

  • color_palette_prompt - warm cinematic lighting, high-end modern materials, desaturated earthy tones
  • atmosphere_keywords - photorealistic, architectural visualization, masterpiece, sharp focus

Both are STRING outputs, and you wire them into a text-encode node to tack onto your positive prompt. Which is honestly a fine workflow shape: reference-image analysis is just one way to reach an aesthetic preset, and this is a static one you can't tune. One caveat worth knowing about those keywords: masterpiece, sharp focus are SDXL-era quality tags. On the 2026 LLM-encoded models they're largely inert - that vocabulary was never trained in. They still do something on anime-lineage SDXL checkpoints; elsewhere they're mostly noise.

Install

No dependencies, no model downloads, no requirements.txt. It's one ~25-line Python file, so setup is genuinely painless:

cd ComfyUI/custom_nodes
git clone https://github.com/fangzhengyu0704-dotcom/ComfyUI-ArchTone-Extractor

Restart ComfyUI (or hit refresh in Manager). Note the -dotcom in that URL - the README's own clone line drops it, and the shorter URL 404s. ComfyUI Manager lists the pack if you search the title, though for a zero-dependency one-file node the clone is just as fast.

Troubleshooting

The #1 "is it broken?" report is going to be: the output never changes no matter what image I feed it. That's not a bug - that's the current state of the node. Same story for modern_style_weight; crank it to 2 and nothing moves, because nothing reads it yet. If the author's roadmap pans out, real extraction lands with a local vision model, so check the repo for new commits before you assume behavior.

Last, the usual vetting: this is a brand-new custom node from an account with no community history, in an ecosystem where unknown nodes have gone badly before. Right now the source is short enough to read in a minute - do that. A node this small returning fixed strings is harmless. Just don't get complacent when that vision-model integration actually ships.

CategoryImage/Aesthetic Analysis

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
modern_style_weightFLOAT1.00–2

Outputs (2)

NameTypeDescription
color_palette_promptSTRING
atmosphere_keywordsSTRING