最近做了一个叫 FloraForm 的小工具。上传一张专辑封面、风景照或者画作,它会照着画面的颜色和构图设计一束花,再给出效果图、花材清单和制作步骤。

FloraForm 首页

这个想法来自网上常见的专辑花束。蓝色封面配蓝花,红色海报配红花,成品通常很好看。不过只看配色的话,换一张颜色接近的图片,似乎也不会有太大区别。

颜色之外,图片里还有横竖、疏密、明暗和主体的位置。我想知道,把这些也算进去,最后会得到什么样的花束。

一张湖景

我先上传了这张湖边的照片。画面从上到下依次是云、山、草地、石岸和水面,横向的层次很多。靠近中间的位置站着一位穿蓝色裙子的人,右侧散落着几处红色。照片本身的信息不少,主色也不只有一种。

湖泊、雪山、草地与拍摄婚纱照的人

这次生成最后留下了下面这一版。

从湖景照片转译出的横向蓝色花束

花束用了大面积的蓝色,右侧单独伸出一根枝条和一小段红花。整体压得比较低,也明显向横向展开。和原图放在一起看,我会想到远山的走势、蓝色裙子以及右侧零散的红色。背景换成了灰蓝色,没有把湖和草地继续画进去。

这些联系多少带有我的主观解释,不过它确实比单纯挑出几种颜色多走了一步。对我来说,这就够了。

它怎么做

图片上传后,负责分析的服务会先看图。它要找出主要颜色,也要判断主体在哪一边、画面往哪个方向延伸、哪里密、哪里空。分析结果随后用来挑选花材和花束结构。

项目里暂时收了 23 类核心材料。每一类都记有自然颜色、形态、质感和大致用量,部分材料另外记录了可加工颜色。程序会从这份清单里选择材料,并在提示词中明确禁止增加清单外植物。生图服务未必每次都严格照办,后面的成片检查还会再看一次。

接下来,程序会把画面分析、花材清单和拍摄要求整理成提示词。提示词里写了花束的大小、颜色比例、包装范围和花梗连接,也列出花瓶、窗景、额外植物等不要出现的内容。这部分写得很长,因为图片生成很容易顾到气氛,却漏掉一根枝条该从哪里长出来。

FloraForm 创作台与生成结果

第一版生成以后,分析服务会把原图和效果图放在一起检查。检查不通过时,它会根据实际看到的问题修改提示词,再调用生图服务重做。这个过程最多进行三次,最后如果留下了多个版本,它还会再比较一次,选择表现较好的一张。

等待时,页面会显示当前的进度。完成后还能看到整体的设计方案、结果。

还要有一张清单

效果图下面还有制作清单。湖景这一版用了飞燕草、满天星、天然造型枝和金鱼草。其中有花材需要染色加工,清单会直接注明。

花束制作清单

效果图仍然只是设计示意。不同季节和城市能买到的花材不一样,实际制作时也少不了花艺师的调整。有了这张清单,至少可以拿着它去花市问一问,再根据买到的材料调整。

总的来说,当前的版本还不算稳定,不能保证每次生成的图都很好看,而且对生图模型的能力要求比较高。这次的结果还没有到我会立刻照着清单做一束的程度,但我觉得这个想法还有继续尝试的价值。