📖 本文仅有中文版本。
项目背景
做小红书内容创作,每篇笔记最折腾的两件事:
- 写一段不油腻、像朋友推荐一样的种草文案
- 做一张让人愿意点开的杂志风格封面卡片
这个工具用 Gemini 多模态 AI 一次性把两件事搞定:上传产品截图,自动生成文案 + 5 种瑞士国际主义风格的封面卡片。
核心流程
输入:产品标题 + 3 张以上产品截图
输出:3 篇完整文案 + 杂志风格封面卡片(A/B/C/D/E 五种排版) + 详情页
技术栈
- Python — 主语言
- Gemini 2.5 Flash — 多模态 AI,看懂截图、生成文案、生成封面图
- Streamlit — Web 操作界面
- Playwright — 用浏览器渲染封面卡片 HTML 模板,输出图片
- Google Fonts CDN — Inter / Noto Sans SC / Noto Serif SC / JetBrains Mono
关于 API:双邮箱免费额度轮换
这个版本所有功能都用 Gemini 一家,包括文案生成和封面图生成。Gemini 免费额度对单账户而言每天足够用一段时间,但批量生成容易撞限额,所以工具内置了双邮箱 API key 轮换:
- 注册两个 Google 账户,分别申请 Gemini API key
- 在
config.py里配置两个 key - 调用时自动按使用配额或时间窗口在两个账号之间切换
- 等同于把每天可用额度翻倍,还能避免单账户被限速
申请 Gemini API key:aistudio.google.com/apikey
安装步骤
1. 克隆仓库
git clone https://github.com/pinacc640/first-one.git
cd first-one/xhs_tool
2. 安装依赖
pip install -r requirements.txt
playwright install chromium
Playwright 第一次用需要下载 Chromium 浏览器内核,会下载几百兆。
3. 配置两个 Gemini API key
编辑 config.py,或设置环境变量:
export GEMINI_API_KEY_1="第一个邮箱申请的 key"
export GEMINI_API_KEY_2="第二个邮箱申请的 key"
4. 准备产品截图
把产品截图放进 input/ 目录,或者直接在 Web 界面上传。
使用方法
启动 Web 界面(推荐)
streamlit run web_app.py
浏览器打开 http://localhost:8501:
- 输入产品标题
- 上传 3 张以上产品截图
- 点击「生成」
- 得到 3 篇文案 + 一组杂志风格封面卡片
命令行模式
python main.py --title "产品名称"
5 种封面卡片排版
所有封面采用 guizang 瑞士国际主义风格,5 种布局自动轮换,避免审美疲劳:
- A · Swiss Grid — 深色大字报,设备框截图
- B · Full-bleed Hero — 全屏大图 + 浮层标题
- C · Serif Center — 衬线居中,大量留白
- D · Dark Cinematic — 深色电影感
- E · Product Grid — 网格多截图
截图自动叠加 IKB 蓝滤镜 + 灰度处理,让产品图与背景融合,杂志感更强。
测试 5 种排版
不想跑完整流程,先看看 5 种排版长啥样:
python test_layouts.py
会在 output/ 下生成 5 张排版示意图。
输出结构
每次运行会在 output/ 下创建带时间戳的子目录:
output/20260529_143022_产品名/
├── note_1.txt 第 1 篇文案(标题 + 正文 + 标签)
├── note_2.txt 第 2 篇文案
├── note_3.txt 第 3 篇文案
├── cover_A.png A 排版封面
├── cover_B.png B 排版封面
├── cover_C.png C 排版封面
├── cover_D.png D 排版封面
├── cover_E.png E 排版封面
└── summary.json 汇总数据
文案风格
提示词调优过的方向:
- 务实不夸张,不堆砌"绝绝子"这种词
- 像朋友推荐一样自然
- 带具体使用细节
- 适当口语化,但不油腻
注意事项
- 需要能访问 Google API(Gemini)
- 双 key 轮换不是无限免费,密集调用还是会撞总限额
- 生成内容仅供参考,发布前请审核
- Playwright 第一次启动需要下载 Chromium,慢一点正常
- 字体走 Google Fonts CDN,离线环境会回退到系统字体
项目地址
GitHub: pinacc640/first-one (xhs_tool 目录)
欢迎 Star ⭐ 和提交 Issue。