Next.jsReactSaaS

videofly-template — Next.js SaaS模板

作者 zifeixu85

VideoFly 是一套基于 Next.js 的 AI 视频生成 SaaS 模板,包含多模型接入、积分系统、支付与用户认证,采用 MIT 许可开源。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-02查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

支持 Sora 2、Wan 2.6、Veo 3.1、Seedance、Kie.ai 等多个 AI 视频模型

02

包含文本转视频、图片转视频与视频增强等生成模式

03

积分系统采用 FIFO 消耗,支持冻结、结算与释放

04

集成 Better Auth(Google OAuth 与 Magic Link)及 Creem、Stripe 双支付渠道

05

提供英语与中文国际化路由及 SEO 元数据生成

06

使用 PostgreSQL 与 Drizzle ORM 进行类型安全的数据库操作

模板详细介绍

VideoFly 是一套面向 AI 视频生成场景的 SaaS 模板,仓库为 zifeixu85/videofly-template,采用 Next.js 构建,线上演示位于 videofly.app。模板围绕视频生成业务组织代码,包含 AI 提供商抽象层、积分服务、视频生成服务、支付集成与国际化页面等模块,适合作为自建 AI 视频生成平台的起点。

功能方面,模板支持文本转视频、图片转视频与视频增强等模式,接入 Sora 2、Wan 2.6、Veo 3.1、Seedance、Kie.ai 等模型,并通过统一的模型参数映射集中处理不同提供商的参数转换。积分系统采用 FIFO 消耗,支持冻结、结算与释放,生成状态通过 SSE 加轮询更新。用户侧包含认证、视频历史记录与多语言界面。

技术实现上,项目使用 App Router 结构,数据库为 PostgreSQL 配合 Drizzle ORM,认证基于 Better Auth 并支持 Google OAuth 与 Magic Link,支付同时集成 Creem 与 Stripe,文件存储使用 R2/S3,样式基于 Tailwind CSS 与 shadcn/ui,动画使用 Framer Motion。

限制方面,模板依赖多个外部服务,包括数据库、对象存储、AI 提供商、支付渠道与邮件服务,均需自行申请密钥并配置环境变量。仓库路线图中团队协作、API 访问与 Webhooks 导出尚未完成。代码采用 MIT 许可,但演示图片、字体、图标等第三方素材需按各自许可单独核对。

Next.jsSaaS

适合你的项目吗?

适用场景

  • 快速搭建 AI 视频生成平台的前后端基础结构
  • 为视频生成产品接入多模型提供商并统一参数映射
  • 实现基于积分的计费与消耗流程,包括冻结与结算
  • 构建带用户认证、支付与多语言支持的 SaaS 应用
  • 参考其 AI 提供商抽象层与视频生成服务设计自有系统

适合人群

  • 希望基于现成模板启动 AI 视频生成 SaaS 的开发者
  • 需要多模型接入与积分计费参考实现的技术团队
  • 使用 Next.js 与 PostgreSQL 技术栈的全栈开发者
  • 需要中英双语界面与支付集成的产品原型团队

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    环境要求 Node.js 18+、pnpm 9+ 与 PostgreSQL 数据库

  2. 2

    复制 .env.example 为 .env.local,并填写数据库、认证、存储、AI 提供商、支付与邮件等变量

  3. 3

    执行 pnpm db:push 初始化数据库结构

  4. 4

    运行 pnpm dev 启动本地开发服务器,默认访问 http://localhost:3000

  5. 5

    模板基于 MIT 许可,分发时需保留版权与许可声明;第三方素材与外部服务需单独核对许可与费用

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 使用 AI 视频生成功能需自行申请 Evolink 的 API 密钥并配置环境变量,属于外部服务依赖。
  • 接入 Kie.ai 模型需自行申请其 API 密钥并配置环境变量,属于外部服务依赖。
  • 支付功能依赖 Creem 服务,需自行注册账号并配置 API 密钥与 Webhook 密钥。
  • 备用支付渠道依赖 Stripe 服务,需自行注册账号并配置 API 密钥与 Webhook 密钥。
  • 运行需自备 PostgreSQL 数据库并配置连接字符串,属于外部服务依赖。
  • 文件存储依赖 R2/S3 对象存储服务,需自行开通并配置访问密钥与存储桶。
  • Google OAuth 登录需自行在 Google 申请客户端 ID 与密钥并配置环境变量。
  • 邮件发送依赖 Resend 服务,需自行配置发件地址与相关凭据。
  • 路线图中团队协作功能尚未完成,当前版本不包含该能力。
  • 路线图中 API 访问功能尚未完成,当前版本不提供对外 API 访问能力。
  • 路线图中 Webhooks 导出功能尚未完成,当前版本不提供该能力。
  • 部分积分包仅限订阅用户购买,免费用户存在购买限制。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

