produce-anime
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese短剧制作技能 (Produce Short Drama)
Short Drama Production Skill (Produce Short Drama)
概述
Overview
本技能用于自动化生成完整短剧作品的全套制作文档和脚本。每次运行生成 1部完整作品,包含 25集,每集 30秒,分为 上、下两部分(各15秒):
- 每部分包含 9宫格分镜提示词(3×3布局,16:9比例)
- 每集生成 2个文件:对话脚本 + 故事板配置(9宫格分镜)
- 每个Part在配置中标注引用的(场景ID列表)和
scene_refs(道具ID列表)prop_refs - Seedance任务JSON在 媒体生成后 单独生成(每集2条:Part-A/B,使用 引用角色/场景/道具参考图和分镜图)
(@文件名) - 含氛围描述、中文人物对话、无字幕
- 视频编号管理索引
- 支持视觉风格预设(从 读取,注入到提示词和配置中)
.config/visual_styles.json
This skill is used to automatically generate a complete set of production documents and scripts for short drama works. Each run generates one complete work consisting of 25 episodes, with 30 seconds per episode divided into two parts (Part A and Part B) (15 seconds each):
- Each part includes 9-grid storyboard prompts (3×3 layout, 16:9 aspect ratio)
- Two files are generated per episode: dialogue script + storyboard configuration (9-grid storyboard)
- Each Part in the configuration marks the referenced (scene ID list) and
scene_refs(prop ID list)prop_refs - Seedance task JSON is generated separately after media generation (2 entries per episode: Part-A/B, using to reference character/scene/prop reference images and storyboard images)
(@file name) - Includes atmosphere descriptions, Chinese character dialogues, no subtitles
- Video number management index
- Supports visual style presets (read from and injected into prompts and configurations)
.config/visual_styles.json
完整工作流程(4个阶段)
Complete Workflow (4 Stages)
| 阶段 | 技能 | 产出 |
|---|---|---|
| 1. 剧本制作 | | full_script.md, character_bible.md, dialogue.md, storyboard_config.json, video_index.json |
| 2. 媒体生成 | | 角色参考图 + 场景四宫格图 + 道具三视图 + 9宫格分镜图 |
| 3. 任务生成 | | seedance_project_tasks.json(使用 |
| 4. 任务提交 | | 批量推送到 Seedance API |
| Stage | Skill | Output |
|---|---|---|
| 1. Script Production | | full_script.md, character_bible.md, dialogue.md, storyboard_config.json, video_index.json |
| 2. Media Generation | | character reference images + 4-grid scene images + 3-view prop images + 9-grid storyboard images |
| 3. Task Generation | | seedance_project_tasks.json (50 entries with @image references) |
| 4. Task Submission | | Batch push to Seedance API |
视觉风格预设
Visual Style Presets
项目支持从 读取视觉风格预设。用户可通过以下方式指定风格:
/data/dongman/.config/visual_styles.json- 指定风格名:如 "使用 Vintage Hong Kong 风格"
- 指定风格ID:如 "风格7"
- 指定中文名:如 "港风复古"
- 不指定:使用 对应的默认风格
default_style_id
⚠️ 风格选择交互:在生成角色参考图、场景四宫格图和道具三视图时,必须先让用户选择视觉风格。使用工具列出ask_questions中的所有风格选项,让用户确认后再开始生成。风格会同时影响角色/场景/道具的参考图风格和分镜图风格。visual_styles.json
选中的风格会:
- 写入 的
metadata.json字段visual_style - 写入每集 的
storyboard_config.json字段visual_style - 将 追加到所有
prompt_suffix末尾ai_image_prompt
风格预设字段说明:
| 字段 | 说明 | 示例 |
|---|---|---|
| 摄影机/机身 | Panavision Sphero 65 and Hasselblad Lenses |
| 胶片/传感器 | Vision3 500T 5219 |
| 滤镜组合 | ND0.6, Diffusion Filter 1/4 |
| 焦距 | 65mm |
| 光圈 | f/2.0 |
| 追加到AI提示词末尾的风格描述 | shot on Panavision... |
The project supports reading visual style presets from . Users can specify styles in the following ways:
/data/dongman/.config/visual_styles.json- Specify style name: e.g., "Use Vintage Hong Kong style"
- Specify style ID: e.g., "Style 7"
- Specify Chinese name: e.g., "Hong Kong Retro Style"
- No specification: Use the default style corresponding to
default_style_id
⚠️ Style Selection Interaction: When generating character reference images, 4-grid scene images, and 3-view prop images, users must first select a visual style. Use thetool to list all style options inask_questionsand start generation only after user confirmation. The style will affect both the reference image styles of characters/scenes/props and the storyboard image styles.visual_styles.json
The selected style will:
- Be written to the field in
visual_stylemetadata.json - Be written to the field in each episode's
visual_stylestoryboard_config.json - Append to the end of all
prompt_suffixai_image_prompt
Visual style preset field descriptions:
| Field | Description | Example |
|---|---|---|
| Camera/body | Panavision Sphero 65 and Hasselblad Lenses |
| Film/sensor | Vision3 500T 5219 |
| Filter combination | ND0.6, Diffusion Filter 1/4 |
| Focal length | 65mm |
| Aperture | f/2.0 |
| Style description appended to the end of AI prompts | shot on Panavision... |
执行流程
Execution Process
当用户要求制作短剧/影视作品时,按以下步骤顺序执行:
When users request to create short dramas/film and television works, follow the steps below in order:
第一步:初始化项目
Step 1: Initialize Project
- 读取 获取当前作品编号(如不存在则从
/data/dongman/projects/index.json开始)DM-001 - 在 下创建新作品目录,命名规则:
/data/dongman/projects/{作品编号}_{作品名称拼音缩写}/ - 创建作品目录结构:
projects/
├── index.json # 所有作品索引(全局管理)
└── DM-001_xxxx/ # 单部作品目录
├── metadata.json # 作品元数据
├── script/ # 剧本
│ └── full_script.md # 完整剧本(25集大纲+详细剧本)
├── characters/ # 角色设计
│ └── character_bible.md # 角色圣经(所有角色设定)
├── scenes/ # 场景设计(全剧复用)
│ └── scene_bible.md # 场景圣经(所有场景设定+AI绘图关键词)
├── props/ # 道具设计(全剧复用)
│ └── prop_bible.md # 道具圣经(所有道具设定+AI绘图关键词)
├── episodes/ # 各集内容
│ ├── EP01/
│ │ ├── dialogue.md # 本集对话脚本(中文,覆盖上下两部分)
│ │ └── storyboard_config.json # 故事板配置(含上下两部分,每部分9宫格,含scene_refs/prop_refs)
│ ├── EP02/
│ │ └── ...
│ └── ... (EP01-EP25)
├── seedance_project_tasks.json # [阶段3·媒体生成后] 全剧Seedance任务(50条,含@图片引用)
└── video_index.json # 视频编号管理索引- Read to get the current work number (start from
/data/dongman/projects/index.jsonif it does not exist)DM-001 - Create a new work directory under with the naming rule:
/data/dongman/projects/{work number}_{pinyin abbreviation of work name}/ - Create the work directory structure:
projects/
├── index.json # All works index (global management)
└── DM-001_xxxx/ # Single work directory
├── metadata.json # Work metadata
├── script/ # Script
│ └── full_script.md # Complete script (25 episodes outline + detailed script)
├── characters/ # Character design
│ └── character_bible.md # Character bible (all character settings)
├── scenes/ # Scene design (reused throughout the drama)
│ └── scene_bible.md # Scene bible (all scene settings + AI drawing keywords)
├── props/ # Prop design (reused throughout the drama)
│ └── prop_bible.md # Prop bible (all prop settings + AI drawing keywords)
├── episodes/ # Episode content
│ ├── EP01/
│ │ ├── dialogue.md # Episode dialogue script (Chinese, covering both parts)
│ │ └── storyboard_config.json # Storyboard configuration (including both parts, 9-grid per part, with scene_refs/prop_refs)
│ ├── EP02/
│ │ └── ...
│ └── ... (EP01-EP25)
├── seedance_project_tasks.json # [Stage 3 · After media generation] Full drama Seedance tasks (50 entries with @image references)
└── video_index.json # Video number management index第二步:剧本编写 (Script Writing)
Step 2: Script Writing
生成 ,包含:
script/full_script.mdmarkdown
undefinedGenerate , including:
script/full_script.mdmarkdown
undefined《作品名称》完整剧本
Complete Script of "Work Name"
作品信息
Work Information
- 类型:[冒险/奇幻/科幻/日常/恋爱 等]
- 风格:[热血/治愈/悬疑/搞笑 等]
- 视觉风格:[风格预设名称,如 Cinematic Film]
- 目标受众:[少年/少女/青年/全年龄]
- 总时长:25集 × 30秒 = 12分30秒
- 核心主题:一句话概括
- Genre: [Adventure/Fantasy/Sci-Fi/Daily/Love, etc.]
- Style: [Passionate/Healing/Suspense/Comedic, etc.]
- Visual Style: [Preset style name, e.g., Cinematic Film]
- Target Audience: [Teenagers/Girls/Young Adults/All Ages]
- Total Duration: 25 episodes × 30 seconds = 12 minutes 30 seconds
- Core Theme: One-sentence summary
世界观设定
Worldview Setting
[200-300字描述世界观]
[200-300 words describing the worldview]
故事大纲
Story Outline
[500字总体故事线]
[500 words overall story line]
各集概要
Episode Summaries
第1集:[标题]
Episode 1: [Title]
- 剧情概要:[50字]
- 关键事件:[列表]
- 情感基调:[喜/怒/哀/乐/紧张/温馨]
- Plot Summary: [50 words]
- Key Events: [List]
- Emotional Tone: [Joy/Anger/Sadness/Happiness/Tension/Warmth]
第2集:[标题]
Episode 2: [Title]
...(共25集)
undefined... (total 25 episodes)
undefined第三步:角色设计 (Character Design)
Step 3: Character Design
生成 ,每个角色包含:
characters/character_bible.mdmarkdown
undefinedGenerate , each character includes:
characters/character_bible.mdmarkdown
undefined角色设定集
Character Settings Collection
主要角色
Main Characters
角色1:[名字]
Character 1: [Name]
- 全名:
- 年龄:
- 性别:
- 身高/体重:
- 外貌特征:[详细描述,用于AI绘图提示词]
- 发型/发色:
- 瞳色:
- 体型:
- 标志性特征:
- 服装设计:
- 日常服装:
- 战斗/特殊服装:
- 性格特点:
- 口头禅:
- 背景故事:[100字]
- 角色弧光:[在25集中的成长变化]
- AI绘图关键词(英文):[用于生成角色一致性的Prompt]
- Full Name:
- Age:
- Gender:
- Height/Weight:
- Appearance Features: [Detailed description for AI drawing prompts]
- Hairstyle/Hair Color:
- Eye Color:
- Body Type:
- Signature Features:
- Costume Design:
- Daily Wear:
- Battle/Special Wear:
- Personality Traits:
- Catchphrase:
- Backstory: [100 words]
- Character Arc: [Growth changes in 25 episodes]
- AI Drawing Keywords (English): [Prompt for consistent character generation]
次要角色
Supporting Characters
...
...
角色关系图
Character Relationship Map
[用文字描述角色间的关系网络]
undefined[Text description of the relationship network between characters]
undefined第三步B:场景设计 (Scene Design)
Step 3B: Scene Design
生成 ,记录全剧会反复出现的主要场景。每个场景包含 AI 绘图关键词,用于后续生成多视角参考图。
scenes/scene_bible.mdmarkdown
undefinedGenerate to record main scenes that reappear throughout the drama. Each scene includes AI drawing keywords for generating multi-angle reference images later.
scenes/scene_bible.mdmarkdown
undefined场景设定集
Scene Settings Collection
场景1:[场景名称]
Scene 1: [Scene Name]
- 场景ID:scene_01
- 场景描述:[50-100字描述物理空间、装饰、氛围]
- 出现集数:EP01, EP02, EP05, EP15...
- 关键视觉元素:[列出该场景的标志性物件、色调、灯光]
- AI绘图关键词(英文):[详细的英文提示词,包含空间布局、光影、陈设风格]
- Scene ID: scene_01
- Scene Description: [50-100 words describing physical space, decoration, atmosphere]
- Episodes Appeared: EP01, EP02, EP05, EP15...
- Key Visual Elements: [List iconic objects, color tones, lighting of the scene]
- AI Drawing Keywords (English): [Detailed English prompts including spatial layout, light and shadow, furnishing style]
场景2:[场景名称]
Scene 2: [Scene Name]
...
> **场景筛选原则**:只收录在 **3集以上** 反复出现的重要场景(一次性出现的场景无需单独建参考图)。通常一部 25 集短剧有 3-6 个核心场景。...
> **Scene Screening Principle**: Only include important scenes that reappear in **3 or more episodes** (scenes that appear once do not need separate reference images). Usually, a 25-episode short drama has 3-6 core scenes.第三步C:道具设计 (Prop Design)
Step 3C: Prop Design
生成 ,记录全剧中有剧情意义的重要道具。每个道具包含 AI 绘图关键词,用于后续生成三视图。
props/prop_bible.mdmarkdown
undefinedGenerate to record important props with plot significance throughout the drama. Each prop includes AI drawing keywords for generating 3-view images later.
props/prop_bible.mdmarkdown
undefined道具设定集
Prop Settings Collection
道具1:[道具名称]
Prop 1: [Prop Name]
- 道具ID:prop_01
- 道具描述:[30-50字描述外观、材质、尺寸]
- 出现集数:EP10, EP12, EP25...
- 剧情意义:[此道具在剧中的象征/功能意义]
- AI绘图关键词(英文):[详细的英文提示词,包含材质、颜色、形状、细节]
- Prop ID: prop_01
- Prop Description: [30-50 words describing appearance, material, size]
- Episodes Appeared: EP10, EP12, EP25...
- Plot Significance: [Symbolic/functional significance of the prop in the drama]
- AI Drawing Keywords (English): [Detailed English prompts including material, color, shape, details]
道具2:[道具名称]
Prop 2: [Prop Name]
...
> **道具筛选原则**:只收录具有**剧情推动或象征意义**的道具(如信物、关键文件、标志性物品),不收录日常物件。通常一部 25 集短剧有 2-5 个核心道具。...
> **Prop Screening Principle**: Only include props with **plot-driving or symbolic significance** (such as tokens, key documents, iconic items), not daily objects. Usually, a 25-episode short drama has 2-5 core props.第四步:逐集生成内容
Step 4: Generate Episode Content
对每一集(EP01-EP25),生成以下 2个文件(seedance_tasks.json 在阶段3媒体生成后单独生成):
For each episode (EP01-EP25), generate the following 2 files (seedance_tasks.json is generated separately in Stage 3 after media generation):
4.1 对话脚本 dialogue.md
dialogue.md4.1 Dialogue Script dialogue.md
dialogue.md覆盖上、下两部分的全部对话:
markdown
undefinedCovers all dialogues for both parts:
markdown
undefined第X集:[标题] 对话脚本
Episode X: [Title] Dialogue Script
注意:本集视频不带字幕,对话通过配音传达
Note: This episode has no subtitles; dialogues are conveyed through dubbing
上半部分(Part A:00:00-00:15)
Part A (00:00-00:15)
视频编号:DM-001-EP01-A
Video ID: DM-001-EP01-A
| 序号 | 时间 | 角色 | 对话内容(中文) | 语气/情感 | 备注 |
|---|---|---|---|---|---|
| 1 | 00:02 | 角色A | 「对话内容」 | 坚定 | — |
| 2 | 00:06 | 角色B | 「对话内容」 | 惊讶 | — |
| 3 | 00:11 | 角色A | 「对话内容」 | 激动 | — |
| No. | Time | Character | Dialogue Content (Chinese) | Tone/Emotion | Remarks |
|---|---|---|---|---|---|
| 1 | 00:02 | Character A | 「Dialogue content」 | Firm | — |
| 2 | 00:06 | Character B | 「Dialogue content」 | Surprised | — |
| 3 | 00:11 | Character A | 「Dialogue content」 | Excited | — |
下半部分(Part B:00:15-00:30)
Part B (00:15-00:30)
视频编号:DM-001-EP01-B
Video ID: DM-001-EP01-B
| 序号 | 时间 | 角色 | 对话内容(中文) | 语气/情感 | 备注 |
|---|---|---|---|---|---|
| 4 | 00:17 | 角色B | 「对话内容」 | 低沉 | — |
| 5 | 00:22 | 角色A | 「对话内容」 | 温柔 | — |
| 6 | 00:27 | 角色C | 「对话内容」 | 神秘 | — |
undefined| No. | Time | Character | Dialogue Content (Chinese) | Tone/Emotion | Remarks |
|---|---|---|---|---|---|
| 4 | 00:17 | Character B | 「Dialogue content」 | Low-pitched | — |
| 5 | 00:22 | Character A | 「Dialogue content」 | Gentle | — |
| 6 | 00:27 | Character C | 「Dialogue content」 | Mysterious | — |
undefined4.2 故事板配置 storyboard_config.json
storyboard_config.json4.2 Storyboard Configuration storyboard_config.json
storyboard_config.json包含上、下两部分,每部分 9宫格分镜(3×3布局,16:9比例):
json
{
"video_id_prefix": "DM-001-EP01",
"episode": 1,
"episode_title": "第1集标题",
"total_duration_seconds": 30,
"fps": 24,
"resolution": "1920x1080",
"aspect_ratio": "16:9",
"style": "short_drama",
"visual_style": {
"style_id": 1,
"style_name": "Cinematic Film",
"camera": "Panavision Sphero 65 and Hasselblad Lenses",
"film_stock": "Vision3 500T 5219",
"filter": "ND0.6, Diffusion Filter 1/4",
"focal_length": "65mm",
"aperture": "f/2.0",
"prompt_suffix": "shot on Panavision Sphero 65 and Hasselblad Lenses, Vision3 500T 5219, ND0.6, Diffusion Filter 1/4, cinematic film grain, shallow depth of field"
},
"subtitle": false,
"synopsis": "本集剧情概要(100字)",
"emotion_tone": "情感基调",
"connection": {
"from_previous": "与上集的衔接",
"to_next": "为下集的铺垫"
},
"part_a": {
"video_id": "DM-001-EP01-A",
"label": "上",
"time_range": "00:00-00:15",
"duration_seconds": 15,
"scene_refs": ["scene_01"],
"prop_refs": [],
"atmosphere": {
"overall_mood": "上半部分氛围总描述",
"color_palette": ["#色值1", "#色值2", "#色值3"],
"lighting": "光影描述",
"weather": "天气/环境"
},
"video_prompt": "English prompt for AI video generation of Part A (15s), 16:9 aspect ratio. No subtitles.",
"bgm": {
"description": "背景音乐描述",
"mood": "音乐情绪关键词"
},
"storyboard_9grid": [
{
"grid_number": 1,
"time_start": 0.0,
"time_end": 1.67,
"scene_description": "画面描述(50字,含人物动作、表情、光影)",
"camera": {
"type": "远景|中景|近景|特写",
"movement": "固定|推|拉|摇|移|跟",
"angle": "平视|俯视|仰视"
},
"characters": [
{
"name": "角色名",
"action": "动作描述",
"expression": "表情",
"position": "画面位置(左/中/右)"
}
],
"dialogue": {
"speaker": "角色名(无对话则为null)",
"text": "中文对话内容",
"emotion": "语气/情感"
},
"atmosphere": "本格氛围描述",
"sfx": "音效描述",
"ai_image_prompt": "English prompt for this grid's image: character, composition, lighting, mood, 16:9 aspect ratio. [visual_style.prompt_suffix will be appended automatically]"
},
{
"grid_number": 2,
"time_start": 1.67,
"time_end": 3.33,
"scene_description": "...",
"camera": {},
"characters": [],
"dialogue": {},
"atmosphere": "...",
"sfx": "...",
"ai_image_prompt": "..."
},
{ "grid_number": 3, "time_start": 3.33, "time_end": 5.0, "...": "同上结构" },
{ "grid_number": 4, "time_start": 5.0, "time_end": 6.67, "...": "同上结构" },
{ "grid_number": 5, "time_start": 6.67, "time_end": 8.33, "...": "同上结构" },
{ "grid_number": 6, "time_start": 8.33, "time_end": 10.0, "...": "同上结构" },
{ "grid_number": 7, "time_start": 10.0, "time_end": 11.67, "...": "同上结构" },
{ "grid_number": 8, "time_start": 11.67, "time_end": 13.33, "...": "同上结构" },
{ "grid_number": 9, "time_start": 13.33, "time_end": 15.0, "...": "同上结构" }
]
},
"part_b": {
"video_id": "DM-001-EP01-B",
"label": "下",
"time_range": "00:15-00:30",
"duration_seconds": 15,
"scene_refs": ["scene_02"],
"prop_refs": ["prop_01"],
"atmosphere": {
"overall_mood": "下半部分氛围总描述",
"color_palette": ["#色值1", "#色值2", "#色值3"],
"lighting": "光影描述",
"weather": "天气/环境"
},
"video_prompt": "English prompt for AI video generation of Part B (15s), 16:9 aspect ratio. No subtitles.",
"bgm": {
"description": "背景音乐描述",
"mood": "音乐情绪关键词"
},
"storyboard_9grid": [
{
"grid_number": 1,
"time_start": 0.0,
"time_end": 1.67,
"scene_description": "画面描述(50字)",
"camera": {},
"characters": [],
"dialogue": {},
"atmosphere": "...",
"sfx": "...",
"ai_image_prompt": "..."
},
{ "grid_number": 2, "time_start": 1.67, "time_end": 3.33, "...": "同上结构" },
{ "grid_number": 3, "time_start": 3.33, "time_end": 5.0, "...": "同上结构" },
{ "grid_number": 4, "time_start": 5.0, "time_end": 6.67, "...": "同上结构" },
{ "grid_number": 5, "time_start": 6.67, "time_end": 8.33, "...": "同上结构" },
{ "grid_number": 6, "time_start": 8.33, "time_end": 10.0, "...": "同上结构" },
{ "grid_number": 7, "time_start": 10.0, "time_end": 11.67, "...": "同上结构" },
{ "grid_number": 8, "time_start": 11.67, "time_end": 13.33, "...": "同上结构" },
{ "grid_number": 9, "time_start": 13.33, "time_end": 15.0, "...": "同上结构" }
]
}
}注意:不在本步骤生成,而是在阶段3(媒体生成后)的第七步中生成,因为 prompt 需要引用实际存在的角色参考图和分镜图文件。seedance_tasks.json
9宫格分镜布局说明(3行×3列,16:9比例):
| 格1 (0.0-1.67s) | 格2 (1.67-3.33s) | 格3 (3.33-5.0s) |
|:---:|:---:|:---:|
| 格4 (5.0-6.67s) | 格5 (6.67-8.33s) | 格6 (8.33-10.0s) |
|:---:|:---:|:---:|
| 格7 (10.0-11.67s) | 格8 (11.67-13.33s) | 格9 (13.33-15.0s) |- 每格约 1.67秒,9格覆盖 15秒
- 上下两部分各有独立的9宫格
- 每集共 18格分镜(上9格 + 下9格)
- 每个Part包含 (引用的场景ID数组)和
scene_refs(引用的道具ID数组)prop_refs
Includes both parts, each with 9-grid storyboard (3×3 layout, 16:9 aspect ratio):
json
{
"video_id_prefix": "DM-001-EP01",
"episode": 1,
"episode_title": "Episode 1 Title",
"total_duration_seconds": 30,
"fps": 24,
"resolution": "1920x1080",
"aspect_ratio": "16:9",
"style": "short_drama",
"visual_style": {
"style_id": 1,
"style_name": "Cinematic Film",
"camera": "Panavision Sphero 65 and Hasselblad Lenses",
"film_stock": "Vision3 500T 5219",
"filter": "ND0.6, Diffusion Filter 1/4",
"focal_length": "65mm",
"aperture": "f/2.0",
"prompt_suffix": "shot on Panavision Sphero 65 and Hasselblad Lenses, Vision3 500T 5219, ND0.6, Diffusion Filter 1/4, cinematic film grain, shallow depth of field"
},
"subtitle": false,
"synopsis": "Episode plot summary (100 words)",
"emotion_tone": "Emotional tone",
"connection": {
"from_previous": "Connection with previous episode",
"to_next": "Foreshadowing for next episode"
},
"part_a": {
"video_id": "DM-001-EP01-A",
"label": "A",
"time_range": "00:00-00:15",
"duration_seconds": 15,
"scene_refs": ["scene_01"],
"prop_refs": [],
"atmosphere": {
"overall_mood": "Overall mood description of Part A",
"color_palette": ["#Color Value 1", "#Color Value 2", "#Color Value 3"],
"lighting": "Light and shadow description",
"weather": "Weather/Environment"
},
"video_prompt": "English prompt for AI video generation of Part A (15s), 16:9 aspect ratio. No subtitles.",
"bgm": {
"description": "Background music description",
"mood": "Music mood keywords"
},
"storyboard_9grid": [
{
"grid_number": 1,
"time_start": 0.0,
"time_end": 1.67,
"scene_description": "Scene description (50 words, including character actions, expressions, light and shadow)",
"camera": {
"type": "Long Shot|Medium Shot|Close-Up|Extreme Close-Up",
"movement": "Fixed|Push|Pull|Pan|Tilt|Follow",
"angle": "Eye Level|High Angle|Low Angle"
},
"characters": [
{
"name": "Character Name",
"action": "Action description",
"expression": "Expression",
"position": "Screen position (Left/Middle/Right)"
}
],
"dialogue": {
"speaker": "Character Name (null if no dialogue)",
"text": "Chinese dialogue content",
"emotion": "Tone/Emotion"
},
"atmosphere": "Mood description of this grid",
"sfx": "Sound effect description",
"ai_image_prompt": "English prompt for this grid's image: character, composition, lighting, mood, 16:9 aspect ratio. [visual_style.prompt_suffix will be appended automatically]"
},
{
"grid_number": 2,
"time_start": 1.67,
"time_end": 3.33,
"scene_description": "...",
"camera": {},
"characters": [],
"dialogue": {},
"atmosphere": "...",
"sfx": "...",
"ai_image_prompt": "..."
},
{ "grid_number": 3, "time_start": 3.33, "time_end": 5.0, "...": "Same structure as above" },
{ "grid_number": 4, "time_start": 5.0, "time_end": 6.67, "...": "Same structure as above" },
{ "grid_number": 5, "time_start": 6.67, "time_end": 8.33, "...": "Same structure as above" },
{ "grid_number": 6, "time_start": 8.33, "time_end": 10.0, "...": "Same structure as above" },
{ "grid_number": 7, "time_start": 10.0, "time_end": 11.67, "...": "Same structure as above" },
{ "grid_number": 8, "time_start": 11.67, "time_end": 13.33, "...": "Same structure as above" },
{ "grid_number": 9, "time_start": 13.33, "time_end": 15.0, "...": "Same structure as above" }
]
},
"part_b": {
"video_id": "DM-001-EP01-B",
"label": "B",
"time_range": "00:15-00:30",
"duration_seconds": 15,
"scene_refs": ["scene_02"],
"prop_refs": ["prop_01"],
"atmosphere": {
"overall_mood": "Overall mood description of Part B",
"color_palette": ["#Color Value 1", "#Color Value 2", "#Color Value 3"],
"lighting": "Light and shadow description",
"weather": "Weather/Environment"
},
"video_prompt": "English prompt for AI video generation of Part B (15s), 16:9 aspect ratio. No subtitles.",
"bgm": {
"description": "Background music description",
"mood": "Music mood keywords"
},
"storyboard_9grid": [
{
"grid_number": 1,
"time_start": 0.0,
"time_end": 1.67,
"scene_description": "Scene description (50 words)",
"camera": {},
"characters": [],
"dialogue": {},
"atmosphere": "...",
"sfx": "...",
"ai_image_prompt": "..."
},
{ "grid_number": 2, "time_start": 1.67, "time_end": 3.33, "...": "Same structure as above" },
{ "grid_number": 3, "time_start": 3.33, "time_end": 5.0, "...": "Same structure as above" },
{ "grid_number": 4, "time_start": 5.0, "time_end": 6.67, "...": "Same structure as above" },
{ "grid_number": 5, "time_start": 6.67, "time_end": 8.33, "...": "Same structure as above" },
{ "grid_number": 6, "time_start": 8.33, "time_end": 10.0, "...": "Same structure as above" },
{ "grid_number": 7, "time_start": 10.0, "time_end": 11.67, "...": "Same structure as above" },
{ "grid_number": 8, "time_start": 11.67, "time_end": 13.33, "...": "Same structure as above" },
{ "grid_number": 9, "time_start": 13.33, "time_end": 15.0, "...": "Same structure as above" }
]
}
}Note:is not generated in this step, but in Step 7 of Stage 3 (after media generation), because the prompt needs to reference existing character reference images and storyboard images.seedance_tasks.json
9-Grid Storyboard Layout Description (3 rows × 3 columns, 16:9 aspect ratio):
| Grid 1 (0.0-1.67s) | Grid 2 (1.67-3.33s) | Grid 3 (3.33-5.0s) |
|:---:|:---:|:---:|
| Grid 4 (5.0-6.67s) | Grid 5 (6.67-8.33s) | Grid 6 (8.33-10.0s) |
|:---:|:---:|:---:|
| Grid 7 (10.0-11.67s) | Grid 8 (11.67-13.33s) | Grid 9 (13.33-15.0s) |- Each grid is approximately 1.67 seconds, 9 grids cover 15 seconds
- Both Part A and Part B have independent 9 grids
- Each episode has a total of 18 storyboard grids (9 grids for Part A + 9 grids for Part B)
- Each Part includes (array of referenced scene IDs) and
scene_refs(array of referenced prop IDs)prop_refs
第五步:生成视频编号管理索引
Step 5: Generate Video Number Management Index
生成 :
video_index.jsonjson
{
"project_id": "DM-001",
"project_name": "作品名称",
"total_episodes": 25,
"created_date": "2026-02-14",
"status": "scripted",
"videos": [
{
"episode": 1,
"episode_title": "第1集标题",
"part_a": {
"video_id": "DM-001-EP01-A",
"label": "上",
"duration": 15,
"status": "script_ready",
"files": {
"dialogue": "episodes/EP01/dialogue.md",
"storyboard_config": "episodes/EP01/storyboard_config.json"
}
},
"part_b": {
"video_id": "DM-001-EP01-B",
"label": "下",
"duration": 15,
"status": "script_ready",
"files": {
"dialogue": "episodes/EP01/dialogue.md",
"storyboard_config": "episodes/EP01/storyboard_config.json"
}
}
}
],
"editing_guide": {
"total_episodes": 25,
"parts_per_episode": 2,
"total_videos": 50,
"duration_per_part_seconds": 15,
"total_duration_seconds": 750,
"grids_per_part": 9,
"total_grids": 450,
"recommended_export_format": "MP4 H.264",
"recommended_resolution": "1920x1080",
"recommended_fps": 24
}
}Generate :
video_index.jsonjson
{
"project_id": "DM-001",
"project_name": "Work Name",
"total_episodes": 25,
"created_date": "2026-02-14",
"status": "scripted",
"videos": [
{
"episode": 1,
"episode_title": "Episode 1 Title",
"part_a": {
"video_id": "DM-001-EP01-A",
"label": "A",
"duration": 15,
"status": "script_ready",
"files": {
"dialogue": "episodes/EP01/dialogue.md",
"storyboard_config": "episodes/EP01/storyboard_config.json"
}
},
"part_b": {
"video_id": "DM-001-EP01-B",
"label": "B",
"duration": 15,
"status": "script_ready",
"files": {
"dialogue": "episodes/EP01/dialogue.md",
"storyboard_config": "episodes/EP01/storyboard_config.json"
}
}
}
],
"editing_guide": {
"total_episodes": 25,
"parts_per_episode": 2,
"total_videos": 50,
"duration_per_part_seconds": 15,
"total_duration_seconds": 750,
"grids_per_part": 9,
"total_grids": 450,
"recommended_export_format": "MP4 H.264",
"recommended_resolution": "1920x1080",
"recommended_fps": 24
}
}第六步:更新全局索引
Step 6: Update Global Index
更新 :
/data/dongman/projects/index.jsonjson
{
"last_updated": "2026-02-14",
"total_projects": 1,
"next_id": "DM-002",
"projects": [
{
"project_id": "DM-001",
"project_name": "作品名称",
"directory": "DM-001_xxxx/",
"episodes": 25,
"status": "scripted",
"created_date": "2026-02-14",
"video_count": 50
}
]
}Update :
/data/dongman/projects/index.jsonjson
{
"last_updated": "2026-02-14",
"total_projects": 1,
"next_id": "DM-002",
"projects": [
{
"project_id": "DM-001",
"project_name": "Work Name",
"directory": "DM-001_xxxx/",
"episodes": 25,
"status": "scripted",
"created_date": "2026-02-14",
"video_count": 50
}
]
}第七步:生成 Seedance 任务(⚠️ 媒体生成后执行)
Step 7: Generate Seedance Tasks (⚠️ Execute After Media Generation)
前置条件:必须先运行技能,确保以下文件已生成:generate-media
- 角色参考图:
characters/{角色名}_ref.png- 分镜参考图:
episodes/EPxx/{project_id}-EPxx-{A|B}_storyboard.png
本步骤读取所有集的 和 ,结合已生成的媒体文件,在项目根目录生成 唯一一份 (50条任务,每集Part-A/B各一条)。
storyboard_config.jsondialogue.mdseedance_project_tasks.json不再在每集目录下生成 ,所有任务集中在项目根目录的 中。
seedance_tasks.jsonseedance_project_tasks.jsonPrecondition: Theskill must be run first to ensure the following files are generated:generate-media
- Character reference images:
characters/{character name}_ref.png- Storyboard reference images:
episodes/EPxx/{project_id}-EPxx-{A|B}_storyboard.png
This step reads and of all episodes, combines with generated media files, and generates a single in the project root directory (50 tasks, one for each episode's Part-A/B).
storyboard_config.jsondialogue.mdseedance_project_tasks.jsonNo longer generate in each episode directory; all tasks are centralized in in the project root directory.
seedance_tasks.jsonseedance_project_tasks.json7.1 seedance_project_tasks.json 格式
7.1 seedance_project_tasks.json Format
json
{
"project_id": "DM-001",
"project_name": "作品名称",
"total_tasks": 50,
"created_date": "2026-02-21",
"tasks": [
{
"prompt": "(@DM-001-EP01-A_storyboard.png) 为9宫格分镜参考图,(@角色A_ref.png) 为角色「角色A」的参考形象,(@角色B_ref.png) 为角色「角色B」的参考形象。\n\n从镜头1开始,不要展示多宫格分镜参考图片。分镜图制作成电影级别的高清影视级别的视频。严禁参考图出现在画面中。每个画面为单一画幅,独立展示,没有任何分割线或多宫格效果画面。(Exclusions); Do not show speech bubbles, do not show comic panels, remove all text, full technicolor.排除项: No speech bubbles(无对话气泡),No text(无文字), No comic panels(无漫画分镜),No split screen(无分屏),No monochrome(非单色/黑白),No manga effects(无漫画特效线).正向替代:Fullscreen(全屏),Single continuous scene(单一连续场景).表情、嘴型、呼吸、台词严格同步。去掉图片中的水印,不要出现任何水印。没有任何字幕。\n\nDM-001-EP01-A 第1集「集标题」上半部分。剧情概要。 氛围:氛围描述。\n\n镜头1(0.0s-1.67s): 第1集上半第1格:场景描述。 (@角色A_ref.png)角色A动作,表情表情。 (@角色A_ref.png)角色A说:\"对话内容\"\uff08情感\uff09\n镜头2(1.67s-3.33s): ...\n...\n镜头9(13.33s-15.0s): ...",
"description": "DM-001 EP01 Part-A 「集标题」上半部分 9宫格分镜→视频",
"modelConfig": {
"model": "Seedance 2.0 Fast",
"referenceMode": "全能参考",
"aspectRatio": "16:9",
"duration": "15s"
},
"referenceFiles": [
"episodes/EP01/DM-001-EP01-A_storyboard.png",
"characters/角色A_ref.png",
"characters/角色B_ref.png"
],
"realSubmit": false,
"priority": 1,
"tags": ["DM-001", "EP01", "A"]
},
{
"prompt": "... Part-B prompt ...",
"description": "DM-001 EP01 Part-B 「集标题」下半部分 6宫格分镜→视频",
"...": "同上结构"
}
]
}任务排列顺序:EP01-A, EP01-B, EP02-A, EP02-B, ..., EP25-A, EP25-B(共50条)
json
{
"project_id": "DM-001",
"project_name": "Work Name",
"total_tasks": 50,
"created_date": "2026-02-21",
"tasks": [
{
"prompt": "(@DM-001-EP01-A_storyboard.png) is the 9-grid storyboard reference image, (@Character A_ref.png) is the reference image of character \"Character A\", (@Character B_ref.png) is the reference image of character \"Character B\".\n\nStart from shot 1, do not show the multi-grid storyboard reference image. Turn the storyboard into a cinematic high-definition film-level video. Strictly prohibit reference images from appearing in the frame. Each frame is a single frame, displayed independently, with no dividing lines or multi-grid effect frames. (Exclusions); Do not show speech bubbles, do not show comic panels, remove all text, full technicolor. Exclusions: No speech bubbles, No text, No comic panels, No split screen, No monochrome, No manga effects. Positive replacements: Fullscreen, Single continuous scene. Expressions, mouth movements, breathing, and lines must be strictly synchronized. Remove watermarks from images, do not show any watermarks. No subtitles.\n\nDM-001-EP01-A Episode 1 「Episode Title」 Part A. Plot summary. Atmosphere: Atmosphere description.\n\nShot 1(0.0s-1.67s): Episode 1 Part A Grid 1: Scene description. (@Character A_ref.png) Character A performs action, expression expression. (@Character A_ref.png) Character A says: \"Dialogue content\" (emotion)\nShot 2(1.67s-3.33s): ...\n...\nShot 9(13.33s-15.0s): ...",
"description": "DM-001 EP01 Part-A 「Episode Title」 Part A 9-grid storyboard → video",
"modelConfig": {
"model": "Seedance 2.0 Fast",
"referenceMode": "All-Round Reference",
"aspectRatio": "16:9",
"duration": "15s"
},
"referenceFiles": [
"episodes/EP01/DM-001-EP01-A_storyboard.png",
"characters/Character A_ref.png",
"characters/Character B_ref.png"
],
"realSubmit": false,
"priority": 1,
"tags": ["DM-001", "EP01", "A"]
},
{
"prompt": "... Part-B prompt ...",
"description": "DM-001 EP01 Part-B 「Episode Title」 Part B 6-grid storyboard → video",
"...": "Same structure as above"
}
]
}Task Order: EP01-A, EP01-B, EP02-A, EP02-B, ..., EP25-A, EP25-B (total 50 entries)
7.2 prompt 构建规则
7.2 Prompt Construction Rules
-
头部声明:列出分镜图和角色参考图
(@{project_id}-EPxx-{A|B}_storyboard.png) 为9宫格分镜参考图- (仅列出本part出场的角色)
(@{角色名}_ref.png) 为角色「{角色名}」的参考形象 - 注意:场景和道具参考图不在头部声明,在后文内联引用
-
标准排除指令(每个prompt必须包含):
从镜头1开始,不要展示多宫格分镜参考图片。分镜图制作成电影级别的高清影视级别的视频。严禁参考图出现在画面中。每个画面为单一画幅,独立展示,没有任何分割线或多宫格效果画面。(Exclusions); Do not show speech bubbles, do not show comic panels, remove all text, full technicolor.排除项: No speech bubbles(无对话气泡),No text(无文字), No comic panels(无漫画分镜),No split screen(无分屏),No monochrome(非单色/黑白),No manga effects(无漫画特效线).正向替代:Fullscreen(全屏),Single continuous scene(单一连续场景).表情、嘴型、呼吸、台词严格同步。去掉图片中的水印,不要出现任何水印。没有任何字幕。 -
集信息行 + 场景/道具内联引用:
{video_id} 第X集「{episode_title}」{上/下}半部分。{synopsis}。 氛围:{atmosphere.overall_mood}。 场景参考 (@{场景ID}_ref.png) (@{场景ID}_ref.png)。道具参考 (@{道具ID}_ref.png)。- 场景/道具参考以 形式直接在氛围描述后内联,不额外说明"为场景XXX的参考图"
(@xx_ref.png) - 无场景/道具引用时省略该段
- 场景/道具参考以
-
逐镜头描述(基于生成9条):
storyboard_9grid镜头N(time_start-time_end): 第X集{上/下}半第N格:{scene_description}。{camera.movement}{camera.type}{camera.angle}。{atmosphere}。 音效:{sfx}。 (@{角色名}_ref.png){角色名}{action},表情{expression}。 (@{角色名}_ref.png){角色名}说:\"{dialogue.text}\"({dialogue.emotion})- 旁白格式:
旁白,{emotion}:\"{text}\" - 无对话的角色仅描述动作表情
- 每个角色提及时都用 前缀
(@{角色名}_ref.png)
- 旁白格式:
-
referenceFiles 构建规则:
- 分镜参考图:
episodes/EPxx/{project_id}-EPxx-{A|B}_storyboard.png - 本part出场角色参考图:(按出场顺序,去重)
characters/{角色名}_ref.png - 本part涉及场景参考图:(四宫格合成图,如有;prompt中以内联
scenes/{场景ID}_ref.png引用,不在头部声明)(@xx_ref.png) - 本part涉及道具参考图:(三视图合成图,如有;同上内联引用)
props/{道具ID}_ref.png
- 分镜参考图:
-
Header Declaration: List storyboard images and character reference images
(@{project_id}-EPxx-{A|B}_storyboard.png) is the 9-grid storyboard reference image- (only list characters appearing in this part)
(@{character name}_ref.png) is the reference image of character \"{character name}\" - Note: Scene and prop reference images are not declared in the header, but referenced inline in the following text
-
Standard Exclusion Instructions (must be included in each prompt):
Start from shot 1, do not show the multi-grid storyboard reference image. Turn the storyboard into a cinematic high-definition film-level video. Strictly prohibit reference images from appearing in the frame. Each frame is a single frame, displayed independently, with no dividing lines or multi-grid effect frames. (Exclusions); Do not show speech bubbles, do not show comic panels, remove all text, full technicolor. Exclusions: No speech bubbles, No text, No comic panels, No split screen, No monochrome, No manga effects. Positive replacements: Fullscreen, Single continuous scene. Expressions, mouth movements, breathing, and lines must be strictly synchronized. Remove watermarks from images, do not show any watermarks. No subtitles. -
Episode Information Line + Inline Scene/Prop References:
{video_id} Episode X 「{episode_title}」 {Part A/Part B}. {synopsis}. Atmosphere: {atmosphere.overall_mood}. Scene references (@{scene ID}_ref.png) (@{scene ID}_ref.png). Prop references (@{prop ID}_ref.png).- Scene/prop references are inline in the form of right after the atmosphere description, without additional explanation like "is the reference image of scene XXX"
(@xx_ref.png) - Omit this section if there are no scene/prop references
- Scene/prop references are inline in the form of
-
Shot-by-Shot Description (9 entries generated based on):
storyboard_9gridShot N(time_start-time_end): Episode X {Part A/Part B} Grid N: {scene_description}. {camera.movement}{camera.type}{camera.angle}. {atmosphere}. Sound effect: {sfx}. (@{character name}_ref.png){character name}{action}, expression {expression}. (@{character name}_ref.png){character name} says: \"{dialogue.text}\" ({dialogue.emotion})- Narration format:
Narration, {emotion}: \"{text}\" - For characters without dialogue, only describe actions and expressions
- Prefix each character mention with
(@{character name}_ref.png)
- Narration format:
-
referenceFiles Construction Rules:
- Storyboard reference image:
episodes/EPxx/{project_id}-EPxx-{A|B}_storyboard.png - Reference images of characters appearing in this part: (in order of appearance, deduplicated)
characters/{character name}_ref.png - Reference images of scenes involved in this part: (4-grid composite image, if available; referenced inline as
scenes/{scene ID}_ref.pngin the prompt, not declared in the header)(@xx_ref.png) - Reference images of props involved in this part: (3-view composite image, if available; referenced inline as above)
props/{prop ID}_ref.png
- Storyboard reference image:
7.3 提交流程
7.3 Submission Process
seedance_project_tasks.jsonsubmit-anime-projectseedance_project_tasks.jsonsubmit-anime-project编号规则
Numbering Rules
作品编号
Work Number
- 格式:(XXX为三位数字,从001递增)
DM-XXX - 示例:,
DM-001,DM-002DM-003
- Format: (XXX is a three-digit number, incrementing from 001)
DM-XXX - Example: ,
DM-001,DM-002DM-003
视频编号
Video Number
- 上半部分:
{作品编号}-EP{集数两位}-A- 示例:,
DM-001-EP01-ADM-001-EP25-A
- 示例:
- 下半部分:
{作品编号}-EP{集数两位}-B- 示例:,
DM-001-EP01-BDM-001-EP25-B
- 示例:
- Part A:
{work number}-EP{two-digit episode number}-A- Example: ,
DM-001-EP01-ADM-001-EP25-A
- Example:
- Part B:
{work number}-EP{two-digit episode number}-B- Example: ,
DM-001-EP01-BDM-001-EP25-B
- Example:
集数编号
Episode Number
- 格式:,从
EP{两位数字}到EP01EP25
- Format: , from
EP{two-digit number}toEP01EP25
内容创作规范
Content Creation Specifications
剧本要求
Script Requirements
- 故事完整性:25集需要有完整的起承转合
- 第1-3集:世界观介绍、角色登场、引入冲突
- 第4-8集:冲突升级、角色关系建立
- 第9-15集:高潮前奏、多线叙事、伏笔布局
- 第16-20集:高潮阶段、转折、揭示
- 第21-24集:最终决战、情感爆发
- 第25集:结局、余韵
- 每集30秒约束:每集聚焦一个核心场景/事件,信息密度高
- 上下结构:每集上半部分(15s)铺垫/展开,下半部分(15s)高潮/转折
- 每集结尾留悬念或情感钩子
- Story Completeness: 25 episodes need a complete beginning, development, climax, and ending
- Episodes 1-3: Worldview introduction, character appearance, conflict introduction
- Episodes 4-8: Conflict escalation, character relationship establishment
- Episodes 9-15: Prelude to climax, multi-line narrative, foreshadowing layout
- Episodes 16-20: Climax stage, turning point, revelation
- Episodes 21-24: Final battle, emotional outburst
- Episode 25: Conclusion, aftertaste
- 30-Second Per Episode Constraint: Each episode focuses on one core scene/event with high information density
- Two-Part Structure: Part A (15s) sets up/develops, Part B (15s) reaches climax/turning point
- End each episode with a suspense or emotional hook
对话要求
Dialogue Requirements
- 语言:所有对话必须为中文
- 风格:符合角色性格,简洁有力(每句不超过15字为佳)
- 无字幕:对话通过配音传达,不添加任何字幕
- 每集对话控制在3-6句(上下各1-3句)
- Language: All dialogues must be in Chinese
- Style: Consistent with character personality, concise and powerful (preferably no more than 15 words per sentence)
- No Subtitles: Dialogues are conveyed through dubbing, no subtitles added
- Control dialogues per episode to 3-6 sentences (1-3 sentences per part)
9宫格分镜要求
9-Grid Storyboard Requirements
- 时长:每部分固定15秒
- 格数:固定9格(3×3布局,16:9比例)
- 每格约 1.67秒
- 9格之间需要有视觉连续性和叙事逻辑
- 每格必须包含:画面描述、镜头类型、对话(如有)、氛围描述
- 上半部分和下半部分各有独立的整体氛围描述
- 每部分附带 (英文,简洁描述)
video_prompt - 每个Part包含 和
scene_refs数组,列出本Part引用的场景/道具IDprop_refs
- Duration: Fixed 15 seconds per part
- Grid Count: Fixed 9 grids (3×3 layout, 16:9 aspect ratio)
- Each grid is approximately 1.67 seconds
- Visual continuity and narrative logic must be maintained between the 9 grids
- Each grid must include: scene description, shot type, dialogue (if any), atmosphere description
- Part A and Part B each have independent overall atmosphere descriptions
- Each part is accompanied by a (English, concise description)
video_prompt - Each Part includes and
scene_refsarrays listing the scene/prop IDs referenced in this Partprop_refs
故事板配置要求
Storyboard Configuration Requirements
- JSON格式,可被程序直接解析
- 包含 和
part_a两个完整部分part_b - 每部分包含:氛围、9宫格分镜、scene_refs、prop_refs
- 包含AI图像生成的英文Prompt
- 字段始终为
subtitlefalse
- JSON format, directly parsable by programs
- Includes two complete parts: and
part_apart_b - Each part includes: atmosphere, 9-grid storyboard, scene_refs, prop_refs
- Includes English prompts for AI image generation
- The field is always
subtitlefalse
运行指令
Running Instructions
用户可以通过以下方式触发本技能:
- "制作一部短剧"
- "生成短剧作品"
- "produce short drama"
- "创建新短剧"
- "开始制作短剧"
- "运行"(在技能上下文中)
可附带可选参数:
- 题材/类型:如 "制作一部科幻短剧"、"生成一部校园恋爱短剧"
- 视觉风格:如 "港风复古"、"Vintage Hong Kong"、"风格7"(指定 visual_styles.json 中的预设)
- 风格:如 "赛博朋克风格"、"中国风"
- 角色数量:如 "主角3人"
如用户未指定题材,则随机选择一个有趣的原创题材。
如用户未指定视觉风格,则使用 中 对应的默认风格。
visual_styles.jsondefault_style_idUsers can trigger this skill in the following ways:
- "Make a short drama"
- "Generate a short drama work"
- "produce short drama"
- "Create a new short drama"
- "Start making a short drama"
- "Run" (in skill context)
Optional parameters can be attached:
- Genre/Type: e.g., "Make a sci-fi short drama", "Generate a campus love short drama"
- Visual Style: e.g., "Hong Kong Retro Style", "Vintage Hong Kong", "Style 7" (specify presets in visual_styles.json)
- Style: e.g., "Cyberpunk style", "Chinese style"
- Number of Characters: e.g., "3 main characters"
If users do not specify a genre, a random interesting original genre will be selected.
If users do not specify a visual style, the default style corresponding to in will be used.
default_style_idvisual_styles.json执行检查清单
Execution Checklist
阶段1:剧本制作完成后自查
Self-Check After Stage 1: Script Production Completion
- 全局索引已更新
index.json - 作品元数据已创建
metadata.json - 完整剧本已生成(含25集概要)
full_script.md - 角色设计已完成
character_bible.md - 场景设计已完成(3-6个核心场景)
scenes/scene_bible.md - 道具设计已完成(2-5个核心道具)
props/prop_bible.md - EP01-EP25 所有25个集目录均已创建
- 每集包含2个文件:,
dialogue.mdstoryboard_config.json - 每集的 包含
storyboard_config.json和part_apart_b - 每部分包含9宫格分镜
- 所有视频编号遵循命名规则(/
-A后缀)-B - 已生成且包含50条视频记录(25集×2部分)
video_index.json - 所有对话为中文
- 所有配置标注
subtitle: false - 每集剧情有起承转合的衔接
- Global index has been updated
index.json - Work metadata has been created
metadata.json - Complete script has been generated (including 25 episode summaries)
full_script.md - Character design has been completed
character_bible.md - Scene design has been completed (3-6 core scenes)
scenes/scene_bible.md - Prop design has been completed (2-5 core props)
props/prop_bible.md - All 25 episode directories (EP01-EP25) have been created
- Each episode contains 2 files: ,
dialogue.mdstoryboard_config.json - Each episode's includes
storyboard_config.jsonandpart_apart_b - Each part includes 9-grid storyboard
- All video numbers follow the naming rules (suffix /
-A)-B - has been generated and contains 50 video records (25 episodes × 2 parts)
video_index.json - All dialogues are in Chinese
- All configurations mark
subtitle: false - Each episode's plot has coherent beginning, development, and ending
阶段3:媒体生成后,Seedance任务生成自查
Self-Check After Media Generation and Seedance Task Generation (Stage 3)
- 角色参考图已存在:
characters/{角色名}_ref.png - 场景四宫格图已存在:(每场景1张合成图)
scenes/{场景ID}_ref.png - 道具三视图已存在:(每道具1张合成图)
props/{道具ID}_ref.png - 分镜参考图已存在:
episodes/EPxx/{project_id}-EPxx-{A|B}_storyboard.png - 项目根目录 已生成(总计50条任务)
seedance_project_tasks.json - 每条任务的 prompt 使用 格式引用参考图
(@文件名) - 每条任务的 prompt 包含标准排除指令
- 每条任务的 prompt 包含逐镜头描述(9条)
- 每条任务的 列出所有引用的图片路径(分镜图 + 角色 + 场景 + 道具)
referenceFiles - 不存在每集目录下的 (已统一到项目根目录)
seedance_tasks.json
- Character reference images exist:
characters/{character name}_ref.png - 4-grid scene images exist: (1 composite image per scene)
scenes/{scene ID}_ref.png - 3-view prop images exist: (1 composite image per prop)
props/{prop ID}_ref.png - Storyboard reference images exist:
episodes/EPxx/{project_id}-EPxx-{A|B}_storyboard.png - has been generated in the project root directory (total 50 tasks)
seedance_project_tasks.json - Each task's prompt uses format to reference reference images
(@file name) - Each task's prompt includes standard exclusion instructions
- Each task's prompt includes shot-by-shot descriptions (9 entries)
- Each task's lists all referenced image paths (storyboard images + characters + scenes + props)
referenceFiles - No exists in each episode directory (unified to project root directory)
seedance_tasks.json
输出示例
Output Example
阶段1完成后报告:
Report After Stage 1 Completion:
✅ 短剧剧本制作完成!
📋 作品信息
- 作品编号:DM-001
- 作品名称:《xxxxx》
- 视觉风格:Cinematic Film(电影质感)
- 类型:xxxxx
- 总集数:25集(每集上下两部分)
📁 项目目录:/data/dongman/projects/DM-001_xxxx/
📊 生成内容统计
- 完整剧本:1份
- 角色设定:X个角色
- 场景设定:X个核心场景
- 道具设定:X个核心道具
- 对话脚本:25份(每集1份,覆盖上下两部分)
- 故事板配置:25份(每集1份,含上下两部分9宫格+场景/道具引用+视频提示词)
- 视频总数:50个(25集 × 上下2部分)
- 总分镜格数:450格(50个视频 × 9格)
🎬 视频编号范围
- 上半部分:DM-001-EP01-A ~ DM-001-EP25-A
- 下半部分:DM-001-EP01-B ~ DM-001-EP25-B
📂 每集文件(2个)
- dialogue.md → 对话脚本
- storyboard_config.json → 故事板配置(含9宫格分镜 + scene_refs/prop_refs)
⏭️ 下一步
1. 运行 generate-media 技能生成角色参考图 + 分镜图
2. 运行本技能第七步生成 seedance_project_tasks.json(含 @图片引用,50条任务)
3. 运行 submit-anime-project 技能提交任务✅ Short drama script production completed!
📋 Work Information
- Work ID: DM-001
- Work Name: 《xxxxx》
- Visual Style: Cinematic Film (Cinematic Texture)
- Genre: xxxxx
- Total Episodes: 25 episodes (2 parts per episode)
📁 Project Directory: /data/dongman/projects/DM-001_xxxx/
📊 Generated Content Statistics
- Complete Script: 1 copy
- Character Settings: X characters
- Scene Settings: X core scenes
- Prop Settings: X core props
- Dialogue Scripts: 25 copies (1 per episode, covering both parts)
- Storyboard Configurations: 25 copies (1 per episode, including 9-grid for both parts + scene/prop references + video prompts)
- Total Videos: 50 (25 episodes × 2 parts)
- Total Storyboard Grids: 450 (50 videos × 9 grids)
🎬 Video ID Range
- Part A: DM-001-EP01-A ~ DM-001-EP25-A
- Part B: DM-001-EP01-B ~ DM-001-EP25-B
📂 Per Episode Files (2 files)
- dialogue.md → Dialogue Script
- storyboard_config.json → Storyboard Configuration (including 9-grid storyboard + scene_refs/prop_refs)
⏭️ Next Steps
1. Run the generate-media skill to generate character reference images + storyboard images
2. Run Step 7 of this skill to generate seedance_project_tasks.json (with @image references, 50 tasks)
3. Run the submit-anime-project skill to submit tasks