# Aliang Shortvideo

> 短剧全流程制作流水线——把一句话灵感逐步做成可拍/可播的短剧：① 剧情大纲 → ② 分集剧本（含台词） → ③ 分镜表 → ④ 用百炼 bl CLI 批量生成每镜关键帧图片 → ⑤ 图生视频合成最终成片。支持多题材（草根逆袭/复仇打脸/都市甜宠/悬疑反转/家庭伦理/古装重生/战神赘婿/搞笑沙雕），支持按单镜指定时长（5s/10s/15s）。每阶段产出后暂停等用户确认再继续。⚠️ **视频生成费钱：开发/测试/演示阶段默认只产出视频命令、不实跑，需用户显式确认要为某段付费才生成**。当用户说"做短剧""短剧剧本""短剧分镜""把这个点子做成短剧""短剧出图""短剧成片"时使用。

- **Type:** Skill
- **Install:** `agentstack add skill-aliang2052-aliang-skills-aliang-shortvideo`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [aliang2052](https://agentstack.voostack.com/s/aliang2052)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [aliang2052](https://github.com/aliang2052)
- **Source:** https://github.com/aliang2052/aliang-skills/tree/main/skills/aliang-shortvideo

## Install

```sh
agentstack add skill-aliang2052-aliang-skills-aliang-shortvideo
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 短剧全流程制作流水线

把一句话灵感做成可播短剧，**五阶段、每步暂停确认**：

```
① 剧情大纲 → ② 分集剧本(台词) → ③ 分镜表(枢纽) → ④ 批量出图 → ⑤ 图生视频(成片)
```

⚠️ **视频生成费钱**。①~④ 可放心跑；**⑤ 图生视频默认不自动实跑**——开发/测试/演示时只产出每段的 `bl video` 命令交给用户，或等用户显式确认要为某段付费，再逐段生成。功能要做全，钱不替用户烧。

## 前置

- `bl`（百炼 CLI）可用并已登录（`bl auth status` 可查）。出图阶段需要它。
- 开工先确认 4 件事，其余用默认：**① 一句话灵感**（必问）；**② 题材**（用 AskUserQuestion 给 3-4 个高频项让用户选，见 `references/genres.md`）；**③ 总时长**（用 AskUserQuestion 给 15s / 30s / 60s + 自定义；用户已在灵感里说了时长就别再问）；**④ 画风**（用 AskUserQuestion 从 `references/styles.md` 的 22 个预设里让用户挑，分写实/动漫/3D-CG/插画/风格化 5 类；按题材把最搭的放第一标「(推荐)」。**问画风时务必明确邀请上传参考图**：在选项里加一项「📎 我发一张参考图（照着这张的画风做）」，并提示用户可直接把图片拖/粘贴进对话、或给本地路径/URL。用户发了图就走参考图模式，见下条）。画风是画面质量的头号变量，**必须开工就定**，别拖到出图。比例默认竖版 9:16、单镜默认 5s，用户没要求就别追问。
- **时长换算**：图片张数 ≈ 总时长 ÷ 5（每 5s 一镜一张）。15s≈3 张、30s≈6 张、60s≈12 张。总时长定了，镜数就定了。
- **可选·参考图**：用户甩了参考图（海报/截图/角色图）时，别只靠肉眼翻译——① 用 `bl vision` 把它读成一段精准的 `style` 串；② 把图路径填进 `storyboard.json` 的 `style_ref`，出图脚本会用 `bl image edit` 直接迁移这张图的画风，还原度更高。两者可并用。

## 工作流

### 阶段 ① 剧情大纲

1. 确认题材后，读 `references/genres.md` 取该题材的**爽点库 + 结构模板 + 红线**。
2. 抽爽点：跑 `python3 scripts/pick_beats.py --genre `（真随机抽 8-12 个，避免套路雷同）。
3. 按该题材结构写约 500 字**纯叙事**大纲，融入抽到的爽点，遵守反套路 + 内容健康红线。
4. 输出大纲 + 列出本次用的爽点 + 逆袭/反转路径标注。
5. **暂停**：请用户确认大纲走向，改完再进下一阶段。

### 阶段 ② 分集剧本

把大纲扩成可拍剧本：
- 按节奏切场（每场一个地点+冲突单元），标注 **场景 / 人物 / 动作 / 台词**。
- 台词口语化、短、有冲突感；旁白克制。
- 黄金 3 秒原则：第一场就抛冲突/悬念。
- 短剧分集可选：若用户要多集，每集结尾留扣。
- **暂停**：用户确认剧本，再进分镜。

### 阶段 ③ 分镜表（枢纽）

读 `references/storyboard.md`，产出**两份同源数据**：
1. 给人看的**分镜表格**（镜号/时长/景别/运镜/画面/角色动作/台词/情绪）。
2. 给脚本用的 **`storyboard.json`**（存到项目目录），含全片统一 `style`、固定 `characters[].desc`、每镜 `image_prompt`。

关键：
- **镜数由总时长定**：镜数 ≈ 总时长 ÷ 5（单镜默认 5s）。先按这个铺满镜数，再按剧情节奏微调。
- **单镜时长用户可逐镜调**：分镜表每镜都有「时长」列，用户可指定某镜 5s/10s/15s。给某镜 10s/15s 时，按 5s 为单位拆成多个子镜（视频阶段每段 5s），图片阶段每个子镜出 1 张——所以加长某镜会增加该镜的图片数。拆完把总时长/总张数报给用户对一下。
- `image_prompt` 只写画面，不写台词/镜号。
- **落实画风**：把开工选定的画风预设（`references/styles.md` 里的 style 串）写进 `storyboard.json` 的 `style`；有参考图就填 `style_ref`。此处只做应用/微调，不重新问（开工已定）。
- 先定全片 `style` 串和主角 `desc`（一致性命脉，见 storyboard.md 第六节）。
- **暂停**：用户确认分镜 + 各镜时长 + 画风，再出图。

### 阶段 ④ 批量出图

画风和分镜定了后，跑脚本批量出关键帧：

```bash
python3 scripts/gen_images.py --storyboard /storyboard.json --outdir 
```
- 每镜 1 张，存到 `/images/shot_NN.png`。
- 脚本自动把 `style` + 角色 `desc` 拼进每张图的 prompt，保证画风/长相统一。
- **建议先验主角脸**：先只出主角首次登场那 1-2 镜（`--only 1,2`），用户确认长相满意，再 `--only` 跑全量；不满意就调 `characters[].desc` 或换 `--seed` 重跑。
- 想更稳的人物一致性：给主角选一张满意的图设为 `characters[].ref`（基准图），脚本会自动切到 `bl image edit` 带参考图模式。
- 先 `--dry-run` 可只看命令不烧额度。
- **暂停**：把 `images/` 的图按镜号给用户预览确认，满意后进入成片。

### 阶段 ⑤ 图生视频（最终成片 · 💰 费钱，确认后再跑）

每张关键帧用 i2v 生成一段视频，再按镜号拼成成片。**这是真正的最终产物，但每段都要花钱。**

🚦 **花钱闸门——务必遵守**：
- **默认不自动实跑** `bl video generate`。先为每镜产出对应命令清单（填好 `--image`/运镜 prompt/时长），交给用户。
- 用户**显式确认**要为哪些段付费后，再逐段生成（可先只跑 1 段试效果，满意再批量）。
- 开发、调试、演示阶段一律**只产命令不实跑**，别替用户烧钱。

每段命令（约 5s/段，10s 镜=2 段，与分镜的子镜对应）：
```bash
bl video generate --image /images/shot_01.png \
  --prompt "" \
  --ratio 9:16 --duration 5 --download /video/shot_01.mp4
```
- 运镜 prompt 取分镜表的 `camera` + 动作。
- 全部段生成后用 ffmpeg 按镜号拼接成片；要加字幕/转场/配乐可转交 `video-editor`（Remotion）skill。
- **交付**：`/video/` 各段 mp4 + 拼接成片。

## 项目目录结构

```
/
├── outline.md         # ① 大纲
├── script.md          # ② 剧本
├── storyboard.md      # ③ 分镜表（人看）
├── storyboard.json    # ③ 分镜数据（脚本用）
├── images/shot_NN.png # ④ 关键帧
└── video/shot_NN.mp4  # ⑤ 各段视频 + 拼接成片（💰 确认后才生成）
```

## 参考文件

- `references/genres.md` — 8 大题材的爽点库、结构模板、反套路/内容红线、题材选择表。
- `references/styles.md` — 22 种画风预设 style 串（写实/动漫/3D-CG/插画/风格化 5 类，按题材选）+ 参考图模式用法。**画质头号变量，定画风时必读**。
- `references/storyboard.md` — 分镜表格 + `storyboard.json` 结构、时长拆分规则、画面 prompt 写法、画风/角色一致性锚点。
- `scripts/pick_beats.py` — 按题材真随机抽爽点。
- `scripts/gen_images.py` — 读 storyboard.json 批量出图（文生图 / 带参考图编辑两种模式）。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [aliang2052](https://github.com/aliang2052)
- **Source:** [aliang2052/aliang-skills](https://github.com/aliang2052/aliang-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-aliang2052-aliang-skills-aliang-shortvideo
- Seller: https://agentstack.voostack.com/s/aliang2052
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