EVOLINK_API_KEY='your-evolink-key'

README 原文

KIE_API_KEY='your-kie-key'

README 原文

CREEM_API_KEY='your-creem-key'

README 原文

STRIPE_API_KEY='your-stripe-key'

README 原文

DATABASE_URL='postgresql://user:pass@host:5432/db'

README 原文

STORAGE_ENDPOINT='https://your-r2-endpoint'

README 原文

GOOGLE_CLIENT_ID='your-google-client-id'

README 原文

RESEND_FROM='[email protected]'

README 原文

- [ ] 团队协作功能

README 原文

- [ ] API 访问

README 原文

- [ ] Webhooks 导出

README 原文

针对免费用户的购买限制逻辑(仅 Subscribers 可买特定包)

README 原文
https://github.com/zifeixu85/videofly-template/blob/main/LICENSEhttps://github.com/zifeixu85/videofly-template/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 91 / 100
技术栈
Next.js · React
网站类型
SaaS
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-03-31
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 2af171e00ed08827145ffea78af84ea1c6c8619158c012e42b512059bcc178db

2026-10-02T09:23:38.956Z

来源文件 / 仓库
# VideoFly 🎬

一个生产级 AI 视频生成 SaaS 模板,基于 Next.js 15 构建,支持 Sora 2、Veo 3.1 等先进 AI 模型。

> 本模板帮助你在几分钟内搭建自己的 AI 视频生成平台,包含完整的用户认证、积分系统、支付集成和精美的 UI 界面。

## ✨ 核心特性

### 🎬 AI 视频生成

- **多模型支持** - Sora 2、Wan 2.6、Veo 3.1、Seedance、Kie.ai
- **多种模式** - 文本转视频、图片转视频、视频增强
- **智能积分系统** - FIFO 积分消耗,支持冻结/结算/释放
- **实时状态追踪** - 生成进度实时更新

### 🎨 现代化 UI

- **Tailwind CSS 4 + shadcn/ui** - 精美可定制界面
- **深色主题** - 专为视频创作场景优化
- **流畅动画** - Framer Motion 动画效果
- **响应式设计** - 完美支持移动端

### 🏢 企业级架构

- **Next.js 15** - 最新 App Router 架构
- **React 19** - 最新 React 特性
- **Drizzle ORM** - 类型安全的数据库操作
- **Better Auth** - Google OAuth + Magic Link
- **Creem + Stripe** - 双支付渠道支持

### 🌍 国际化

- **多语言支持** - 英语、中文无缝切换
- **SEO 优化** - 元数据自动生成
- **本地化路由** - `/en/`、`/zh/` 前缀

## 🚀 快速开始

### 环境要求

- Node.js 18+
- pnpm 9+
- PostgreSQL 数据库

### 安装

```bash
# 克隆仓库(使用模板仓库)
git clone https://github.com/zifeixu85/videofly-template.git your-project
cd your-project

# 安装依赖
pnpm install

# 配置环境变量
cp .env.example .env.local
# 编辑 .env.local 填入你的配置

# 初始化数据库
pnpm db:push

# 启动开发服务器
pnpm dev
```

访问 [http://localhost:3000](http://localhost:3000) 查看效果。

### 一键部署

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/zifeixu85/videofly-template)

## 📁 项目结构

```
videofly/
├── src/
│   ├── app/                  # Next.js App Router 页面
│   │   ├── api/              # API 路由
│   │   │   ├── v1/           # REST API v1
│   │   │   ├── auth/         # Better Auth 端点
│   │   │   └── webhooks/     # 支付 Webhook
│   │   └── [locale]/         # 国际化页面
│   ├── ai/                   # AI 提供商抽象层
│   │   └── providers/        # Evolink、Kie 实现
│   ├── components/           # React 组件
│   ├── config/               # 配置
│   │   ├── credits.ts        # 积分/模型定价
│   │   └── pricing-user.ts   # 用户定价配置
│   ├── db/                   # 数据库
│   │   ├── schema.ts         # Drizzle schema
│   │   └── index.ts
│   ├── lib/                  # 工具函数
│   │   ├── auth/             # Better Auth 配置
│   │   └── storage.ts        # R2/S3 存储
│   ├── payment/              # 支付集成
│   ├── services/             # 业务服务
│   │   ├── credit.ts         # 积分系统
│   │   └── video.ts          # 视频生成
│   ├── stores/               # Zustand 状态管理
│   ├── hooks/                # React Hooks
│   ├── i18n/                 # 国际化
│   └── middleware.ts
├── scripts/                  # 工具脚本
├── docs/                     # 文档
└── public/                   # 静态资源
```

## 🛠 技术栈

