📖 本文仅有中文版本。

项目背景

做小红书内容创作,每篇笔记最折腾的两件事:

  • 写一段不油腻、像朋友推荐一样的种草文案
  • 做一张让人愿意点开的杂志风格封面卡片

这个工具用 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

  1. 输入产品标题
  2. 上传 3 张以上产品截图
  3. 点击「生成」
  4. 得到 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。