markdown-to-storyboard

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Markdown 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
slide_type
values:
TypePurposeTypical layout
cover
Opening slide
full_bg
toc
Table of contents (optional, 12+ slides)
center_text
section
Chapter divider
center_text
content
Core information
left_img_right_text
or
top_img_bottom_text
quote
Key quote or statistic
full_bg
data
Chart / number-driven
two_column
summary
Closing recap
center_text
or
left_img_right_text
end
Thank-you / Q&A / CTA
full_bg
Available
layout
values:
full_bg
,
left_img_right_text
,
top_img_bottom_text
,
center_text
,
two_column
可用的
slide_type
值:
类型用途典型布局
cover
开场幻灯片
full_bg
toc
目录(可选,幻灯片数量≥12时使用)
center_text
section
章节分隔页
center_text
content
核心信息页
left_img_right_text
top_img_bottom_text
quote
关键引用或统计数据页
full_bg
data
图表/数据驱动页
two_column
summary
结尾总结页
center_text
left_img_right_text
end
致谢/问答/行动号召页
full_bg
可用的
layout
值:
full_bg
,
left_img_right_text
,
top_img_bottom_text
,
center_text
,
two_column

4. Write the Image Prompt for Each Slide

4. 为每张幻灯片撰写图像提示词

For each slide, write an
image_prompt
(English, regardless of content language) that:
  • 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")
  • 指定与布局匹配的构图提示(例如:对于
    left_img_right_text
    布局,使用"wide shot, negative space on the right")
  • 开场页和结束页使用更具视觉冲击力的提示词

5. Draft Speaker Notes

5. 撰写演讲者备注

speaker_notes
column: 1–3 sentences of what the presenter would say. Leave empty if not requested.
speaker_notes
列:1–3句话的演讲者台词。如果未被请求则留空。

6. Output the CSV

6. 输出CSV文件

Write the storyboard to
storyboard.csv
using
execute_code
:
python
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:
ColumnTypeDescription
slide_no
int1-indexed
slide_type
strOne of the types above
title
strSlide headline, ≤ 10 words
bullet_points
strNewline-separated (
\n
). Each ≤ 20 chars. Max 5 items
image_prompt
strEnglish prompt for image generation
speaker_notes
strOptional presenter notes
layout
strOne of the layouts above
使用
execute_code
将故事板写入
storyboard.csv
python
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)
列规范:
列名类型描述
slide_no
整数从1开始编号
slide_type
字符串上述类型之一
title
字符串幻灯片标题,≤10个单词
bullet_points
字符串换行分隔(
\n
)。每条≤20字符。最多5条
image_prompt
字符串用于图像生成的英文提示词
speaker_notes
字符串可选的演讲者备注
layout
字符串上述布局之一

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
storyboard.csv
and re-display.
将故事板以Markdown表格形式展示给用户审核。 等待用户确认后再进行下一流程步骤。 如果用户要求修改,更新
storyboard.csv
并重新展示。

Pacing Guidelines

节奏指南

  • Opening (slides 1–2): Hook — cover + bold opening statement or question
  • Body (slides 3 to N-2): One idea per slide. Alternate
    content
    and
    quote
    /
    data
    to vary rhythm
  • Closing (slides N-1 to N): Summary of key takeaways + end slide
  • Avoid consecutive slides of the same type. Insert a
    section
    divider between major parts.
  • 开场(幻灯片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"