如何把任何圖片變成可編輯的設計藍圖
用 JSON 結構與參考圖,對生成式 AI 設計拿到外科手術般的掌控。
你有沒有生成過一張幾乎完美的 AI 圖片——結果一想動個小地方,整張圖就失控了?
你要白色的窗框。地板忽然變了。
你換掉椅子。你原本很喜歡的光線,也跟著消失。
這是生成式圖像工作流裡最常見的挫折之一。標準的下提示詞,常常像是把顏料潑上畫布,然後祈禱構圖能撐得住。
有時候撐得住。但只要你想要穩定、可鎖定目標的掌控,你遲早會撞上同一個體悟:
光靠提示詞是不夠的。
要拿到真正的掌控權,我們得停止只對 AI「描述」圖片,開始「結構化」圖片。而連接這兩個世界的橋樑,簡單得出乎意料:
把像素,翻譯成一張藍圖。
在最近一系列實驗裡,我們探索了一套工作流——把圖片逆向工程成結構化的建築式程式碼(JSON)。目標是打造一種「視覺 DNA」:一份把場景拆成模組的描述,讓我們可以只改動其中一部分,而不會弄壞整個設計。
理論:AI 藝術家的腦
第一步,是理解 AI「看」圖的方式和我們不一樣。人類傾向聚焦在場景的故事;AI 模型則常常把自己錨定在材質與結構上。
從我們的實驗裡,有一個好用的方式來理解這層關係,我們叫它地圖 vs. 地形(Map vs. Terrain)。
把你圖片的視覺結構想成地形。地形裡裝的是那些雜亂、無結構、很難用提示詞精準指定的細節:
- 木頭的紋理
- 灰泥不均勻的質感
- 光線打在牆上的確切角度
- 顏色與材質上細微的變化
這些微觀細節,正是視覺真實感所在的地方。AI 會像認指紋一樣,牢牢鎖住它們。
至於 JSON 程式碼,扮演的則是地圖。JSON(JavaScript Object Notation)把一個場景組織成結構化的元件。與其用一段文字描述整個房間,你把它拆成一個個可編輯的模組:
"walls": "Terracotta orange with weathered earthy patina" "window_frame": "White smooth steel" "chairs": "Light wood with dark brown cushions"
這張結構化的地圖,就成了場景的建築式索引。當你把兩個元素合起來——地形(參考圖)與地圖(結構化的 JSON 藍圖)——你等於給了 AI 兩種指引:
- 參考圖保住材質、光線與氛圍。
- JSON 地圖告訴 AI,哪些部分可以安全地被替換。
於是你不必重生整個房間,而是可以說:
場景就照這樣完全保留——只要把窗框換掉。
而出乎意料地,AI 常常真的聽話。
逐步實作:「藍圖」工作流
這是我們從一張參考圖,走到可鎖定目標的結構性編輯,所用的流程。
1. 萃取:把像素變成視覺 DNA
我們從一張侘寂(Wabi-Sabi)風格的室內參考圖開始,分析它、萃取出它的建築結構。目標不是藝術性地描述這張圖——而是把它翻譯成一份結構化的設計藍圖。
萃取出的 JSON 範例:
{
"design_style": "Wabi-Sabi / Organic Minimalism",
"architectural_elements": {
"walls": {
"texture": "Rough-hewn, distressed plaster with tactile grain",
"color": "Terracotta orange with weathered earthy patina"
},
"window": {
"type": "Large industrial grid window",
"frame_material": "Dark weathered steel or iron",
"feature": "Deep concrete or stone windowsill"
},
"furniture": {
"table": "Solid dark-stained timber with heavy wood grain",
"chairs": "Minimalist curved-back wooden chairs with light linen seat cushions"
}
},
"aesthetic_parameters": {
"lighting": [
"Natural directional sunlight through window",
"Sharp diagonal shadows across the wall",
"Warm ambient glow reflecting off the terracotta surface"
],
"color_palette": {
"primary": "Terracotta Orange and Burnt Sienna",
"secondary": "Obsidian Black and Dark Walnut",
"neutral": "Slate Gray and Concrete",
"accents": "Moss Green and Off-White linen"
},
"decor": [
"Rustic stoneware bowls",
"Minimalist clay vase with delicate dried branches",
"Small moss centerpiece in a shallow bowl"
]
},
"composition": {
"framing": "Eye-level professional interior photography",
"perspective": "Front-view with strong vertical and horizontal lines",
"depth_of_field": "Deep focus with high texture clarity"
},
"technical_metadata_inference": {
"style_vibe": "Earthy, serene, and tactile",
"rendering_quality": "Photorealistic with high-fidelity texture mapping",
"midjourney_logic": {
"aspect_ratio": "4:5",
"stylize": "250",
"v_parameter": "6.0"
}
}
}
在這個階段,目標很單純:結構上的清晰。你是在把一個視覺場景,轉換成更接近「設計系統」的東西。
2. 修整:編輯藍圖
一旦 JSON 結構存在,編輯就變得容易許多。你不必重寫整段提示詞,只要改動相關的數值就好。舉例來說:
- 原本:
frame: "Dark weathered steel" - 改成:
frame: "White smooth steel" - 椅子則改成:
chairs: "Light wood with dark brown cushions"
注意我們沒有改的東西:光線、牆面、材質、構圖。我們只改了真正想動的那幾個模組。
3. 重建:測試新地圖
藍圖更新好之後,我們重新生成一次場景。結果穩定得令人意外。
重生後的圖片保住了整個房間的靈魂——陶土色的牆面質感、強烈的陽光角度、侘寂氛圍——卻正確地實作出新元素:白色窗框與較淺色的椅子。AI 沒有把場景毀掉,而是執行了一次受控制的替換。
這招哪裡有效(哪裡沒效)
這些實驗裡有一個重要的教訓:不是每個 AI 模型都用同樣的方式理解結構。有些模型緊跟著地圖走,有些則偏好即興發揮。
最有效的場合
對結構化提示詞反應良好的模型,從這套做法裡受益最大。最佳使用情境包括:
- 鎖定目標的結構性編輯——在不失去整體氛圍的前提下,改動場景裡特定的元素。
- 風格一致性——在調整家具或配置的同時,維持材質、光線與氣氛。
比較棘手的場合:MidJourney
MidJourney 的行為不太一樣。它本質上是一個藝術性的生成器,而不是嚴格的指令解讀器。如果你只餵給 MidJourney JSON 文字,它常常會無視結構,自顧自地即興詮釋。
結果抓到了一部分元素——但掌控力比較弱。
解法
要讓結果穩定下來,你得把參考圖與結構化提示詞結合起來。使用一張圖片參考(例如 --sref),把模型錨定回原本的地形。
參考圖鎖住視覺 DNA,文字則掌控那些特定的改動。
跨平台的意外:DALL·E / Copilot
當我們把同一份 JSON 藍圖丟進 Copilot(DALL·E),行為又變了。這個模型把地圖跟得極好——白色窗框正確出現、椅子樣式對上程式碼——但它在地形上卡關了:那些風化的牆面質感,變得更平滑、少了觸感。
就算在同一個模型家族裡,結果也可能不同。例如把同一份 JSON 丟進另一個 Gemini 帳號,就會產出略有差異的詮釋。
結構有幫助——但模型還是各有各的個性。
用「建造」取代「猜測」
AI 圖像生成正慢慢地從一個純創意工具,轉變成更接近設計系統的東西。這場「JSON 橋樑」實驗,指出了一件重要的事:
一致性並非不可能,它只是需要結構。
與其一次又一次地描述整個場景,我們可以開始像設計模組化系統那樣去設計它們。地形保住視覺 DNA,地圖定義可編輯的架構。一旦這兩層開始協作,鎖定目標的編輯就不再讓人覺得像在碰運氣,而開始變得可以預期。
而這,改變了我們與 AI 一起「建造」的方式。
如果你正在實驗結構化提示詞或視覺逆向工程,不妨親手試試這套工作流:
- 從一張參考圖開始。
- 萃取出視覺藍圖。
- 然後,只改動一個元素。
你可能會很驚訝,場景竟然能這麼穩。最有意思的那些 AI 工作流,往往不是關於更好的提示詞——而是關於像一個「建造者」一樣思考。