141 lines
3.2 KiB
Markdown
141 lines
3.2 KiB
Markdown
|
|
# 🎨 封面工作室 — 语言驱动排版设计
|
|||
|
|
|
|||
|
|
> 输入文字,自动排版,生成封面。
|
|||
|
|
> 不需要 GPU · 不花一分钱 · 一行命令部署。
|
|||
|
|
|
|||
|
|
## 这是什么
|
|||
|
|
|
|||
|
|
一个**纯 HTML/CSS 排版渲染**的封面生成工具。和 AI 生图工具不同——它不做像素生成,而是做**排版设计**。
|
|||
|
|
|
|||
|
|
你告诉它内容和风格,它自动分析、配色、排版、渲染成图。
|
|||
|
|
|
|||
|
|
## 为什么做这个
|
|||
|
|
|
|||
|
|
市面上的封面工具都依赖 AI 绘画模型(DALL-E / Stable Diffusion),需要 GPU、API 密钥、付费额度。
|
|||
|
|
|
|||
|
|
这个工具:
|
|||
|
|
- **零成本** — 不需要任何 API 密钥
|
|||
|
|
- **极轻量** — 2GB 内存就能跑
|
|||
|
|
- **可部署** — 一行命令搭到自己服务器上
|
|||
|
|
- **可扩展** — 模板注册表机制,加新模板不改核心代码
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 克隆代码
|
|||
|
|
git clone https://guanghulab.com/code/bingshuo/guanghulab.git
|
|||
|
|
cd guanghulab/image-studio
|
|||
|
|
|
|||
|
|
# 2. 安装依赖
|
|||
|
|
npm install
|
|||
|
|
|
|||
|
|
# 3. 启动服务
|
|||
|
|
node server.js
|
|||
|
|
|
|||
|
|
# 4. 打开浏览器
|
|||
|
|
# http://localhost:3912
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Docker
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker run -d -p 3912:3912 --name cover-studio ghcr.io/bingshuo/cover-studio
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 当前支持的模板
|
|||
|
|
|
|||
|
|
| 模板 | 尺寸 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 📕 小红书封面 | 1080×1440 | 3:4 竖版封面 · 5种预设风格 |
|
|||
|
|
| 📋 活动海报 | 1080×1920 | 9:16 海报(即将接入) |
|
|||
|
|
| 📱 社交卡片 | 1080×1080 | 1:1 社交分享(即将接入) |
|
|||
|
|
|
|||
|
|
## 预设风格
|
|||
|
|
|
|||
|
|
- **科技蓝** — 深色背景 + 蓝色调 · 适合技术教程
|
|||
|
|
- **奶油暖调** — 浅色背景 + 暖色系 · 适合生活分享
|
|||
|
|
- **极简黑白** — 纯白背景 + 黑色文字 · 适合正式内容
|
|||
|
|
- **玫瑰粉调** — 粉色系 · 适合女性向内容
|
|||
|
|
- **文艺绿植** — 绿色系 · 适合文艺/自然内容
|
|||
|
|
|
|||
|
|
## 架构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
用户输入文字
|
|||
|
|
↓
|
|||
|
|
内容分析引擎 (config.js)
|
|||
|
|
· 检测内容类型:教程/金句/通知/...
|
|||
|
|
· 检测情绪:温暖/正式/文艺/...
|
|||
|
|
↓
|
|||
|
|
模板注册表 (templates/registry.js)
|
|||
|
|
· 选择模板 + 推荐预设风格
|
|||
|
|
· CSS 变量驱动配色
|
|||
|
|
↓
|
|||
|
|
模板渲染 (templates/xiaohongshu.js)
|
|||
|
|
· 纯 HTML + CSS 排版
|
|||
|
|
· 三种布局:标准/封面/金句
|
|||
|
|
↓
|
|||
|
|
Puppeteer 截图 (renderer.js)
|
|||
|
|
· Chrome headless 渲染
|
|||
|
|
· 输出 1080p 高清 PNG
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 添加新模板
|
|||
|
|
|
|||
|
|
1. 创建 `templates/your-template.js`,导出渲染函数
|
|||
|
|
2. 在 `templates/registry.js` 注册
|
|||
|
|
3. 核心代码零改动 ✅
|
|||
|
|
|
|||
|
|
```js
|
|||
|
|
// templates/registry.js
|
|||
|
|
export const TEMPLATE_REGISTRY = {
|
|||
|
|
// ...已有的模板...
|
|||
|
|
|
|||
|
|
'your-template': {
|
|||
|
|
id: 'your-template',
|
|||
|
|
name: '你的模板名',
|
|||
|
|
sizes: { width: 1080, height: 1920 },
|
|||
|
|
presets: [/* 预设风格 */],
|
|||
|
|
render: yourRenderFunction, // ← 这里挂上
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## API
|
|||
|
|
|
|||
|
|
### GET /api/templates
|
|||
|
|
获取所有可用模板列表。
|
|||
|
|
|
|||
|
|
### POST /api/generate
|
|||
|
|
生成封面图片。
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"templateId": "xiaohongshu",
|
|||
|
|
"presetId": "tech",
|
|||
|
|
"title": "零基础手搓AI封面",
|
|||
|
|
"body": "- 第一点\n- 第二点",
|
|||
|
|
"layout": "default"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
返回:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"success": true,
|
|||
|
|
"url": "/output/cover_1712345678.png"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 开源协议
|
|||
|
|
|
|||
|
|
MIT © 光湖 · 铸渊
|
|||
|
|
|
|||
|
|
## 链接
|
|||
|
|
|
|||
|
|
- 在线体验:https://cover.guanghulab.com
|
|||
|
|
- 代码仓库:https://guanghulab.com/code/bingshuo/guanghulab
|
|||
|
|
- 小红书:@冰朔
|