add poem-storyboard

This commit is contained in:
朱潮 2026-06-14 11:36:35 +08:00
parent 0e8eef8eaa
commit acb9330354

View File

@ -0,0 +1,112 @@
---
name: poem-storyboard
description: 古诗词 AI 视频分镜脚本生成器。输入一首古诗/词,产出秒级分镜表:每句诗对应起止秒数、画面细节中文描写、运镜方式、英文关键帧图片提示词、英文视频运动提示词。产出可直接交给 agnes-image 生成关键帧图片与分镜视频。适用:古诗动画、诗词 MV、国风短视频、AI 视频分镜、storyboard、关键帧脚本、shot list、诗词可视化、古诗配画配视频。
category: Creative Generation
---
# poem-storyboard
把一首**古诗词**拆解成可直接用于 AI 视频生产的**秒级分镜脚本**:每一句诗对应一个镜头,含起止秒数、画面细节中文描写、运镜方式、英文**关键帧图片提示词**、英文**视频运动提示词**。
本 Skill **只负责产出分镜脚本**。脚本里每个镜头的图片/视频提示词都已写成可直接执行的形式,后续由 agent 调用 [agnes-image](../../linggan/agnes-image/SKILL.md) 出图、出视频。
## 为什么用这个 Skill
- **秒级时间轴**:不是泛泛"配个图",而是明确"第 05 秒展示什么、镜头怎么动",可直接对齐剪辑时间线。
- **一句一镜**:以诗句为最小分镜单位,逐句给画面、运镜、关键帧、转场。
- **可直接出图出视频**每个镜头都给好了英文图片提示词与视频运动提示词agent 拿来就能喂给 agnes-image。
## 工作流
```
古诗原文
→ ① 解析(断句 / 意象 / 情绪 / 季节时辰)
→ ② 秒级分镜(每句诗 = 一个 shot分配 start/end 秒数)
→ ③ 细节描写(中文画面 + 运镜 + 转场)
→ ④ 关键帧提示词(英文,给 agnes-image 文生图)
→ ⑤ 视频运动提示词(英文,给 agnes-image 图生视频)
→ ⑥ 输出:可读分镜表(Markdown) + storyboard.json
```
## 全局参数(先确认/默认,再逐句分镜)
| 参数 | 说明 | 默认 |
|------|------|------|
| 视觉风格 `style` | 全局画风,拼到每条图片提示词后,保证全片一致 | `Chinese ink wash painting (shuimo), cinematic, soft mist, elegant, film grain` |
| 画幅 `aspect` | 关键帧图片尺寸 | `1152x768`16:9 横屏,与 agnes 视频默认一致;竖屏短视频用 `768x1152` |
| 每句时长 | 单句镜头秒数 | 5 秒/句(见"配速建议" |
## 配速建议(秒级时间轴)
- 默认 **每句 46 秒**;写景/抒情句可拉到 68 秒,叙事/转折句 34 秒。
- 经验公式:`句时长 ≈ 2.5 + 字数 × 0.4` 秒,再按情绪微调。
- 整片估算五言绝句4 句)≈ 1620 秒;七言绝句 ≈ 2024 秒律诗8 句)≈ 3545 秒。
- 各镜头在时间轴上**首尾相接不留缝**,转场(溶解/推拉)写在 `transition` 字段,靠剪辑时叠加。
## 每个分镜shot必须写清楚
1. **line**:诗句原文。
2. **start / end**:在整片时间轴上的起止秒(连续不留缝)。
3. **scene**:中文画面细节描写——主体、环境、光线、色调、季节时辰、情绪,具体到"能照着画"。
4. **camera**:运镜(如 slow dolly in / pan left / crane up / tilt down / static
5. **keyframes**12 个关键帧:
- **1 帧** → 该镜头走 agnes "图生视频"(单图动起来)。
- **2 帧**`start` + `end`)→ agnes "关键帧动画",镜头从首帧过渡到尾帧。
- 每帧含英文 `image_prompt`**只写静止画面内容,不要带运镜词**(运镜交给视频)。
- 两帧要保持同一场景/角色,仅光线、姿态、镜头位置渐变,保证过渡自然。
6. **motion**:英文视频运动提示词——描述这几秒画面如何动(云雾流动、衣袂飘、水波、镜头推进),强调保持主体一致。
7. **transition**:到下一镜的转场(如 `dissolve`、`fade`、`fade to black`、`match cut`)。
## 输出格式(同时给两份)
### A. 可读分镜表(给人看)—— Markdown 表格
| # | 时间 | 诗句 | 画面描写 | 运镜 | 关键帧 | 转场 |
|---|------|------|----------|------|--------|------|
| 1 | 05s | 床前明月光 | 夜深,简朴卧房,月光透过窗棂洒在地上如霜… | slow dolly in | 1 帧 | dissolve |
### B. storyboard.json给 agnes-image 用)—— 严格 JSON
```json
{
"title": "静夜思",
"author": "李白",
"style": "Chinese ink wash painting (shuimo), cinematic, soft mist, elegant, film grain",
"aspect": "1152x768",
"shots": [
{
"id": 1,
"line": "床前明月光",
"start": 0,
"end": 5,
"scene": "夜深人静,简朴卧房内,清冷月光透过窗棂洒在地面,泛着霜白色泽,墙上挂着素色帷幔。",
"camera": "slow dolly in",
"keyframes": [
{ "role": "start", "image_prompt": "Quiet ancient Chinese bedroom at midnight, cold moonlight streaming through a latticed window onto the floor like frost, minimal furniture, serene" },
{ "role": "end", "image_prompt": "Same bedroom, moonlight pooled brighter on the floor, frost-like glow intensified, deep silent night" }
],
"motion": "Slow gentle camera push-in, moonlight subtly shimmering on the floor, faint dust motes drifting, calm and still",
"transition": "dissolve"
}
]
}
```
> 提示词约定:`image_prompt` 用**英文**、只描述静止画面;`motion` 用**英文**、只描述这几秒怎么动。生成图片时把全局 `style` 拼到每条 `image_prompt` 后。
## 后续交给 agnes-imageagent 自动执行)
产出 storyboard.json 后,按每个 shot 顺序处理(详见 agnes-image Skill
1. **出关键帧图片**:对每个 `keyframes[*].image_prompt`(拼上全局 `style`),调用 agnes-image 文生图,`--size` 用 `aspect`,并 `--save` 到本地。文生图返回的 `MEDIA_URL` 已是**公网 URL**。
2. **出分镜视频**:用上一步的关键帧 `MEDIA_URL` 作为 `--image`,配 `motion` 提示词调用 agnes-image 图生视频;`--duration` 取该镜头 `end - start`;当有 2 个关键帧时加 `--keyframes` 走关键帧动画。
3. **拼接**:各镜头视频按 storyboard 的 `start/end` 时间轴在剪辑软件里顺序拼接BGM/字幕另行叠加。
> 关键agnes-image 的视频参考图**必须是公网 URL**(不支持本地/Base64。直接用文生图返回的 `MEDIA_URL` 即可,无需手动上传图床。
## 注意事项
- **先出图、再出视频**:视频依赖关键帧的公网 URL顺序不能反。
- **一致性**:在 `style` 里固定统一画风描述;需严格保持人物/场景时,可把上一镜尾帧 URL 作为下一镜的图生图参考。
- **画幅对齐**`aspect` 与视频分辨率对齐能减少裁切;竖屏用 `768x1152`
- 古诗意象用通用国风描述即可,避免出现真实人物姓名或受版权保护的具体形象。