Decompose YouTube scripts into visual storyboards with scene descriptions, image prompts, subtitle timing, and transition notes. Triggers on "yt-storyboard", "스토리보드", "storyboard", "씬 분해", "컷 분리".
Takes a finalized script and produces a structured scene-by-scene storyboard with all visual/audio specifications needed for video assembly.
Parse user input for these components:
yt-storyboard {script_id}
yt-storyboard "대본 텍스트" --channel <channel_id>
yt-script output (script.json) or raw textchannels/{channel_id}/config.json)template-based | generative | hybridWhen a script_id is provided, load scripts/{channel_id}/{topic_slug}/script.json. When raw text is provided, parse it as narration content directly.
Each channel can define visual presets in channels/{channel_id}/config.json:
{
"visual_style": {
"preset": "minimal|cinematic|infographic|meme|documentary",
"color_palette": ["#1a1a2e", "#e94560"],
"subtitle_style": "modern_bold|classic|typewriter|handwritten",
"default_transitions": "cut|fade|slide",
"background_preference": "dark|light|gradient|image_heavy",
"text_density": "low|medium|high"
}
}
When no channel config exists, use defaults: minimal preset, dark background, modern_bold subtitles, cut transitions.
Generate a storyboard JSON with this structure:
{
"storyboard_id": "sb_20260316_001",
"script_id": "script_20260316_001",
"channel_id": "tech-shorts",
"format": "shorts",
"aspect_ratio": "9:16",
"total_duration_seconds": 52,
"scenes": [
{
"scene_id": "scene_001",
"scene_number": 1,
"type": "hook|explanation|example|comparison|chart|quote|cta",
"time_range": {
"start": 0.0,
"end": 3.2
},
"narration": {
"text": "나레이션 텍스트",
"word_count": 12,
"estimated_duration_seconds": 3.2
},
"visual": {
"description": "화면 설명 (한국어)",
"layout": "full_image|split_screen|text_overlay|chart|comparison_lr|zoom_in|zoom_out",
"background": {
"type": "solid_color|gradient|image|video_loop|b_roll",
"value": "#1a1a2e",
"image_prompt": "AI 이미지 생성용 프롬프트 (English)",
"b_roll_keywords": ["keyword1", "keyword2"]
},
"text_overlay": {
"main_text": "화면에 표시할 핵심 텍스트",
"sub_text": "",
"position": "center|top|bottom",
"style": "highlight|normal|emphasis|question"
},
"elements": [
{
"type": "icon|chart|arrow|number|image",
"description": "요소 설명",
"position": "center|left|right|top|bottom"
}
]
},
"subtitle": {
"text": "자막 텍스트",
"highlight_words": ["강조할", "단어"],
"style": "default|emphasis|whisper|shout"
},
"transition": {
"type": "cut|fade|slide_left|slide_up|zoom|none",
"duration_ms": 300
},
"audio": {
"bgm_action": "continue|fade_in|fade_out|change|silence",
"sfx": "whoosh|pop|ding|none",
"sfx_timing": "scene_start|with_text|scene_end"
},
"camera": {
"movement": "static|slow_zoom_in|slow_zoom_out|pan_left|pan_right|ken_burns",
"focus_point": "center|text|subject"
}
}
],
"global_settings": {
"subtitle_style": {
"font": "Pretendard Bold",
"size": 48,
"color": "#FFFFFF",
"stroke": "#000000",
"highlight_color": "#FFD700",
"position": "bottom_third"
},
"bgm": {
"track": "bgm_name_or_path",
"volume": 0.15,
"fade_in_seconds": 1.0,
"fade_out_seconds": 2.0
},
"color_palette": ["#1a1a2e", "#16213e", "#0f3460", "#e94560"]
},
"asset_list": {
"images_needed": [
{
"scene_id": "scene_001",
"prompt": "AI generation prompt",
"style": "realistic|illustration|diagram|infographic",
"dimensions": "1080x1920"
}
],
"b_roll_needed": [
{
"scene_id": "scene_003",
"keywords": ["technology", "server room"],
"duration_seconds": 4
}
],
"icons_needed": ["chart_up", "warning", "lightbulb"],
"charts_needed": [
{
"scene_id": "scene_004",
"type": "bar|line|pie|comparison",
"data_description": "차트 데이터 설명"
}
]
},
"srt_preview": "1\n00:00:00,000 --> 00:00:03,200\n첫 번째 자막\n\n2\n..."
}
yt-storyboard {script_id} — generate storyboard from scriptyt-storyboard "대본 텍스트" --channel tech-shorts — from raw textyt-storyboard adjust {storyboard_id} --scene 3 --visual "change to comparison layout" — adjust specific sceneyt-storyboard assets {storyboard_id} — show asset checklistyt-storyboard srt {storyboard_id} — export SRT onlyyt-storyboard preview {storyboard_id} — show visual preview (text-based scene descriptions)yt-storyboard list — show recent storyboardsstoryboards/{channel_id}/{topic_slug}/storyboard.jsonstoryboards/{channel_id}/{topic_slug}/storyboard_visual.mdstoryboards/{channel_id}/{topic_slug}/subtitles.srtyt-script output (scripts/{channel_id}/{topic_slug}/script.json)yt-compose (video assembly), image generation skillschannels/{channel_id}/config.json for visual style presetsmaple-cover/maple-background skills or generic image generation