在 VPS 上用 ArcReel 搭建 AI 短剧生成流水线:从零到跑通
起因
我想试试 AI 短剧生成。手头的资源:
- 一台无 GPU 的 VPS
- 已经在跑的 One API、n8n、WordPress
- 不想花钱买视频生成服务
目标:用免费工具,从一段文字自动生成带画面的短剧视频。
为什么选 ArcReel
对比了几个开源方案后,ArcReel 最吸引我:
| 特点 | 说明 |
|---|---|
| Docker 部署 | 一条命令就能跑起来 |
| 角色一致性 | 先生成角色设计图,后续所有镜头参考它,避免角色变脸 |
| 支持自定义供应商 | 可以接入任何 OpenAI 兼容的 API |
| 完整流水线 | 从故事到分镜到视频到合成,全自动 |
第一步:Docker 部署
bash
git clone https://github.com/ArcReel/ArcReel.git cd ArcReel/deploy cp .env.example .env nano .env # 设置 AUTH_USERNAME 和 AUTH_PASSWORD docker compose up -d docker compose ps
启动后,数据库迁移自动完成,服务监听在 1241 端口。
验证:
bash
curl http://localhost:1241/health
# {"status":"ok","message":"视频项目管理 WebUI 运行正常"}
⚠️ 踩坑:首次启动需要等待
数据库迁移有 40+ 个版本,首次启动需要约 30 秒。不要在容器刚起来时就 curl,会报「连接被重置」。等日志出现 Application startup complete 再测试。
第二步:从 Mac 访问
ArcReel 默认监听 0.0.0.0:1241,但官方建议不要直接暴露到公网。用 SSH 隧道:
bash
# 在 Mac 上执行 ssh -L 1241:127.0.0.1:1241 root@你的VPS_IP -N
然后浏览器打开 http://localhost:1241,用 .env 里设置的用户名密码登录。
第三步:配置 Agent(最难的一步)
ArcReel 的 Agent 底层用的是 Claude Agent SDK,它要求 Anthropic 原生协议(/v1/messages),而不是 OpenAI 的 /v1/chat/completions。
尝试一:用 One API(失败)
我首先尝试用自己的 One API。测试 /anthropic/v1/messages 端点返回 200,看起来是通的。但 ArcReel 报错:
text
non-anthropic response: not JSON
原因:One API 的核心设计是把所有上游统一转成 OpenAI 格式,它返回的 JSON 结构(choices、finish_reason)和 Anthropic 原生格式(content、stop_reason)不匹配。ArcReel 的 SDK 无法解析。
尝试二:用 Anthropic 官方(余额不足)
换成 Anthropic 官方 API,填入 Key 后报:
text
Your credit balance is too low to access the Anthropic API.
Anthropic API 是预付额度制,新账户试用额度用完就必须充值。
尝试三:用 Agnes AI(成功)
Agnes AI 提供免费 API,同时覆盖文本、图片、视频三类模型,而且它原生支持 Anthropic 的 Messages API。
配置:
| 字段 | 值 |
|---|---|
| Base URL | https://apihub.agnes-ai.com |
| API Key | Agnes 控制台生成的 Key |
| Model | agnes-3.0-flash |
连接测试返回 200,耗时约 20 秒。
⚠️ 踩坑:Base URL 不要带 /v1
第一次填了 https://apihub.agnes-ai.com/v1/,报 404:
text
Invalid URL (GET /v1/v1beta/models)
原因:ArcReel 会自动拼接 /v1beta/models,如果 Base URL 末尾带了 /v1,就拼成了 /v1/v1beta/models。
改成 https://apihub.agnes-ai.com 就通了。
第四步:配置媒体供应商
Agent 配好后,还需要配置图片和视频生成。在 Providers 页面添加自定义供应商:
| 字段 | 值 |
|---|---|
| Base URL | https://apihub.agnes-ai.com |
| API Key | 同一个 Agnes Key |
ArcReel 会自动发现可用模型:
| 类型 | 模型 |
|---|---|
| 图片 | agnes-image-2.1-flash |
| 视频 | agnes-video-v2.0 |
在 Default Routing 页面确认:
- Video Channel:
Agnes · Agnes Video 2.0 - Durations:1-18s
- Resolution:480p / 720p / 1080p
第五步:创建测试项目
配置齐全后,创建一个新项目,丢了一小段测试故事进去:
清晨,一位年轻人在高尔夫球场挥出了人生第一杆,球精准落入球道中央。
ArcReel 的 Agent 开始工作,第一步是资产盘点——从故事里提取角色、场景、道具。
工作流状态显示:
text
state: ASSET_INVENTORY next_action: analyze_assets
视频目录暂时是空的,这是正常的。 Agent 需要按步骤推进:资产盘点 → 剧本规划 → 分镜 → 视频生成 → 合成。
踩坑记录
1. 首次启动需要等数据库迁移
40+ 个迁移版本,约 30 秒。不要在容器刚启动时测试。
2. One API 不支持 Anthropic 原生协议
One API 返回 OpenAI 格式,ArcReel 的 Claude Agent SDK 无法解析。
3. Anthropic 官方需要预付额度
新账户试用额度有限,用完必须充值。
4. Agnes 的 Base URL 不要带 /v1
ArcReel 会自动拼接 /v1beta/models,重复会导致 404。
5. Agnes 响应偏慢
agnes-3.0-flash 单次响应约 20 秒,Agent 多步编排会累积等待时间。
当前状态
| 组件 | 状态 |
|---|---|
| ArcReel 服务 | ✅ 运行在 1241 端口 |
| SSH 隧道访问 | ✅ |
| Agent Provider | ✅ agnes-3.0-flash |
| 图片模型 | ✅ agnes-image-2.1-flash |
| 视频模型 | ✅ agnes-video-v2.0 |
| 测试项目 | ⏳ 资产盘点中 |
成本分析
| 项目 | 成本 |
|---|---|
| ArcReel | 开源免费 |
| VPS | 已有 |
| Agnes Agent | 免费 |
| Agnes 图片 | 免费 |
| Agnes 视频 | 免费(RPM 1-2 次/分钟) |
| 总计 | 0 元 |
可优化的方向
1. 用 O4OpenAI 做协议转换
如果 Agnes 直连不稳定,可以部署 O4OpenAI 作为中间层,它专门做 Anthropic ↔ OpenAI 协议转换。
2. 用 RSS 原文配图替代 AI 生图
如果做新闻类短剧,可以直接用 RSS 里的原文配图,更相关、更稳定。
3. 批量生产
跑通流程后,用脚本批量提交多个故事,生成多条短剧。
一句话总结
在 VPS 上用 ArcReel + Agnes AI,零成本跑通 AI 短剧生成流水线。 关键难点不在 Docker 部署,而在 Agent 的 Anthropic 协议兼容性——One API 和 Anthropic 官方都走不通,Agnes AI 的免费 API 是当前最实际的方案。
