markdown-to-storyboard
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMarkdown to Storyboard
Markdown 转故事板
Convert any markdown text into a structured storyboard CSV — the universal handoff format
for downstream tools (slide builders, video editors, image generators).
将任意Markdown文本转换为结构化的故事板CSV文件——这是下游工具(幻灯片制作器、视频编辑器、图像生成器)通用的交付格式。
Workflow
工作流程
1. Analyze the Source Markdown
1. 分析源Markdown内容
Read the markdown and identify:
- Title and subtitle
- Section headings (H2/H3) → natural slide boundaries
- Key arguments / data points / quotes per section
- Narrative arc: setup → development → climax → conclusion
读取Markdown内容并识别:
- 标题和副标题
- 章节标题(H2/H3)→ 自然的幻灯片分界点
- 每个章节的核心论点/数据点/引用内容
- 叙事结构:开场→展开→高潮→结尾
2. Ask User Preferences
2. 询问用户偏好
Prompt for (defaults in parentheses):
- Slide count (auto: 8–15 based on content length, ~1 slide per 150–300 words)
- Audience (general)
- Tone (professional)
- Language (same as source)
If user declines to specify, use defaults and proceed.
提示用户确认(括号内为默认值):
- 幻灯片数量(自动:根据内容长度生成8–15张,每150–300字对应约1张幻灯片)
- 受众(普通大众)
- 语气(专业正式)
- 语言(与源内容一致)
如果用户不愿指定,使用默认值继续执行。
3. Assign Slide Types and Layouts
3. 分配幻灯片类型与布局
Available values:
slide_type| Type | Purpose | Typical layout |
|---|---|---|
| Opening slide | |
| Table of contents (optional, 12+ slides) | |
| Chapter divider | |
| Core information | |
| Key quote or statistic | |
| Chart / number-driven | |
| Closing recap | |
| Thank-you / Q&A / CTA | |
Available values:
, , , ,
layoutfull_bgleft_img_right_texttop_img_bottom_textcenter_texttwo_column可用的值:
slide_type| 类型 | 用途 | 典型布局 |
|---|---|---|
| 开场幻灯片 | |
| 目录(可选,幻灯片数量≥12时使用) | |
| 章节分隔页 | |
| 核心信息页 | |
| 关键引用或统计数据页 | |
| 图表/数据驱动页 | |
| 结尾总结页 | |
| 致谢/问答/行动号召页 | |
可用的值:
, , , ,
layoutfull_bgleft_img_right_texttop_img_bottom_textcenter_texttwo_column4. Write the Image Prompt for Each Slide
4. 为每张幻灯片撰写图像提示词
For each slide, write an (English, regardless of content language) that:
image_prompt- Describes a concrete scene, not an abstract concept
- Includes a style keyword consistent across all slides (e.g. "flat vector illustration, soft pastel palette")
- Specifies composition hints matching the layout (e.g. "wide shot, negative space on the right" for )
left_img_right_text - Cover and end slides get more dramatic / visually impactful prompts
为每张幻灯片撰写(无论源内容语言如何,均使用英文),要求:
image_prompt- 描述具体场景,而非抽象概念
- 包含一个在所有幻灯片中保持一致的风格关键词(例如:"flat vector illustration, soft pastel palette")
- 指定与布局匹配的构图提示(例如:对于布局,使用"wide shot, negative space on the right")
left_img_right_text - 开场页和结束页使用更具视觉冲击力的提示词
5. Draft Speaker Notes
5. 撰写演讲者备注
speaker_notesspeaker_notes6. Output the CSV
6. 输出CSV文件
Write the storyboard to using :
storyboard.csvexecute_codepython
import csv
rows = [
# [slide_no, slide_type, title, bullet_points, image_prompt, speaker_notes, layout]
]
header = ["slide_no", "slide_type", "title", "bullet_points", "image_prompt", "speaker_notes", "layout"]
with open("storyboard.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(header)
writer.writerows(rows)Column spec:
| Column | Type | Description |
|---|---|---|
| int | 1-indexed |
| str | One of the types above |
| str | Slide headline, ≤ 10 words |
| str | Newline-separated ( |
| str | English prompt for image generation |
| str | Optional presenter notes |
| str | One of the layouts above |
使用将故事板写入:
execute_codestoryboard.csvpython
import csv
rows = [
# [slide_no, slide_type, title, bullet_points, image_prompt, speaker_notes, layout]
]
header = ["slide_no", "slide_type", "title", "bullet_points", "image_prompt", "speaker_notes", "layout"]
with open("storyboard.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(header)
writer.writerows(rows)列规范:
| 列名 | 类型 | 描述 |
|---|---|---|
| 整数 | 从1开始编号 |
| 字符串 | 上述类型之一 |
| 字符串 | 幻灯片标题,≤10个单词 |
| 字符串 | 换行分隔( |
| 字符串 | 用于图像生成的英文提示词 |
| 字符串 | 可选的演讲者备注 |
| 字符串 | 上述布局之一 |
7. Present for Review
7. 呈现供审核
Display the storyboard as a markdown table for the user to review.
Wait for confirmation before the next pipeline step.
If changes requested, update and re-display.
storyboard.csv将故事板以Markdown表格形式展示给用户审核。
等待用户确认后再进行下一流程步骤。
如果用户要求修改,更新并重新展示。
storyboard.csvPacing Guidelines
节奏指南
- Opening (slides 1–2): Hook — cover + bold opening statement or question
- Body (slides 3 to N-2): One idea per slide. Alternate and
content/quoteto vary rhythmdata - Closing (slides N-1 to N): Summary of key takeaways + end slide
- Avoid consecutive slides of the same type. Insert a divider between major parts.
section
- 开场(幻灯片1–2):吸引注意力——封面页+醒目的开场陈述或问题
- 主体(幻灯片3至N-2):每张幻灯片一个核心观点。交替使用和
content/quote类型以调整节奏data - 结尾(幻灯片N-1至N):核心要点总结+结束页
- 避免连续使用同一类型的幻灯片。在主要部分之间插入分隔页。
section
Text Density Rules
文本密度规则
- Title: imperative or question form, ≤ 10 words
- Bullets: ≤ 5 per slide, each ≤ 20 characters (CJK) / ≤ 12 words (Latin)
- Prefer fragments over full sentences
- Numbers stand alone: "3x faster" not "It is three times faster"
- 标题:使用祈使句或疑问句形式,≤10个单词
- 项目符号:每张幻灯片≤5条,每条≤20个字符(中文)/ ≤12个单词(拉丁文)
- 优先使用短语而非完整句子
- 数字单独呈现:例如用"3x faster"而非"It is three times faster"