AI-native 社交媒体内容创作平台
从选题调研到成片发布,全程 AI Agent 驱动 —— 任何 CLI agent(claude / codex / kimi / gemini / aider)都能驱动
demo.mp4成品样本 |
face.swap.mp4人脸适应功能 |
AI 全自动创作的健身短视频 — 从选题到成片,零人工干预,支持一键换人物形象
AutoViral 是一个本地运行的 AI 内容工作台,你描述一个选题,AI Agent 完成从调研到成片的全部工作:
你:"做一个月球战争的科幻短片"
│
▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 话题调研 │───▶│ 内容规划 │───▶│ 素材生成 │───▶│ 合成输出 │
│ │ │ │ │ │ │ │
│ AI 搜索 │ │ 分镜脚本 │ │ AI 生图 │ │ 视频拼接 │
│ 趋势分析 │ │ 文案策划 │ │ AI 生视频 │ │ 字幕配乐 │
│ 竞品参考 │ │ 配乐规划 │ │ AI 配乐 │ │ 转场特效 │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
每个步骤 AI 会先和你确认方案,等你同意后再执行。你随时可以在对话中给反馈、调整方向。
| 类型 | 目标平台 | 产出 |
|---|---|---|
| 短视频 | 抖音 | 带字幕、配乐的完整视频 |
| 图文 | 小红书 | 专业排版的多图 + 发布文案 |
| 能力 | 技术方案 | 说明 |
|---|---|---|
| AI 图片生成 | OpenRouter · openai/gpt-5.4-image-2(GPT Image 2) |
支持 4K、自定义宽高比、图生图 |
| AI 视频生成 | OpenRouter · bytedance/seedance-2.0(Seedance) |
图生视频,时长 {3,5,10}s |
| 配音 (TTS) | edge-tts → OpenAI 兜底 | 中/英旁白音轨 |
| 图文排版 | HTML/CSS + Playwright | 5 套小红书模板、专业字体 |
| 视频合成 | Remotion + FFmpeg | 合成、字幕、配乐、转场 |
| 作品内调研 | Agent 按需 Web research | 研究笔记保存在当前作品的 research/ 目录 |
| 质量评审 | LLM-as-Judge | 每步可选质量门控 |
AutoViral 不只是一个工具——它会记住你,并在每个作品里延续创作上下文。
🧠 长期记忆(EverMemOS)
集成 EverMemOS 长期记忆系统,AI Agent 在创作时自动检索:
- 风格画像 — 你偏好的表达方式、视觉风格、人设定位
- 创作历史 — 过去做过什么、哪些选题效果好
- 平台规则 — 各平台的算法偏好和内容规范
- 当前作品 —
topicHint、方案与按需调研笔记
每次创作完成后,对话内容自动同步回 EverMemOS,形成越用越懂你的正向循环。
- Node.js >= 20
- 任意 CLI agent — 任何 CLI agent(claude / codex / kimi / gemini / aider)都能驱动 AutoViral,安装并登录其一即可
- FFmpeg —
brew install ffmpeg
git clone https://github.com/nanxingw/AutoViral.git
cd AutoViral
npm install && npm run buildcp .env.example .env编辑 .env:
# OpenRouter 是唯一的外部生成网关 —— 图片 / 视频 / 翻译都走它
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxx一把 OpenRouter Key 即可解锁图片(openai/gpt-5.4-image-2)、视频(bytedance/seedance-2.0)与翻译。TTS(edge-tts)无需额外 Key;只有用 OpenAI 作为 TTS 兜底时才需配 OPENAI_API_KEY(可选)。
autoviral start # 后台启动
autoviral start --foreground # 前台启动(看日志)打开 http://localhost:3271 开始创作。
点击「新建作品」,输入标题和创作方向(如"科幻短片,月球大战"),选择类型和平台。
进入 Studio(短视频,composition.yaml)或 Editor(图文,carousel.yaml),在右侧 agent 面板里描述你想要的东西。agent 加载操作手册 skill(skills/autoviral/)并通过 autoviral CLI 驱动工位——它不强迫线性流程,按你的意图直接动手:
| 你想做 | 短视频 | 图文 |
|---|---|---|
| 找选题 | 按需搜索、分析竞品 | 按需搜索、参考同类内容 |
| 定方案 | 分镜脚本、画面描述、台词 | 每张图的内容规划、文案 |
| 出素材 | 生首帧 → 生视频片段 → 配音 | 生配图 → 排版渲染 |
| 成片 | Remotion 合成 + 字幕 + 配乐 | Konva 多图层 + 排序 + 发布文案 |
任意一步都能做起点:给完整 brief 就直接出素材、成片;只想先做作品内调研也可以。agent 不会反问"我们应该先做哪一步"。
工位本身对"什么是好视频"不持立场——审美交给你挂载的 sibling taste skill(
editorial-pro等),skills/autoviral/只教 agent 如何操作这个工位。
成品在右侧素材面板预览,保存在 ~/.autoviral/works/<id>/output/。
OpenRouter 是唯一的外部生成网关——图片、视频、翻译全部通过它,统一一把 Key、统一密钥管理(架构不变量 #2,不存在直连各家厂商的旁路)。
| 能力 | 模型 | 密钥 | 说明 |
|---|---|---|---|
| 图片生成 | openai/gpt-5.4-image-2(GPT Image 2,~$0.04/张) |
OPENROUTER_API_KEY |
支持 4K / 宽高比 / 图生图 |
| 视频生成 | bytedance/seedance-2.0(Seedance,~$0.76/3s) |
OPENROUTER_API_KEY(复用) |
图生视频,时长仅 {3,5,10}s,输出固定 720×1280@24 |
| 翻译 | anthropic/claude-sonnet-4.5 |
OPENROUTER_API_KEY(复用) |
YouTube ingest 等流程的字幕翻译 |
配音 (TTS) 不走 OpenRouter:默认本地 edge-tts,可选用 OpenAI 作兜底(需
OPENAI_API_KEY)。
检查当前工位上下文与环境接线是否就绪(在 Studio 终端面板里运行):
autoviral whoami # 打印当前 work / 端口 / 版本;env 未接线时非零退出,是安全 smoke test
autoviral docs # 打印操作手册;autoviral docs <topic> 看单节Studio 前端与后端之间是一条 bridge(HTTP + WebSocket) 协议;CLI agent 不直连后端进程,而是通过 autoviral CLI 调 bridge 的 /api/bridge/v1/* 端点——React UI 和 autoviral CLI 共用同一条 bridge,所以任何 CLI agent 都能用同一套命令驱动工位。
浏览器 (React 19 + Vite)
│ HTTP / WebSocket(bridge)
▼
Node.js daemon (Express + Hono, :3271)
│ bridge /api/bridge/v1/*
▼
CLI agent (claude / codex / kimi / gemini / aider)
│ 调 `autoviral` CLI(协议层),不直接读 src/
▼
OpenRouter(唯一外部网关)—— 图片 GPT Image 2 / 视频 Seedance / 翻译
终端面板里的 agent 通过
autoviral whoami/docs/context等命令操作工位;这是一条稳定的协议层,不是早期的/invokeRPC 端点。
src/ # 后端 TypeScript
index.ts # daemon 入口
cli.ts # autoviral CLI 入口(start/stop/config …)
infra/ # 跨切面基础设施(config / logger / paths)
domain/ # 核心领域(work-store / memory / audio-tools)
server/ # Express + WS bridge
api.ts # REST 端点(config / works / assets …)
bridge/ # /api/bridge/v1/* —— 终端面向的协议(routes、ingest-youtube)
cost-ledger/ # 每作品成本账本
render-pipeline.ts # Remotion 驱动的 mp4 导出
providers/ # OpenRouter 适配器(image / video)
tts-providers/ # edge-tts → OpenAI 兜底
shared/ # composition.ts / carousel.ts(zod schema)
ws-bridge.ts # chat-agent WS 桥接(claude -p 子进程)
web/src/ # 前端 React 19 + Vite + Zustand + TanStack Query
pages/
Works.tsx # 作品 hub(pick up where you left off)
Studio.tsx # 视频创作(Remotion Player + 多轨 Timeline + Tweaks)
Editor.tsx # 图文创作(Konva 多图层 + Inspector + Filmstrip)
features/
studio/ # 视频合成数据模型 / Remotion composition / Tweaks
editor/ # 图文 carousel / Konva canvas / Inspector
terminal/ # xterm.js 面板(承载任意 CLI agent)
chat/ # WS 客户端 + StreamBlock
cli/autoviral/ # `autoviral` CLI(协议层,独立分发)
src/commands/ # whoami / docs / context / clip / check / ingest / export …
skills/autoviral/ # 操作手册 skill(agent-agnostic markdown,不教审美)
SKILL.md # 入口:你在 AutoViral 工位里
manual/ # 编号阅读顺序(00-quickstart … 05-conventions)
recipes/ # 常见任务的 step-by-step pattern
contracts/ # 错误码 / 事件流 schema
~/.autoviral/ # 运行时数据
config.yaml # 配置
fonts/ # 下载的专业字体
works/ # 作品数据 + 素材 + 成品
| 层 | 技术 |
|---|---|
| 前端 | React 19, Vite, Zustand, TanStack Query, editorial·cool·glass 主题 |
| 后端 | Node.js, Express + Hono, TypeScript, WebSocket(bridge) |
| AI Agent | agent-agnostic CLI(claude / codex / kimi / gemini / aider)经 autoviral CLI 驱动 |
| 图片生成 | OpenRouter · openai/gpt-5.4-image-2(GPT Image 2) |
| 视频生成 | OpenRouter · bytedance/seedance-2.0(Seedance) |
| 配音 (TTS) | edge-tts → OpenAI 兜底 |
| 图文排版 | HTML/CSS + Playwright + 模板 |
| 视频合成 | Remotion + FFmpeg |
配置优先级:.env > ~/.autoviral/config.yaml
| 配置项 | 默认值 | 说明 |
|---|---|---|
port |
3271 |
仪表盘端口 |
model |
opus |
Claude 模型(opus / sonnet / haiku) |
autoviral start [--foreground] # 启动服务
autoviral stop # 停止服务
autoviral dashboard # 打开浏览器
autoviral config get [key] # 查看配置
autoviral config set <key> <value> # 修改配置MIT