shellbot-creative
Create high-end creative outputs by chaining providers intentionally:
- Generate reusable assets (Nano Banana 2 / Freepik / fal)
- Generate scene motion (Freepik Kling / fal video models)
- Add voice and music (Freepik ElevenLabs voiceover + music or fal equivalents)
- Assemble and polish in Remotion
Use this skill as a production orchestrator, not as isolated single calls.
Arguments
- Command:
$0(plan|asset|edit|video|voice|music|remotion|pipeline|status|sample) - Arg 1:
$1(provider, model, or workflow type) - Arg 2+:
$2,$3, etc. - All args:
$ARGUMENTS
Authentication and provider checks
Support any of these providers:
FREEPIK_API_KEYfor Freepik APIFAL_KEYfor fal.ai APIINFERENCE_API_KEY(orinfsh login) for Nano Banana 2 via inference.sh
Before any generation call:
[ -n "$FREEPIK_API_KEY" ] && echo "Freepik ready"
[ -n "$FAL_KEY" ] && echo "fal ready"
command -v infsh >/dev/null && echo "infsh available"
If a requested provider is not authenticated, route to another available provider and clearly explain the fallback.
Provider routing (opinionated defaults)
- Asset ideation / strong multi-image consistency: Nano Banana 2
- Photoreal product hero, posters, typography, upscale/edit suite: Freepik
- Fast model exploration or niche fal endpoint needs: fal.ai
- Final timeline composition, transitions, captions, audio mix: Remotion
Read references/provider-matrix.md for exact model choices.
Command behavior
$0 = plan
Turn a user brief into a production storyboard and shot list.
python3 scripts/creative_brief_to_storyboard.py \
--brief "Launch video for a new fitness app aimed at busy professionals" \
--format product-marketing \
--duration 45 \
--aspect-ratio 16:9 \
--out storyboard.json
Then create a provider/model routing recommendation:
python3 scripts/creative_provider_router.py \
--goal full-video \
--priority quality \
--needs-consistency true \
--needs-typography true
$0 = asset
Generate still assets for scenes.
- Nano Banana 2 default (consistency + editing):
infsh app run google/gemini-3-1-flash-image-preview --input '{
"prompt": "Premium SaaS dashboard on a laptop, soft studio light",
"aspect_ratio": "16:9",
"num_images": 4,
"resolution": "2K"
}'
- Freepik high-fidelity product image (Mystic):
curl -s -X POST "https://api.freepik.com/v1/ai/mystic" \
-H "x-freepik-api-key: $FREEPIK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"Studio product shot of matte black earbuds on reflective surface","resolution":"2k","styling":{"style":"photo"}}'
- fal fast concepting (Flux):
curl -s -X POST "https://queue.fal.run/fal-ai/flux-2" \
-H "Authorization: Key $FAL_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"Cyberpunk storefront, rainy night","image_size":"landscape_16_9"}'
$0 = edit
Perform image editing/upscaling/background work before animation.
- Prefer Freepik edit endpoints for deterministic production flows.
- Prefer Nano Banana 2 when iterative instruction-based edits are needed with multiple references.
- Use Freepik upscalers for final delivery quality.
See references/workflow-recipes.md for edit chains.
$0 = video
Generate motion scenes from prompts or keyframes.
- Freepik default for premium multi-shot video:
kling-v3-omni-pro - fal default when Freepik key is unavailable:
fal-ai/kling-video/v2/image-to-video
Always save scene outputs in a structured project folder:
mkdir -p ./creative-output/{assets,scenes,audio,final,manifests}
$0 = voice
Generate narration.
- Default: Freepik ElevenLabs voiceover endpoint
- Fallback: fal text-to-speech model if user requests fal-only flow
Use concise script-first narration lines generated from storyboard scenes.
$0 = music
Generate background music and keep loudness headroom for voiceover.
- Default: Freepik
music-generation - Target: deliver 10-240s cue matching storyboard duration
$0 = remotion
Assemble final video with composited assets, generated clips, captions, and audio mix.
npx create-video@latest creative-video
cd creative-video
Generate a Remotion manifest from the storyboard:
python3 ../scripts/remotion_manifest_from_storyboard.py \
--storyboard ../storyboard.json \
--fps 30 \
--voiceover-url "https://example.com/voice.mp3" \
--music-url "https://example.com/music.mp3" \
--out ./src/creative-manifest.json
Then implement composition using assets/remotion/ProductMarketingTemplate.tsx as a baseline.
$0 = pipeline
Run end-to-end sequence:
planfrom briefassetgeneration per sceneeditand upscale selected assetsvideogeneration for hero scenesvoice+musicremotionassembly + render
If the user asks for a product marketing or explainer video, this is the default command path.
$0 = status
Check async task status for Freepik/fal requests and report:
- current state
- queue position if available
- failed-step diagnosis
- next action
$0 = sample
Load ready-to-run workflows from references/samples.md.
Quality bar for "outstanding" creative output
Always enforce:
- Clear narrative arc: hook -> value -> proof -> CTA
- Visual consistency across scenes (same product, palette, style)
- Voice/music balance (voice intelligibility first)
- Captions and on-screen text optimized for mobile safe zones
- Brand-safe outputs and explicit user approval before final render
Production workflow policy
- Prefer 16:9 for explainers and product demos unless user asks otherwise
- Prefer 9:16 for shorts/reels/tiktok style cuts
- Generate 2-4 variations of key hero scenes, then converge
- Keep source assets reusable (clean backgrounds, layered variants when possible)
- For revisions, edit prompts/scene timing first before regenerating everything
Local resources included in this skill
scripts/creative_brief_to_storyboard.py- brief -> timed scene planscripts/creative_provider_router.py- requirement -> provider/model routescripts/remotion_manifest_from_storyboard.py- storyboard -> Remotion-ready manifestscripts/run_full_dry_run.py- full local dry run that outputs storyboard, routes, manifest, and runnable API planscripts/package_skill.sh- build a distributable.tar.gzof the skillscripts/install_skill.sh- install the skill folder into an OpenClaw skills directoryreferences/creative-guidelines.md- durable standards for creative qualityreferences/provider-matrix.md- provider/model decision matrixreferences/workflow-recipes.md- end-to-end recipes for common outcomesreferences/samples.md- concrete command samplesreferences/remotion-playbook.md- Remotion-specific finishing guidanceassets/remotion/ProductMarketingTemplate.tsx- starter Remotion compositionassets/remotion/Root.tsx- composition registration sample
References
- OpenClaw skills format and frontmatter: https://docs.openclaw.ai/tools/skills
- OpenClaw slash command behavior (
$0,$1,$ARGUMENTS): https://docs.openclaw.ai/tools/slash-commands - OpenClaw metadata config (
metadata.openclaw): https://docs.openclaw.ai/tools/skills-config - OpenClaw creating skills guide: https://docs.openclaw.ai/tools/creating-skills