text
myreels-storyboard (storyboard design)
↓ generates storyboard CSV
myreels-api (image/video generation) ← user must install this skill first
Important: This skill handles storyboard design. After completion, guide the user to use myreels-api skill for actual image and video generation.
text
1. Story Input → User provides plot outline
2. Story Understanding → Use the active OpenClaw default LLM to understand plot, roles, relationships, and visual beats
3. Character Design → Design characters with a single-image three-view turnaround sheet (front/side/back)
4. Shot Breakdown → Generate structured shots
5. User Confirmation → Output CSV + platform table
6. Image Generation → Guide user to myreels-api
7. Video Creation → Guide user to myreels-api (optional)
Collect the following information:
QuestionOptionsStory contentPlot outline or full scriptVideo stylecinematic / anime / 3d cartoon / realisticDuratione.g., 60 seconds, 2 minutesShot counte.g., 10-15 shotsAspect ratio16:9 / 9:16 / 1:1 (vertical = 9:16)Has dialogueYes / No
After collecting inputs:
scripts/generate_storyboard.py is deprecated and should not be referenced in this workflowBefore shot design, establish character consistency using a three-view character sheet (三视图).
Default rule:
single-image turnaround sheet, not as a posterfront view, side view, and back view on one canvasnano-banana2 first for generating the base three-view character sheetcharacter-first workflow: approve the character sheet and tags first, then generate storyboard shots with those tags injectedFieldDescriptioncharacter_nameCharacter namestory_roleRole in story, e.g. protagonist / opponent / companionrelation_to_mainRelationship to the main character, e.g. self / conflict / ally / romanceappearancePhysical description (hair, eyes, face, build)outfitClothing and accessoriespersonalityKey personality traitsreference_modelBase model for the first turnaround sheet, default nano-banana2``single_image_turnaround_promptMain English prompt for one-sheet front/side/back generationfront_viewEnglish description for front viewside_viewEnglish description for side viewback_viewEnglish description for back viewcharacter_tagsConsistency tags for AI prompts (e.g., "short hair, left face mole, red earrings")negative_promptTerms to suppress poster-like, inconsistent, or cropped outputs
Generate character descriptions for AI image generation. The output should be structured for a single image containing all three views:
text
CHARACTER: [Name]
STORY_ROLE: [protagonist / opponent / companion / love_interest]
RELATION_TO_MAIN: [self / conflict / ally / romance]
TAGS: [Consistency tags for prompt injection]
REFERENCE_MODEL: [Usually nano-banana2 for the first three-view sheet]
SINGLE_IMAGE_TURNAROUND_PROMPT: [English prompt explicitly requesting one image with front / side / back full-body views]
NEGATIVE_PROMPT: [English suppression terms for layout drift]
FRONT: A [age] [ethnicity] [gender] with [hair], [eyes], [build], wearing [outfit], neutral standing pose
SIDE: Same character from side profile showing [distinctive feature / silhouette / accessory placement]
BACK: Same character from behind showing [hairstyle back shape / outfit back detail / asymmetry]
Prompt rule:
single_image_turnaround_prompt must front-load the layout requirement: one image, same character, front view, side view, back view, aligned left to rightFor each character, build a character tag library that will be reused in all shot prompts:
text
# Example character tags
"短发女孩, 左脸有痣, 红色耳钉, 黑色皮夹克"
→ "short hair, beauty mark on left cheek, red earrings, black leather jacket"
Recommended operating mode:
characters.csv firstrelationships.csv for recurring character pairssingle_image_turnaround_prompt, negative_prompt, and character_tagsopponent, love_interest, or companion just because the genre suggests onecharacter_tags in every visual_promptrelationships.csv as a pairwise matrix for all recurring character pairs, not only protagonist-centered pairsrelationship_type and prompt_hint when designing confrontation, ally, or romance shotsvisual_relation, emotional_relation, and blocking_pattern to keep staging and mood consistent across repeated pair shotsrelationship_type bias the default shot language: conflict leans toward low-angle / confrontational framing, ally toward cooperative full shots, romance toward closer eye-level coveragetheme bias the baseline shot rhythm too: action leans kinetic, romance leans intimate, thriller leans uneasy, sci-fi leans scale/discoveryDefault OpenClaw behavior:
characters.csv, relationships.csv, and storyboard.csvsingle_image_turnaround_prompt, negative_prompt, front_view_prompt, side_view_prompt, back_view_prompt, character_tags, prompt_hint, and visual_promptcharacter_id, relationship_id, shot_id, scene_codevisual_prompt should preserve concrete story specifics from the user's outline in English, including names, props, locations, and beat-specific actionsdescription and action should vary shot by shot; avoid repetitive generic phase labels when a more specific beat description is availabledescription in the dominant user language; if no dominant language is clear, follow the user's most recent instruction languageEach shot includes these fields:
FieldDescriptionshot_idScene + Shot number (e.g., S01-01)shot_typeShot sizecamera_angleCamera anglemovementCamera movementdurationEstimated seconds (2-5s typical)descriptionUser language description - brief summary in user's input language (Chinese/Japanese/English). NOT used for AI generation.visual_promptEnglish prompt for AI image generationactionCharacter action descriptiondialogueDialogue/voiceover (optional)emotionTarget audience emotionsound_fxSound effects / music cues (optional)notesAdditional notesdifficulty🟢 simple / 🟡 medium / 🔴 compleximage_urlGenerated image URL from downstream tool (optional)video_urlGenerated video URL from downstream tool (optional)statusWorkflow status in the user's language for review CSVs; normalize in the English export if needed
TypeChineseUse CaseExtreme Close-up / ECU大特写Key detail, extreme emotionClose-up / CU特写Face, key objectMedium Close-up / MCU中近景Dialogue, slight conflictMedium / MS中景Conversation, interactionFull Shot / FS全景Full body, relationshipWide / WS远景Environment, establishing
AngleEmotion ImplicationEye-levelNeutral, objectiveLow-angle (仰视)Power, authority, threatHigh-angle (俯视)Vulnerability, submissionDutchUnease, tension, chaosPOVSubjective, immersionTiltedUnstable, danger
GradeIconDescriptionSimple🟢Fixed camera, single subject, no complex interactionMedium🟡Light camera movement, dual subject, simple effectsComplex🔴Fast motion, multiple subjects, complex choreography, special lighting/particles
Each shot must specify target emotion:
EmotionKeyDescriptionHook钩子Attention grabTension紧张Building suspenseConflict冲突ConfrontationSweet甜宠Romance, warmthTwist反转SurpriseClimax高潮Peak emotional momentRelease释然Resolution
text
[Subject] + [Action] + [Environment] + [Lighting] + [Quality] + [Style] + [Camera]
Prompt design rule for this skill:
single_image_turnaround_prompt should use layout-first language for nano-banana2visual_prompt should carry theme + phase cues so action / romance / thriller / sci-fi drafts do not collapse into the same generic shot languageAlways include:
cinematic8k or high resolutionshallow depth of field or bokehdynamic lightingIf needed, add:
no text / no watermark / no distorted facesolo / two-shot / crowdAlways inject character tags from Step 2:
text
# Before
"A woman fighting aliens"
# After (with character tags)
"A young woman with short hair, beauty mark on left cheek, red leather jacket fighting aliens, cinematic, 8k..."
Use scene code +固化环境描述:
text
SCENE-A: "abandoned colony base, red dust, two moons, ruins"
# All shots in SCENE-A reference this environment
Feishu: Use feishu_bitable for online editing Telegram: Formatted text table or CSV attachment Other: Default to CSV
text
shot_id, scene_code, shot_type, camera_angle, movement, duration, description, visual_prompt, action, dialogue, emotion, sound_fx, notes, difficulty, image_url, video_url, status
Note:
visual_prompt field is always in English for AI image generationshot_type, camera_angle, movement, emotion, difficulty, or status, write a separate English export copy instead of mutating the review CSVWhen this skill writes files, it should automatically create a project workspace in the user's current working directory or requested output directory.
Default root pattern:
text
storyboard-projects/YYYYMMDD-project-slug/
Recommended structure:
text
storyboard-projects/YYYYMMDD-project-slug/
├── 00-brief/
│ ├── story-brief.md
│ └── user-notes.md
├── 01-characters/
│ ├── drafts/
│ │ ├── characters.v1.draft.csv
│ │ └── character-design.v1.draft.md
│ ├── approved/
│ │ ├── characters.approved.csv
│ │ └── character-design.approved.md
│ ├── exports/
│ │ └── characters.program-en.csv
│ └── generated-images/
│ ├── raw/
│ ├── approved/
│ ├── requests/
│ ├── tasks/
│ └── metadata/
├── 02-relationships/
│ ├── drafts/
│ │ └── relationships.v1.draft.csv
│ ├── approved/
│ └── relationships.approved.csv
│ └── exports/
│ └── relationships.program-en.csv
├── 03-storyboard/
│ ├── drafts/
│ │ ├── storyboard.v1.draft.csv
│ │ └── storyboard-notes.v1.draft.md
│ ├── approved/
│ ├── storyboard.approved.csv
│ └── storyboard-notes.approved.md
│ └── exports/
│ └── storyboard.program-en.csv
├── 04-generation/
│ ├── storyboard-images/
│ │ ├── raw/
│ │ └── approved/
│ │ ├── requests/
│ │ ├── tasks/
│ │ └── metadata/
│ └── videos/
│ ├── raw/
│ ├── approved/
│ ├── requests/
│ ├── tasks/
│ └── metadata/
├── 05-review/
│ └── review-log.md
└── 06-delivery/
└── manifest.md
Workspace rules:
drafts/approved/ folder instead of overwriting history01-characters/generated-images/raw/01-characters/generated-images/approved/04-generation/storyboard-images/raw/04-generation/videos/raw/approved/ media folderrequests/tasks/metadata/, including model name, mode, aspect ratio, seed if available, source image references, created time, and returned URLs05-review/review-log.md06-delivery/manifest.mdVersioning rules:
characters.v1.draft.csv, storyboard.v2.draft.csv, images-shot-S01-01.v1.png*.approved.* for frozen user-confirmed filesexports/ with names such as storyboard.program-en.csv and relationships.program-en.csvcharacter-C001-turnaround.v1.request.json, character-C001-turnaround.v1.task.json, character-C001-turnaround.v1.meta.jsonshot-S01-01.v2.request.json and shot-S01-01.v2.meta.jsonRe-run stability rules:
review-log.md, note why the rerun happened and what changed relative to the previous attempttext
Storyboard confirmed. Now use `myreels-api` skill for image generation.
Recommended workflow:
1. Generate one single-image character turnaround sheet first (front/side/back on one canvas)
2. Prefer `nano-banana2` for the base three-view character sheet, then generate key storyboard shots using: nano-banana2 / seedream 5.0 / kling v3 image
3. Verify character consistency across all shots
4. Confirm images before video generation
Say: "Use myreels-api to generate storyboard images"
text
Images confirmed. Now use `myreels-api` skill for video.
Recommended models (image to video):
- Kling O3 / Kling V3 (general video)
- Seedance 1.5 Pro SE (high quality)
- Wan 2.6 i2v / Hailuo-2.3 (quick preview)
Note: For complex shots (🔴), consider longer duration or multiple takes.
Say: "Use myreels-api to convert these images to video"
For each shot, verify:
characters.csv - Character design datarelationships.csv - Relationship matrix for recurring charactersstoryboard.csv - Complete storyboardassets/characters-template.csv - Character CSV starter templateassets/relationships-template.csv - Relationship CSV starter templateassets/storyboard-template.csv - Storyboard CSV starter templatevisual_prompt must be in English with quality tags*.program-en.csv export instead of changing the review CSV