| 类别 | 技术 |
|------|------|
| 框架 | Next.js 15 (App Router) |
| 运行时 | React 19 |
| 语言 | TypeScript |
| 数据库 | PostgreSQL + Drizzle ORM |
| 认证 | Better Auth + Google OAuth + Magic Link |
| 样式 | Tailwind CSS 4 + shadcn/ui |
| 支付 | Creem + Stripe |
| 存储 | R2/S3 |
| 动画 | Framer Motion |

## 📝 环境变量

```bash
# 数据库
DATABASE_URL='postgresql://user:pass@host:5432/db'

# 认证
BETTER_AUTH_SECRET='your-secret'
NEXT_PUBLIC_APP_URL='http://localhost:3000'
GOOGLE_CLIENT_ID='your-google-client-id'
GOOGLE_CLIENT_SECRET='your-google-client-secret'

# 存储 (R2/S3)
STORAGE_ENDPOINT='https://your-r2-endpoint'
STORAGE_ACCESS_KEY='your-access-key'
STORAGE_SECRET_KEY='your-secret-key'
STORAGE_BUCKET='your-bucket'
STORAGE_DOMAIN='https://your-domain.com'

# AI 提供商
EVOLINK_API_KEY='your-evolink-key'
KIE_API_KEY='your-kie-key'
AI_CALLBACK_URL='https://your-domain.com/api/v1/video/callback'
AI_CALLBACK_SECRET='your-callback-secret'

# 支付 - Creem (主要)
CREEM_API_KEY='your-creem-key'
CREEM_WEBHOOK_SECRET='your-creem-webhook-secret'

# 支付 - Stripe (备用)
STRIPE_API_KEY='your-stripe-key'
STRIPE_WEBHOOK_SECRET='your-stripe-webhook-secret'

# 邮件
RESEND_FROM='[email protected]'
```

## 🔄 同步模板更新

如果你基于本模板创建了自己的项目,可以按照以下方式同步模板的最新更新:

### 方式一:添加上游仓库(推荐)

```bash
# 添加上游仓库
git remote add upstream https://github.com/zifeixu85/videofly-template.git

# 获取上游更新
git fetch upstream

# 合并上游 main 分支
git merge upstream/main --allow-unrelated-histories

# 解决冲突后,推送到你自己的仓库
git push origin main
```

### 方式二:手动比较更新

```bash
# 添加上游仓库
git remote add upstream https://github.com/zifeixu85/videofly-template.git

# 查看上游变更
git diff upstream/main...main

# 选择性合并(查看变更后手动复制)
git checkout upstream/main -- src/components/landing
```

### 同步注意事项

1. **备份数据** - 同步前备份你的 `.env.local` 和数据库
2. **处理冲突** - 如果有冲突,需要手动解决
3. **环境变量** - 模板更新可能新增环境变量,检查 `.env.example`
4. **数据库迁移** - 如有 schema 变更,执行 `pnpm db:migrate`

## 🧩 近期更新(2026-01-26)

- **模型与参数映射统一**:所有 provider 参数转换集中在 `src/ai/model-mapping.ts`,Veo 3.1 高/低质量自动选择对应模型 ID  
- **生成参数对齐**:首页与工具页统一支持 `mode / imageUrl(s) / outputNumber / generateAudio`,图片上传走 `/api/v1/upload`  
- **模型能力修正**:Veo 3.1 固定 8s;Wan 2.6 / Seedance 分辨率与质量映射统一  
- **状态与通知**:SSE + 15s 轮询,生成完成支持浏览器通知与 toast  
- **My Creations 体验优化**:4:3 卡片、hover 自动播放、错误信息展示在预览区  

### 2026-02-02
- **定价组件升级**:默认展示 Monthly,Yearly 20% OFF 标签,高亮 Popular 方案 UI  
- **权限与修复**:CreditHistory 崩溃修复,针对免费用户的购买限制逻辑(仅 Subscribers 可买特定包)

## 🗺 路线图

- [x] 多 AI 模型支持
- [x] 积分系统
- [x] 支付集成 (Creem + Stripe)
- [x] 用户认证
- [x] 视频历史记录
- [x] 多语言国际化
- [ ] 团队协作功能
- [ ] API 访问
- [ ] Webhooks 导出

## 📄 许可证

本项目基于 MIT 许可证开源。

## 🙏 致谢

本项目基于以下优秀开源项目:

- [shadcn/ui](https://github.com/shadcn-ui/ui) - 精美的 UI 组件库
- [Magic UI](https://magicui.design/) - 现代化动画组件
- [Drizzle ORM](https://orm.drizzle.team/) - 轻量级数据库 ORM
- [Better Auth](https://github.com/next-auth/next-auth) - 现代化认证方案
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。