all-in-aigc/sorafm · 上手攻略
- 仓库:all-in-aigc/sorafm
- 链接:https://github.com/all-in-aigc/sorafm
- 分类:AI视频 · Sora · Next.js · 开源项目
- 作者:Tom
- 更新:2026-08-12
是什么
sorafm 是一个基于 Next.js 的开源 Sora AI 视频生成 Web 应用,提供可视化界面来管理和展示由 OpenAI Sora 生成的 AI 视频内容。项目支持 Docker 部署,可以在本地或私有服务器上快速搭建一个 Sora 视频展示站点。
技术栈:Next.js(前端框架)+ PostgreSQL(数据库)+ Tailwind CSS(样式)+ Vercel(官方推荐部署方案)。⚠️ 本项目是 Sora 视频的展示/管理界面,而非 Sora 模型本身;Sora 视频生成依赖 OpenAI 的 API(需自行提供账户和配额)。
解决什么问题
Sora 是 OpenAI 的文生视频模型,能力强大,但 OpenAI 在 2026 年 3 月已宣布停止 Sora 的移动端和 API 服务(API 计划于 2026 年 9 月完全关闭)。在此背景下,sorafm 作为开源社区对 Sora 视频展示场景的探索,提供了一个可部署的 Web UI,让用户可以在本地或私有环境中管理和浏览 AI 生成视频,适合:
- 个人/团队搭建内部 Sora 视频作品集
- 研究者展示和记录 Sora 实验产出
- 在 Sora API 彻底关闭前搭建一个本地化存档方案
快速安装
方式一:Vercel 一键克隆(推荐)
https://vercel.com/new/clone?repository-url=https://github.com/all-in-aigc/sorafm
Vercel 会引导填写必要的环境变量:
POSTGRES_URL:PostgreSQL 数据库连接字符串(必填)WEB_BASE_URI:应用根 URL(本地开发填http://localhost:3000)
⚠️ 数据库可使用 Vercel Postgres / Supabase / 本地 PostgreSQL。
方式二:Docker 部署(适合私有服务器)
# 构建镜像
sudo docker build -f deploy/Dockerfile -t sorafm:latest .
# 运行容器(端口 8014 → 容器 8080)
sudo docker run -itd -p 127.0.0.1:8014:8080 --restart=always sorafm:latest
配合 Nginx 反向代理:
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:8014/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_log /var/log/nginx/sorafm.error;
}
方式三:本地开发
# 克隆仓库
git clone https://github.com/all-in-aigc/sorafm
cd sorafm
# 安装依赖
pnpm install
# 初始化数据库(在 PostgreSQL 中创建数据库后执行)
# 参考 data/install.sql 建表
# 配置环境变量
# 在项目根目录创建 .env.local,内容如下:
# POSTGRES_URL="postgres://USER:PASSWORD@HOST/DB"
# WEB_BASE_URI="http://localhost:3000"
# 启动开发服务器
pnpm dev --port 3000
# 打开 http://localhost:3000
核心用法
数据库初始化
在 PostgreSQL 中执行建表 SQL(文件位置:data/install.sql)。需要先在数据库中创建一个空数据库,名称自定,然后将 install.sql 中的内容执行进去。
主题配置
项目使用 Tailwind CSS,若需自定义主题样式,修改 tailwind.config.js 中的主题色板和字体配置。
环境变量说明
| 变量 | 必填 | 说明 |
|---|---|---|
POSTGRES_URL |
✅ | PostgreSQL 连接字符串,格式:postgres://USER:PASSWORD@HOST/DB |
WEB_BASE_URI |
✅ | 站点根 URL,本地开发填 http://localhost:3000 |
Nginx 部署注意事项
Docker 方式运行时,容器内部应用监听 8080 端口,映射到宿主机 127.0.0.1:8014;Nginx 代理到 8014。请确保 Nginx 配置中正确设置 Host 和协议头,否则应用可能无法正确生成 URL。
典型适用场景
- Sora 视频作品集展示:搭建个人站点,展示自己用 Sora 生成的 AI 视频作品,适合创作者分享和对外展示
- 团队 AI 视频资产存档:研究团队或内容工作室在 Sora API 彻底关闭前,将所有生成视频元数据存档,配合私有部署保障数据可控性
- AI 视频实验记录:研究者用 sorafm 记录每次 Sora 生成实验的 prompt、参数和输出结果,便于回溯和对比分析
- 教学演示:在课堂或工作坊中演示 AI 视频生成效果,提供一个简洁的展示界面
坑与注意
- ⚠️ Sora API 已停止服务:OpenAI 于 2026 年 3 月宣布停止 Sora 移动端,API 预计 2026 年 9 月完全关闭。本项目作为展示界面,无法绕过这一限制;如需继续生成 Sora 视频,需使用已有的 Sora API 配额(若尚未过期)。
- 视频来源说明:README 明确指出,站点展示的所有视频均由 OpenAI 红色团队(red team)生成,非用户自行生成的内容。此为该仓库的设计定位——展示而非生成。
- 数据库是核心依赖:PostgreSQL 必须正常运行才能启动应用;
data/install.sql建表是首次部署的必要步骤。 - Docker 端口映射:容器内应用监听 8080,宿主机用 127.0.0.1:8014 做隔离映射——公网无法直接访问容器,如需对外暴露要配合 Nginx 并注意安全边界。
- POSTGRES_URL 格式:必须是完整的
postgres://协议字符串,包含用户名、密码、主机和数据库名,任何一项缺失都会导致连接失败。 - Vercel 部署的环境变量配置:Vercel 新建项目时会在界面引导填写环境变量;若克隆后未正确配置,部署会失败,请重点检查
POSTGRES_URL是否已填写。 - 视频版权注意:所有在 sorafm 上展示的视频均来自 OpenAI red team,商用或再分发需注意 OpenAI 的使用条款。
与同类对比
| 方案 | 类型 | 优点 | 缺点 |
|---|---|---|---|
| sorafm(本仓库) | 开源 Web UI | 可私有部署、Docker 支持、Next.js 生态 | 仅展示非生成、Sora API 已停 |
| Sora.FM 官网 | 在线服务 | 即开即用 | 无私有化能力、依赖官方服务 |
| OpenAI 官方 Sora | 官方生成平台 | 官方能力、最全功能 | API 2026-09 关闭、费用高 |
| Runway Gen-3 | 竞品 AI 视频 | 持续运营、API 稳定 | 非 Sora、开源程度低 |
| inVideo + Sora | 商业集成 | 有商业支持 | 闭源、无法私有化 |
核心差异:sorafm 是 Sora 展示场景的开源私有化方案,解决了"想自己托管一个 Sora 视频展示页"的需求,但生成能力完全依赖 OpenAI——在 Sora API 关闭的大背景下,其实用价值已转向存档和展示而非生产。
一句话推荐结论
sorafm 提供了一个干净、开源的 Sora 视频展示 Web UI,适合在 Sora API 彻底关闭前搭建私有视频作品站;⚠️ 但需注意 OpenAI 已于 2026 年 3 月停止 Sora 服务,本项目定位已从「生成」转向「展示存档」,如果你的核心需求是持续生成 AI 视频,建议评估 Runway、Pika 等仍在活跃运营的替代方案。
⚠️ 重要更新:OpenAI Sora 服务已于 2026 年 3 月停止,API 预计 2026 年 9 月完全关闭。本仓库仅作展示/存档用途,无法绕过此限制。原始仓库:https://github.com/all-in-aigc/sorafm