Featured image of post AI-Image-Studio:把生图做成一间 LUMINA Atelier

AI-Image-Studio:把生图做成一间 LUMINA Atelier

记录一下我的 AI 生图小站 AI-Image-Studio:站点部署在 aipic.danzaii.cn,背后调用 GPT Image-2,也承包了最近若叶睦和人设图的生成。

最近博客里那组若叶睦的图,背后其实不是一次性的随手生成,而是我自己做的一个 AI 生图项目:AI-Image-Studio

现在它已经部署在 aipic.danzaii.cn,我给它取了一个更像工作室的名字:LUMINA Atelier。比起冷冰冰的「输入 prompt 然后等待图片」,我更希望它像一张干净的创作桌:左边放工作区和灵感画廊,中间写提示词,旁边保留上下文、参考图和已经生成过的版本。你不是在调用一个接口,而是在一间小小的工作室里继续创作。

LUMINA Atelier AI-Image-Studio 封面图

这是什么?

仓库:DanZai233/AI-Image-Studio
站点:aipic.danzaii.cn

简单说,AI-Image-Studio 是一个基于 OpenAI 兼容接口的 AI 图像创作站点。目前我这边的站点共享模型背后调用的是 GPT Image-2,所以不需要每次都重新搭环境、写脚本、翻接口文档,打开网页就可以直接开始生成。

它最开始只是一个「能生图」的小工具,但做着做着就变成了现在这种更完整的工作室形态:有工作区、有历史上下文、有参考图、有提示词标签库,也有一套更适合连续创作的视觉流程。

为什么又做一个生图网站?

因为我发现自己真正需要的不是「一个按钮」,而是「一个上下文」。

比如生成若叶睦的时候,我会不断调整她的表情、构图、光线和氛围。某一张图里安静的眼神很好,另一张图里衣服和背景更舒服,再下一次我希望模型记住这些倾向,而不是每次都从零开始。

所以这个项目里我做了几个对我很重要的点:

  • 工作区隔离:每个工作区保存自己的聊天、参考图和生成结果,不会互相串台。
  • 灵感画廊:生成过的图会留在侧边,像把草稿贴在墙上。
  • 上下文延续:系统会带上最近关键消息和图像线索,继续沿用视觉方向。
  • 参考图优先:有参考图时优先尝试走 /images/edits,更接近 Cherry Studio 那种把参考图真正送进模型的用法。
  • 文本兜底:如果上游不接受图片输入,就自动退回到高信号文本上下文,不让创作流程直接断掉。
  • 共享模型密码:朋友来玩的时候可以用站点共享模型,不用自己填 API Key。

这几个功能听上去很工程,但落到体验上其实就是一句话:让一次次生成变成同一段创作,而不是一堆互不认识的请求。

LUMINA Atelier 的气质

我把界面做成了偏粉白、玻璃质感、文艺工作室的样子。它不是那种控制台式的工具,也不想装成很严肃的企业后台。它更像一个安静的小房间:你可以上传参考图,可以从标签商店里挑一些画面词,也可以直接用中文描述「我想要什么感觉」。

LUMINA Atelier 创作工作室概念图

站点里目前有:

功能用途
图像生成输入提示词,调用 GPT Image-2 出图
AI 对话与识图和模型聊画面、分析参考图、整理提示词
工作区把不同角色、不同主题的创作分开保存
灵感标签商店用预设和标签快速拼出更稳定的提示词
参考图上传支持上传、粘贴图片或图片 URL
中英双语 UI中文 / English 可以直接切换

我很喜欢「Atelier」这个词。它不是 factory,不是 pipeline,而是一间有人味的工坊。AI 当然很强,但我还是希望最终留下来的不是「机器替我画了什么」,而是「我和模型一起把脑内的东西慢慢磨出来了」。

若叶睦、人设图,还有我的小小偏心

之前博客里的若叶睦图片,都是用这个项目生成的。

睦很适合 GPT Image-2 那种细腻、柔和、略带沉默感的画面:不用很夸张的表情,也不用很满的动作,只要光线对了、眼神对了,她站在那里就有故事。那篇图集里几张我比较喜欢的版本,其实就是在 LUMINA Atelier 里反复试 prompt、保留图像线索、再继续生成出来的。

这次我也顺手用站点共享模型生成了两张给这篇文章用的配图。它们不算是严格的产品截图,更像是我心里对这个网站的想象:一张桌子、几张角色设定卡、一块发光的界面,还有一些还没完全说出口的人设灵感。

人设图这件事对我来说有点特别。它不是单纯「画一个好看的头像」,而是把一个人的语气、偏好、情绪、角色感慢慢折成视觉符号。AI-Image-Studio 做的事情也差不多:把一句句提示词、一张张参考图、一次次失败和微调,最后折成一张能留下来的图。

技术上它怎么跑?

项目本身是一个前端 + Vercel Serverless API 的结构:

技术 / 设计
前端React + Vite + Tailwind 风格界面
存储localStorage 保存工作区、消息、图片上下文
部署Vercel Serverless Route
绘图OpenAI 兼容图像接口,当前站点共享模型为 GPT Image-2
参考图优先 multipart 上传到 /images/edits,失败时走文本上下文 fallback
上下文只截取最近高信号消息和图像线索,避免把整个工作区原样塞给模型

我之前还专门参考了 Cherry Studio 对自定义 OpenAI 图像模型和参考图上传的处理方式。重点不是「能不能把图片塞进 prompt」,而是要判断上游到底支持哪种调用:纯文本生成、图片编辑、还是只接受文本但可以吃描述。这个判断如果做不好,前端看起来像支持参考图,实际生成时模型却完全没收到图,那体验就会很割裂。

所以现在的策略是:能传图就真传图,不能传图就把视觉线索压缩成文本上下文继续创作。虽然不完美,但至少不会让一次失败把整个创作流打断。

下一步想做什么?

现在的 LUMINA Atelier 已经能承担我的日常生图需求,但我还想继续把它做得更像「我的创作台」:

  • 更好的人物设定卡管理,把同一个角色的服装、眼神、色板都沉淀下来;
  • 更清晰的图像版本树,记录一张图是从哪张参考图、哪段 prompt 长出来的;
  • 更稳定的移动端体验,随手记灵感、随手生成;
  • 更多适合二次元角色、头像、人设图和博客封面的提示词预设。

说到底,这个项目不是为了证明「AI 可以代替画师」之类的大命题。它只是我给自己搭的一张小桌子:想到一个画面,就坐下来写两句;看到一个喜欢的方向,就把它贴在墙上;如果哪张图真的有点意思,就放进博客里,给它留一个位置。


如果你也想试试,可以打开 aipic.danzaii.cn
如果你对代码感兴趣,也欢迎来 GitHub 仓库 看看。

不是每一张图都要成为作品。有些图只是把脑海里一瞬间的光,先温柔地接住。

Powered by Hugo & Stack