Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md
SeedanceChat — AI 视频脚本创作助手
通过自然语言对话生成专业 Seedance 2.0 视频脚本和分镜提示词的 Web 应用。基于 Claude Agent SDK 构建,内置完整的视频脚本创作技能,支持从故事分析到分镜脚本的全流程 AI 创作。
功能特性
- 自然语言创作 — 描述你想制作的视频内容,AI 自动生成剧本和分镜
- 全流程输出 — 一次性生成完整剧本、素材清单、Seedance 2.0 分镜提示词
- 16+ 提示词模板 — 涵盖叙事故事、产品展示、角色动作、风景旅拍、口播、音乐卡点等场景
- 文件上传 — 支持 TXT/MD 文本上传,AI 直接读取小说或故事素材
- 文件管理与预览 — 左侧文件栏管理生成的剧本/素材/分镜,支持预览和一键复制
- 创作模板引导 — 提供小说改短剧、故事大纲→剧本、单集分镜、提示词优化四个快捷入口
工作流程
AI 按 5 步专业工作流执行创作:
- 分析输入 — 确定输入类型,提取角色、冲突、叙事弧线
- 确认参数 — 视觉风格、时长、画幅、基调、核心梗
- 生成剧本 — 标准 △ 镜头格式 + 对白 + OS/VO + 闪回 + 字幕
- 创建素材计划 — 角色(C)/场景(S)/道具(P) 编号和图像生成提示词
- 生成分镜脚本 — Seedance 2.0 时间轴格式提示词,可直接复制使用
技术栈
- 前端: React 18 + TypeScript + Tailwind CSS 4 + Vite
- 后端: Express + WebSocket + multer (文件上传)
- AI 引擎: Claude Agent SDK (
@anthropic-ai/claude-agent-sdk) - 创作技能: seedance-storyboard-generator (SKILL.md + 4 个参考文档)
环境要求
- Node.js >= 18
- Claude API Key(或兼容 Anthropic API 的第三方服务)
快速开始
1. 安装依赖
cd seedance-chat npm install
2. 配置环境变量
编辑 .env 文件:
# Claude API Key(必填) ANTHROPIC_API_KEY=your-api-key # API 基础地址(可选,用于第三方兼容接口) ANTHROPIC_BASE_URL=https://api.anthropic.com # 模型选择 MODEL=sonnet # 服务端口 PORT=3003
3. 启动开发服务器
npm run dev
启动后访问控制台显示的地址(通常为 http://localhost:5173),同时运行:
- 前端开发服务器(Vite,热更新)
- 后端 API + WebSocket 服务器(端口 3003)
4. 生产构建
npm run build npm start
使用方式
快捷模板
页面提供 4 个创作模板入口:
| 模板 | 说明 |
|---|---|
| 小说改短剧 | 上传小说文本,改编成 5-20 集 × 15 秒短剧 |
| 故事大纲→剧本 | 提供故事概念,生成完整剧本和分镜 |
| 单集分镜生成 | 描述一个场景,直接生成 Seedance 提示词 |
| 优化已有提示词 | 粘贴提示词,按万能公式优化质量 |
对话示例
你: 帮我写一个15秒的Seedance分镜,古代侠客在枫叶林练剑,水墨动画风格,9:16竖屏
AI: [触发创作技能,读取模板和参考]
[生成剧本 → 素材清单 → 分镜脚本]
[文件保存到 output/ 目录]
你: 帮我再生成第2集,接续第1集结尾
AI: [读取上一集结尾帧,生成连贯的第2集]
文件上传
点击输入框旁的 📎 按钮或拖拽文件上传故事文本(支持 .txt / .md),AI 会自动读取并基于内容创作。
文件管理
左侧文件栏自动显示所有生成文件:
- 🎬 剧本 — 完整分镜头剧本
- 🎨 素材 — 角色/场景/道具生成提示词
- 🎞️ 分镜 — Seedance 2.0 格式提示词
点击文件可预览内容,点击「复制」可一键复制分镜提示词到 Seedance 平台使用。
项目结构
seedance-chat/
├── .claude/skills/
│ └── seedance-storyboard-generator/ # 创作技能
│ ├── SKILL.md # 5步工作流方法论
│ └── references/
│ ├── seedance-manual.md # 16种提示词模板 + 镜头语言
│ ├── 优化分镜.md # 提示词优化万能公式
│ ├── 好剧本.md # 优质剧本范例
│ └── 故事转视频脚本-转换工具.md # 通用转换方法论
├── server/
│ ├── index.ts # Express + WebSocket + 文件服务
│ ├── agent-client.ts # Claude Agent SDK 封装
│ ├── message-queue.ts # 异步消息队列
│ └── logger.ts # 日志记录
├── src/
│ ├── App.tsx # 主应用(含文件侧栏、欢迎页、消息)
│ ├── hooks/
│ │ ├── useWebSocket.ts # WebSocket 连接管理
│ │ └── useFileUpload.ts # 文件上传
│ ├── types.ts # TypeScript 类型定义
│ └── index.css # 样式
├── output/ # AI 生成的创作文件
├── uploads/ # 用户上传的故事素材
├── logs/ # 运行日志
├── .env # 环境变量
├── package.json
├── vite.config.ts
└── tsconfig.json
API 接口
| 端点 | 方法 | 说明 |
|---|---|---|
/ws | WebSocket | 双向通信,消息推送 |
/api/health | GET | 健康检查 |
/api/upload | POST | 上传文本文件(multipart/form-data,限 10MB) |
/api/files | GET | 获取已上传文件列表 |
/api/output | GET | 获取已生成的创作文件(含类型分类) |
/output/* | GET | 静态文件服务(生成的剧本和分镜) |
注意事项
- 复杂创作(多集短剧)可能需要较长响应时间(60-120 秒),请耐心等待
- Seedance 提示词建议控制在 300 字以内,过长可能导致指令遵循不一致
- 分镜提示词中避免使用敏感词,Seedance 平台可能会拒绝生成
- 剧本必须严格遵循 △ 镜头格式,每个镜头以
△开头 - 动作描述建议使用"缓缓""轻拂"等慢速词汇,避免画面崩坏
感谢和参考
https://linux.do/ 感谢佬友,
https://github.com/liangdabiao/claudesdk-skill AI生成claude-agent-sdk 项目