storyboard-generator
npx skills add https://github.com/benzema216/dreamina-claude-skills --skill storyboard-generator
Agent 安装分布
Skill 文档
Storyboard Generator – åéå¾/è§é¢çæå¨
åºäºç¨æ·ç idea ææ äºæè¿°ï¼èªå¨æè§£ä¸ºå¤ä¸ªåºæ¯/éå¤´ï¼æ¹éçæå¯¹åºå¾çåè§é¢ï¼å¹¶ä»¥åé表形å¼åç°ã
æ ¸å¿è½å
1. æ¹éå¾ççæ
- æ ¹æ®æ äºæè§£ï¼ä¸æ¬¡æ§çæ 4-12 å¼ è¿è´¯çåéå¾
- ä¿æç³»åå¾ç飿 ¼ä¸è´æ§
- æ¯æä¸å宽髿¯éé ä¸åé头类å
2. æ¹éè§é¢çæ
- åºäºåé徿¹éçæè§é¢ç段
- æ¯æä¸ç§è§é¢çææ¨¡å¼ï¼
- æçè§é¢: 纯æåæè¿°çæè§é¢
- é¦å¸§å¾çè§é¢: 使ç¨åéå¾ä½ä¸ºè§é¢é¦å¸§
- é¦å°¾å¸§çè§é¢: æå®é¦å¸§å尾帧å¾çï¼çæè¿æ¸¡è§é¢
3. åé头鿰çæ
- 坹䏿»¡æçå个é头鿰çæå¾çæè§é¢
- ä¿æä¸å ¶ä»é头ç飿 ¼ä¸è´æ§
- æ¯æå¾®è°æç¤ºè¯åéæ°çæ
工使µç¨
Step 1: çè§£ç¨æ·åæ
- åæç¨æ·æä¾ç ideaãæ äºãèæ¬ææ¦å¿µ
- ç¡®å®æ´ä½é£æ ¼åºè°ï¼åå®ãå¡éãèµåæå ãæ°´å½©çï¼
- ç¡®å®è¾åºç±»åï¼çº¯å¾çåé / å¾ç+è§é¢ / 纯è§é¢
Step 2: æè§£åé
å°åææè§£ä¸º 4-12 个éå¤´ï¼æ¯ä¸ªé头å å«ï¼
| åæ®µ | 说æ | ç¤ºä¾ |
|---|---|---|
| shot_id | é头ç¼å· | Shot 01 |
| shot_type | é头类å | è¿æ¯/å ¨æ¯/䏿¯/è¿æ¯/ç¹å |
| description | åºæ¯æè¿° | åå¸å ¨æ¯ï¼é»ææ¶å |
| prompt | å¾ççææç¤ºè¯ | cinematic shot, city skyline… |
| video_prompt | è§é¢çææç¤ºè¯ï¼å¯éï¼ | camera slowly pushing in… |
| duration | 建议æ¶é¿ | 3s |
| ratio | 宽髿¯ | 16:9 |
| camera_move | è¿éæ¹å¼ | ç¼æ ¢æ¨è¿/åºå®/æé |
| transition | è½¬åºææ | æ·¡å ¥/å/å å |
| notes | 夿³¨ | é åç¯å¢é³ä¹ |
Step 3: æ¹éçæå¾ç
为æ¯ä¸ªé头è°ç¨ draw_one_image å·¥å
·ï¼
draw_one_image(
prompt="[飿 ¼åç¼], [é头类å], [åºæ¯æè¿°], [飿 ¼åç¼]",
reference_image_ids=[], # å¯éåèå¾
ratio="16:9" # æ ¹æ®é头类åéæ©
)
宽髿¯éæ©æåï¼
| é头类å | æ¨èæ¯ä¾ | éç¨åºæ¯ |
|---|---|---|
| è¿æ¯/å ¨æ¯ | 16:9, 21:9 | ç¯å¢äº¤ä»£ã大åºé¢ |
| 䏿¯ | 4:3, 3:2 | 人ç©äºå¨ãå¯¹è¯ |
| è¿æ¯/ç¹å | 1:1, 3:4 | æ 绪表达ãç»è |
| ç«ç | 9:16 | ææº/çè§é¢ |
Step 4: æ¹éçæè§é¢ï¼å¯éï¼
为éè¦å¨æææçé头è°ç¨ draw_one_video å·¥å
·ï¼
# 模å¼1: æçè§é¢
draw_one_video(
prompt="è§é¢æè¿°ï¼å
å«è¿éåå¨ä½",
reference_image_ids=[]
)
# 模å¼2: é¦å¸§å¾çè§é¢ï¼æ¨èï¼
draw_one_video(
prompt="è§é¢æè¿°",
reference_image_ids=["é¦å¸§å¾çURL"]
)
# 模å¼3: é¦å°¾å¸§çè§é¢
draw_one_video(
prompt="è¿æ¸¡æè¿°",
reference_image_ids=["é¦å¸§URL", "尾帧URL"]
)
Step 5: çæåé表
ä½¿ç¨ template/storyboard.html 模æ¿å±ç¤ºç»æã
åé头鿰çæ
å½ç¨æ·å¯¹æä¸ªé头䏿»¡ææ¶ï¼
- è¯å«ç®æ é头: æ ¹æ®ç¨æ·æå®çé头ç¼å·ï¼å¦ “éæ°çæ Shot 03″ï¼
- è·åä¸ä¸æ: ä¿æä¸ååé头ç飿 ¼ä¸è´æ§
- è°æ´æç¤ºè¯: æ ¹æ®ç¨æ·åé¦å¾®è°
- éæ°çæ: è°ç¨å¯¹åºå·¥å ·çææ°å 容
- æ´æ°åé表: æ¿æ¢å¯¹åºé头çå¾ç/è§é¢
éæ°çæç¤ºä¾å¯¹è¯ï¼
ç¨æ·: Shot 03 ç人ç©è¡¨æ
ä¸å¤åå®ï¼éæ°çæä¸ä¸
婿: 好çï¼ææ¥éæ°çæ Shot 03ï¼å 强人ç©åå®çç¥æ
...
[è°ç¨ draw_one_imageï¼å¾®è° prompt 强è°è¡¨æ
]
æç¤ºè¯æ¨¡æ¿
飿 ¼ä¸è´æ§åç¼ï¼éæ©ä¸ç§é£æ ¼ï¼å ¨ç¨ä½¿ç¨ï¼
çµå½±æ:
cinematic photography, 35mm film, anamorphic lens, warm color grading,
dramatic lighting, shallow depth of field
å¨ç»é£æ ¼:
anime style, studio ghibli inspired, soft colors, detailed background,
cel shading, beautiful lighting
èµåæå :
cyberpunk aesthetic, neon lights, rain-soaked streets, holographic displays,
dark atmosphere, high contrast, blade runner style
å宿影:
professional photography, natural lighting, realistic textures,
high detail, 8k resolution, photorealistic
æç¤ºè¯ç»æ
[飿 ¼åç¼], [é头类å shot], [ä¸»ä½æè¿°], [å¨ä½/ç¶æ],
[ç¯å¢/èæ¯], [å
线/æ°å´], [飿 ¼åç¼]
è¾åºæ ¼å¼
çæå®æåï¼è¾åºç»æåçåéæ°æ®ï¼
{
"project_title": "é¡¹ç®æ é¢",
"style": "çµå½±æ/åå®",
"total_shots": 6,
"total_duration": "15s",
"shots": [
{
"shot_id": "Shot 01",
"shot_type": "è¿æ¯",
"description": "åå¸å
¨æ¯ï¼é»ææ¶å",
"image_url": "çæçå¾çURL",
"video_url": "çæçè§é¢URLï¼å¯éï¼",
"duration": "3s",
"ratio": "16:9",
"camera_move": "ç¼æ
¢æ¨è¿",
"transition": "æ·¡å
¥",
"prompt": "使ç¨çæç¤ºè¯",
"notes": "å¼åºé头"
}
]
}
使ç¨åºæ¯
| åºæ¯ | æ¨èé ç½® |
|---|---|
| æé³/çè§é¢ | 6-8é头, 9:16ç«ç, å¾+è§é¢ |
| 广ååæ | 8-12é头, 16:9横ç, å¾+è§é¢ |
| å¨ç»åé | 8-12é头, 16:9, 纯å¾ç |
| æ äºç»æ¬ | 6-10é头, 1:1æ4:3, 纯å¾ç |
| 游æCG | 6-8é头, 21:9è¶ å®½, å¾+è§é¢ |
| é³ä¹MV | 10-15é头, 16:9, å¾+è§é¢ |
注æäºé¡¹
- 忬¡å»ºè®®ä¸è¶ è¿ 12 个é头ï¼é¿å çææ¶é´è¿é¿
- è§é¢çæè¾æ ¢ï¼çº¦30-60ç§/个ï¼ï¼å¯å çæå ¨é¨å¾çåæéçæè§é¢
- é¦å°¾å¸§çè§é¢æ¶ï¼ä¸¤å¸§å¾ç飿 ¼åå 容éè¦æåççè¿æ¸¡å ³ç³»
- éæ°çææ¶ä¿æé£æ ¼åç¼ä¸è´ï¼ä» è°æ´å ·ä½æè¿°
- å¦éè§è²é«åº¦ä¸è´ï¼å»ºè®®ç¨æ·æä¾åèå¾
常è§é®é¢ä¸è¸©åè®°å½
1. HTML 模æ¿ä¸ JavaScript å符串å¼å·é®é¢
é®é¢ç°è±¡: åé表 HTML 页é¢åªæ¾ç¤ºæ é¢ï¼é头å¡ç䏿¸²æã
åå : å¨ JavaScript ç storyboardData 对象ä¸ï¼description æ dialogue åæ®µå
å«ä¸æåå¼å· "..." æ¶ï¼ä¼ç ´å JS åç¬¦ä¸²è¯æ³ï¼å¯¼è´æ´ä¸ªèæ¬è§£æå¤±è´¥ã
é误示ä¾:
{ description: "ä¸é¢åç"åæ¿"ã", ... } // â 䏿å¼å·ç ´åå符串
æ£ç¡®åæ³:
{ description: "ä¸é¢åçãåæ¿ãã", ... } // â
使ç¨ä¸æä¹¦åæ¬å·
{ description: "ä¸é¢åç'åæ¿'ã", ... } // â
使ç¨åå¼å·
{ description: "ä¸é¢åç\"åæ¿\"ã", ... } // â
转ä¹åå¼å·
ææ¥æ¹æ³:
# ä½¿ç¨ Node.js æ£æ¥ JS è¯æ³
node -e "
const fs = require('fs');
const html = fs.readFileSync('storyboard.html', 'utf8');
const scriptMatch = html.match(/<script>([\s\S]*?)<\/script>/);
if (scriptMatch) {
try {
new Function(scriptMatch[1]);
console.log('JavaScript syntax OK');
} catch(e) {
console.log('JavaScript error:', e.message);
}
}
"
2. å ä½å¾çæå¡
å½å®é
å¾çå°æªçææ¶ï¼å¯ä½¿ç¨ picsum.photos ä½ä¸ºå ä½å¾ï¼
<img src="https://picsum.photos/seed/shot${shot_id}/640/360" alt="Shot">
seed/shot${shot_id}ç¡®ä¿åä¸éå¤´æ¯æ¬¡æ¾ç¤ºç¸åçéæºå¾ç- 坿·»å
filter: grayscale(100%)使å ä½å¾åç°é»ç½ææï¼ä¸æªçæç¶æåºå