让传播不再需要门槛,让创作从未如此简单
红墨首页
使用红墨生成的各类小红书封面 - AI驱动,风格统一,文字准确
前段时间默子在 Linux.do 发了一个用 Nano banana Pro 做 PPT 的帖子,收获了 600 多个赞。很多人用🍌Nano banana Pro 去做产品宣传图、直接生成漫画等等。我就在想:为什么不拿🍌2来做点更功利、更刺激的事情?
于是就有了这个项目。一句话一张图片生成小红书图文
- 语言: Python 3.11+
- 框架: Flask
- AI 模型:
- Gemini 3 (文案生成)
- 🍌Nano banana Pro (图片生成)
- 包管理: uv
- 框架: Vue 3 + TypeScript
- 构建: Vite
- 状态管理: Pinia
本项目是 HisMax/RedInk 的定制版本,保留了对 Vercel 部署的全面支持。
- Upstream: https://github.com/HisMax/RedInk (上游官方仓库)
- Fork: 本仓库包含 Vercel 适配、环境变量配置支持等自定义修改。
如果需要同步上游的最新更改,可以使用以下脚本:
./scripts/sync_upstream.sh此脚本会自动:
- 拉取 upstream 分支
- 合并更改
- 保留 Vercel 相关配置文件
- 报告冲突
所有与上游不同的自定义修改均记录在 CUSTOM_MODIFICATIONS.md 中。主要包括:
- Vercel 配置文件 (
vercel.json,api/index.py) - 环境变量配置支持 (
backend/config.py) - 存储抽象层
本项目针对 Vercel Serverless 进行了优化。
- Fork 本仓库到你的 GitHub。
- 在 Vercel 中导入项目。
- 配置环境变量 (Environment Variables):
GOOGLE_CLOUD_API_KEY: 必须。STORAGE_BACKEND: 建议设为vercel_blob或vercel_kv(需要绑定相应存储)。VERCEL_BLOB_READ_WRITE_TOKEN: 如果使用 Blob 存储。VERCEL_KV_...: 如果使用 KV 存储。
- 部署。
详细 Vercel 部署文档请参考 docs/vercel.md (如果存在) 或查看 CUSTOM_MODIFICATIONS.md。
最简单的部署方式,一行命令即可启动:
docker run -d -p 12398:12398 -v ./output:/app/output histonemax/redink:latest访问 http://localhost:12398,在 Web 界面的设置页面配置你的 API Key 即可使用。
前置要求:
- Python 3.11+
- Node.js 18+
- pnpm
- uv
1. 克隆项目
git clone <your-repo-url>
cd RedInk2. 配置 API 服务 复制配置模板文件:
cp .env.example .env编辑 .env 文件配置环境变量。
3. 安装后端依赖
uv sync4. 安装前端依赖
cd frontend
pnpm install5. 启动服务
启动后端:
uv run python -m backend.app启动前端:
cd frontend
pnpm dev- 输入主题: 在首页输入想要创作的主题,如"如何在家做拿铁"
- 生成大纲: AI 自动生成 6-9 页的内容大纲
- 编辑确认: 可以编辑和调整每一页的描述
- 生成图片: 点击生成,实时查看进度
- 下载使用: 一键下载所有图片
- 上传参考图片: 适合品牌方,保持品牌视觉风格
- 修改描述词: 精确控制每一页的内容和构图
- 重新生成: 对不满意的页面单独重新生成
项目支持两种配置方式:
- Web 界面配置(推荐):启动服务后,在设置页面可视化配置
- 环境变量 / YAML 文件配置:
- 支持
.env环境变量配置(适合 Vercel) - 支持 YAML 配置文件(适合本地/Docker)
- 支持
配置文件: text_providers.yaml 或通过环境变量配置。
配置文件: image_providers.yaml 或通过环境变量配置。
- 关闭(默认):图片逐张生成,适合 GCP 300$ 试用账号或有速率限制的 API
- 开启:图片并行生成(最多15张同时),速度更快,但需要 API 支持高并发
-
API 配额限制:
- 注意 Gemini 和图片生成 API 的调用配额
- GCP 试用账号建议关闭高并发模式
-
生成时间:
- 图片生成需要时间,请耐心等待(不要离开页面)
欢迎提交 Issue 和 Pull Request!
如果这个项目对你有帮助,欢迎给个 Star ⭐
- 支持更多图片格式,例如一句话生成一套PPT什么的
- 历史记录管理优化
- 导出为各种格式(PDF、长图等)
- ✨ 新增 Docker 支持,一键部署
- ✨ 发布官方 Docker 镜像到 Docker Hub:
histonemax/redink - 🔧 Flask 自动检测前端构建产物,支持单容器部署
- 🔧 Docker 镜像内置空白配置模板,保护 API Key 安全
- 📝 更新 README,添加 Docker 部署说明
- ✨ 新增版权信息展示,所有页面显示开源协议和项目链接
- ✨ 优化图片重新生成功能,支持单张图片重绘
- ✨ 重新生成图片时保持风格一致,传递完整上下文(封面图、大纲、用户输入)
- ✨ 修复图片缓存问题,重新生成的图片立即刷新显示
- ✨ 统一文本生成客户端接口,支持 Google Gemini 和 OpenAI 兼容接口自动切换
- ✨ 新增 Web 界面配置功能,可视化管理 API 服务商
- ✨ 新增高并发模式开关,适配不同 API 配额
- ✨ API Key 脱敏显示,保护密钥安全
- ✨ 配置自动保存,修改即时生效
- 🔧 调整默认 max_output_tokens 为 8000,兼容更多模型限制
- 🔧 优化前端路由和页面布局,提升用户体验
- 🔧 简化配置文件结构,移除冗余参数
- 🔧 优化历史记录图片显示,使用缩略图节省带宽
- 🔧 历史记录重新生成时自动从文件系统加载封面图作为参考
- 🐛 修复
store.updateImage方法缺失导致的重新生成失败问题 - 🐛 修复历史记录加载时图片 URL 拼接错误
- 🐛 修复下载功能中原图参数处理问题
- 🐛 修复图片加载 500 错误问题
- GitHub Issues: https://github.com/HisMax/RedInk/issues
- Email: [email protected]
- 微信: Histone2024(添加请注明来意)
- GitHub: @HisMax
本项目采用 CC BY-NC-SA 4.0 协议进行开源
你可以自由地:
- ✅ 个人使用 - 用于学习、研究、个人项目
- ✅ 分享 - 在任何媒介以任何形式复制、发行本作品
- ✅ 修改 - 修改、转换或以本作品为基础进行创作
但需要遵守以下条款:
- 📝 署名 - 必须给出适当的署名,提供指向本协议的链接,同时标明是否对原始作品作了修改
- 🚫 非商业性使用 - 不得将本作品用于商业目的
- 🔄 相同方式共享 - 如果你修改、转换或以本作品为基础进行创作,你必须以相同的协议分发你的作品
如果你希望将本项目用于商业目的(包括但不限于):
- 提供付费服务
- 集成到商业产品
- 作为 SaaS 服务运营
- 其他盈利性用途
请联系作者获取商业授权:
- 📧 Email: [email protected]
- 💬 微信: Histone2024(请注明"商业授权咨询")
默子会根据你的具体使用场景提供灵活的商业授权方案。
本软件按"原样"提供,不提供任何形式的明示或暗示担保,包括但不限于适销性、特定用途的适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责。