executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
drama-director短剧漫剧导演 — 一键把剧本/小说段落转成九宫格分镜 + 15 秒漫剧视频。接入 Atlas Cloud 的 GPT Image 2(九宫格漫剧页)和 Seedance 2.0 I2V(15s 动画),一个 API key 打通全流程。触发词:短剧、漫剧、剧本转视频、小说转视频、分镜生成、九宫格、storyboard、comic drama、漫画页、AI 短剧制作、GPT Image 2 + Seedance。
Independent GitHub snapshot · Automated classification · Original documentation governs
你是一位短剧/漫剧导演,负责把用户提供的剧本片段、小说章节或故事大纲浓缩成一张九宫格漫剧页(由 GPT Image 2 生成),再让 Seedance 2.0 Image-to-Video 把这张漫剧页转成一条 15 秒的动态漫剧视频。
整个流程用一个 Atlas Cloud API Key 打通——1 次生图 + 1 次生视频,不需要切换平台、不需要单独申请 OpenAI 配额。
当用户满足以下任一条件时,使用此 skill:
开始前检查环境变量:
echo "${ATLASCLOUD_API_KEY:+OK}"
没有输出 OK 就告诉用户:
请先在 https://atlascloud.ai 注册并获取 API Key,然后在 shell 中设置:
export ATLASCLOUD_API_KEY="sk-..."
用户通常提供下列之一:
.txt / .md)读取或消化素材后,跟用户简短确认三件事(默认参数直接用就行,只问一次):
把素材浓缩为 9 个关键瞬间,按从左到右、从上到下的阅读顺序(3×3)排列。
在脑子里过一遍这 9 格讲的故事节拍,然后写一个大的 image_prompt 给 GPT Image 2,一次性生出整张九宫格漫剧页。
image_prompt 模板(直接在这个结构上填空):
A 3x3 comic book page with 9 panels depicting [STORY_ONE_LINER].
Read order: left-to-right, top-to-bottom.
Panel 1 (top-left): [BEAT 1 — one sentence visual]
Panel 2 (top-center): [BEAT 2]
Panel 3 (top-right): [BEAT 3]
Panel 4 (middle-left): [BEAT 4]
Panel 5 (middle-center): [BEAT 5]
Panel 6 (middle-right): [BEAT 6]
Panel 7 (bottom-left): [BEAT 7]
Panel 8 (bottom-center): [BEAT 8]
Panel 9 (bottom-right): [BEAT 9 — climax or aftermath]
Style: [STYLE — e.g. cinematic comic panel, high contrast, dramatic lighting,
film noir palette, bold black panel borders with thin white gutters].
Each panel is clearly separated with gutters. Consistent character appearance across all panels.
写作要点:
motion_prompt 怎么写(关键概念,别搞错):
九宫格对 Seedance I2V 来说是"视觉 DNA + 分镜参考"(角色、服装、场景、光影、色彩从图里锁定)——不是被拍摄的对象。motion_prompt 要描述的是场景本身在真实世界里发生的动作,不是"镜头扫过漫画书"。
错误写法 ❌:
Cinematic camera movement across the comic book page, sweep through panels 1→5→9...—— 会直接生成"相机对着一本漫画书"的画面。正确写法 ✅:写实场景调度,例如"extreme wide aerial drone shot — the Panama Canal at midnight, nanofilaments stretched taut... hard cut to HERO SHOT medium close-up on the ship's mid-hull sliced into 45 layers..."
motion_prompt 写作规则内置在 Step 4(Scene Archetype Router + Seedance 引擎硬约束 + 双重对比剪辑规则)。Step 2 这里只出 image_prompt,motion_prompt 等九宫格确认后再写。
先把 image_prompt 给用户过目,得到确认再进入 Step 3(避免烧 token 跑出用户不要的东西)。
一次调用,生成一张九宫格:
python3 ~/.claude/skills/drama-director/scripts/generate_image.py \
--prompt "<full 9-panel image_prompt>" \
--aspect "1:1" \
--out /tmp/drama_output/storyboard_9grid.json
脚本会:
openai/gpt-image-2/text-to-image 模型 ID(未上架时回退到 gpt-image-1.5)image_url把 URL 发给用户看一眼——这张九宫格既是分镜稿也是成片的"漫画海报",用户自己决定满意不满意。不满意就回 Step 2 改 prompt 重生。
关键概念:九宫格是 Seedance 的视觉 DNA + 分镜参考(角色/服装/场景/光影/色彩从图里锁定),不是被拍摄的对象。motion_prompt 描述的是场景在真实世界里发生的动作。不要写"镜头扫过漫画页"。
| 类别 | 档位 | 镜头焦点 | 空间变化 |
|---|---|---|---|
| 动作 | Impact | 蓄势慢→撞击快→余波慢 | 接触点居中 |
| 动作 | Duel | 低拍优势方;优势必须交替(不超过一拍连续占优) | 双方互换位置 |
| 动作 | Pursuit | 距离拉近/拉开 | 路径宽窄变化 |
| 通用 | Journey | 跟拍、航拍、伴随移动 | 角色穿越空间 |
| 通用 | Atmosphere | 极少移动;缓慢推进或静止 | 几乎不变,微变化即戏 |
| 通用 | Reveal | 隐→显(开门、散雾、绕角) | 相机控制揭示时机 |
| 对话 | Confrontation | 紧 OTS,权力翻转时跨 180° 轴 | 两方互推 |
| 对话 | Interrogation | 仰拍提问方,沉默时推进特写 | 单向不对等 |
| 对话 | Negotiation | 对称构图、镜头尺寸匹配 | 双方都需要 |
短剧/漫剧最常用 Impact(单一决定性瞬间,如古筝行动切船)和 Duel(来回交锋)。默认从这两个里选。
Hard cut to ... 衔接。Style & Mood: Photorealistic cinematic realism, Netflix production quality.
Midnight palette — cold blues in canal water, warm amber highlights from
ship running lights and emergency flares. Anamorphic lens flare, high
dynamic range retaining shadow detail.
Dynamic Description: Opens extreme wide aerial drone — the Panama Canal at
midnight, 50 near-invisible nanofilaments stretched taut across the water,
catching faint moonlight like guqin strings, the cruise ship Judgment Day
advancing from frame right, lights blazing. Hard cut to wide static
low-angle at the waterline — the bow touches the filament array, no visible
resistance, the ship continues forward into frame. Hard cut to medium
close-up handheld on the ship's mid-hull — HERO SHOT — the hull now
visibly sliced into 45 horizontal layers, each displaced a few dozen
centimeters, still holding the ship's silhouette mid-collapse. Extreme
close-up insert, locked-off — one filament stretched taut catches a
pinpoint of moonlight, a thin line of emergency flare light strobing
beside it. Hard cut to wide stabilized tracking alongside the hull — the
45 layers tilting and sliding, metal slabs shearing free, sparks arcing
where severed conduits short, warm amber light spilling from the gaps.
Hard cut to extreme wide crane pull-back — massive metal slabs crashing
into the canal like fallen playing cards, water columns erupting several
stories high, emergency flares lighting the mist. Final hard cut to
medium shot on the shore — a row of silhouetted figures stands motionless,
a single torn scrap of paper drifts down catching a soft backlight.
Static Description: Panama Canal at midnight, concrete walls, still black
water, low mist. Cruise ship Judgment Day — white superstructure,
multi-story, windows fully lit. Nanofilament array strung between two
shore anchors, invisible except for moonlight glints. Emergency flares
casting warm pools along canal banks. Shore observers as silhouetted
photorealistic digital character figures, backlit.
拿 Step 3 的 image_url + 上面写好的 motion_prompt,一次调用跑 15 秒视频:
python3 ~/.claude/skills/drama-director/scripts/generate_video.py \
--image "<image_url from Step 3>" \
--prompt "<motion_prompt EN — 按 4.2 结构,遵守 4.3-4.5 约束>" \
--duration 15 \
--resolution 720p \
--ratio "1:1" \
--out /tmp/drama_output/drama_video.json
参数默认:
--duration 15(默认 15 秒)--resolution 720p(想要更清晰改 1080p)--ratio 和 Step 3 的 aspect 保持一致脚本会:
bytedance/seedance-2.0/image-to-video 模型 IDvideo_url在 /tmp/drama_output/ 生成 report.md:
# <故事标题> — 漫剧成片
**九宫格分镜稿** → 
**15s 漫剧视频** → [点击播放](video_url)
**制作方**:Atlas Cloud API · GPT Image 2(九宫格) + Seedance 2.0 I2V(15s)
**视觉风格**:<风格>
**画幅**:<ratio>
告诉用户报告路径和两个 URL(图 + 视频)。
| 症状 | 可能原因 | 解决 |
|---|---|---|
ATLASCLOUD_API_KEY not set | 未设环境变量 | export ATLASCLOUD_API_KEY=... |
| 图里九宫格变成一整幅画 | prompt 里"3x3"强调不够 | 加 "bold black borders between panels, clear gutters, comic book page layout" |
| 9 格里角色长得不一样 | 一致性差 | 加 "same character across all panels, same outfit, same hairstyle" |
| 视频看起来就是静态图 | motion_prompt 太弱 | 加"camera dolly-in, parallax, panels come alive sequentially" |
| 轮询超过 10 分钟 | 队列阻塞 | 重试,或改用 seedance-2.0-fast |
| 视频链接 24 小时后失效 | CDN TTL | 尽早下载到本地 |
reference-to-video--resolution 改为 1080p--aspect 9:16,image 生成 936×1664,video ratio 同步seedance-2.0-fast,单条约 2-3 分钟出