基于 AI 的贴纸生成 Web 应用:用户输入文本,通过 Replicate 生成贴纸图片,并配套用户系统、订阅支付与多语言能力。
StickerShow 是 AI 贴纸生成(AIGC)领域 一次商业化尝试的初期版本(MVP)。
当前版本已实现「文本 → AI 生成贴纸 → 用户系统 → 订阅支付 → 多语言」的完整主流程,可用于产品演示与早期市场验证。
⚠️ 若要进行真正商用,仍需完成以下工作:
- 深度垂直领域研究:进一步调研目标用户与真实使用场景、明确产品定位、梳理内容合规要求(AI 生成内容的版权与审核政策)、制定定价与增长策略等。
- Harness 完成:补齐自动化测试与校验、各类边界条件与异常处理(例如支付订阅中的重复订阅判断、订阅次数限制、Webhook 可靠性等),使工程质量达到可稳定上线的标准。
- AI 贴纸生成:基于 Replicate 的文生图能力,生成贴纸图片
- 用户系统:Google 登录(NextAuth)
- 订阅支付:Stripe 订阅(月付 / 年付)
- 多语言:基于
next-intl的国际化(中 / 英等) - 图片存储:Cloudflare R2 存储生成的图片
- 框架:Next.js(App Router)+ TypeScript
- 样式:Tailwind CSS
- 数据库:PostgreSQL(SQL 见
/sql目录) - 认证:NextAuth(Google)
- 支付:Stripe
- AI:Replicate
- 存储:Cloudflare R2
src/
app/ # 页面与 API 路由(含 [locale] 多语言)
components/ # 组件
configs/ # 配置(stripe、openai 等)
context/ # 全局状态
i18n/ # 多语言配置
libs/ # 第三方封装(db、stripe、replicate、R2 等)
servers/ # 服务端逻辑(用户、作品、订阅等)
middleware.ts # 路由中间件
sql/ # 数据库建表 SQL
messages/ # 多语言文案
public/ # 静态资源
git clone <your-repo-url>
cd StickerShowyarn
# 或
npm install
# 或
pnpm install复制 .env.example 为 .env.local,并按需修改其中的配置项。生产环境配置在 .env.production。
主要配置项:
- Google 登录:参考 Google Auth 配置
- 数据库:任意 PostgreSQL;建表 SQL 位于
/sql目录,创建数据库后执行即可 - Cloudflare R2:用于存储生成的图片,需在 Cloudflare 后台创建 bucket 并配置;如用到图像转换(URL 压缩),需在 Cloudflare「图像 → 转换」中为对应域名开启
- Stripe:价格配置在
src/configs/stripeConfig.ts,具体取值从 Stripe 后台获取(可参考 nextjs-subscription-payments,本项目已将其改造为支持任意 PostgreSQL)
yarn dev
# 或
npm run dev
# 或
pnpm dev浏览器打开 http://localhost:3000。
- Replicate Webhook:贴纸生成结果通过 Replicate 回调返回。本地调试时需将
REPLICATE_WEBHOOK配置为公网 URL(可用 ngrok 临时暴露本地);线上环境配置为你的线上域名。 - Vercel 定时任务:项目通过
vercel.json配置定时任务(如将贴纸文本翻译为其他语言),免费账户有调用频率限制。如不需要可删除该文件,改用自有服务器定时调用接口。 - Stripe 测试模式:未激活的 Stripe 账号即为测试模式,可本地调通支付流程;上线前需配置 Stripe Webhook 等。
- 支付为简易对接:当前 Stripe 对接为简易版本,未覆盖全部边界条件(如支付后无使用次数限制、未处理重复订阅等),需自行完善。
本仓库为内部初期版本,许可证与商用授权以另行约定为准。