Install
openclaw skills install shellbot-creativeOpinionated creative production system for image/video generation, image editing, motion scenes, voiceovers, music, and Remotion assembly. Combines Freepik, fal.ai, Nano Banana 2 (Gemini 3.1 Flash Image Preview), and Remotion workflows for explainers, product marketing videos, social ads, and reusable asset pipelines. Use when users ask to create or edit visual assets, generate clips, produce narration/music, or deliver a polished final video from a brief.
openclaw skills install shellbot-creativeCreate high-end creative outputs by chaining providers intentionally:
Use this skill as a production orchestrator, not as isolated single calls.
$0 (plan | asset | edit | video | voice | music | remotion | pipeline | status | sample)$1 (provider, model, or workflow type)$2, $3, etc.$ARGUMENTSSupport any of these providers:
FREEPIK_API_KEY for Freepik APIFAL_KEY for fal.ai APIINFERENCE_API_KEY (or infsh login) for Nano Banana 2 via inference.shBefore 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.
Read references/provider-matrix.md for exact model choices.
$0 = planTurn 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 = assetGenerate still assets for scenes.
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"
}'
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"}}'
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 = editPerform image editing/upscaling/background work before animation.
See references/workflow-recipes.md for edit chains.
$0 = videoGenerate motion scenes from prompts or keyframes.
kling-v3-omni-profal-ai/kling-video/v2/image-to-videoAlways save scene outputs in a structured project folder:
mkdir -p ./creative-output/{assets,scenes,audio,final,manifests}
$0 = voiceGenerate narration.
Use concise script-first narration lines generated from storyboard scenes.
$0 = musicGenerate background music and keep loudness headroom for voiceover.
music-generation$0 = remotionAssemble 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 = pipelineRun end-to-end sequence:
plan from briefasset generation per sceneedit and upscale selected assetsvideo generation for hero scenesvoice + musicremotion assembly + renderIf the user asks for a product marketing or explainer video, this is the default command path.
$0 = statusCheck async task status for Freepik/fal requests and report:
$0 = sampleLoad ready-to-run workflows from references/samples.md.
Always enforce:
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.gz of 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$0, $1, $ARGUMENTS): https://docs.openclaw.ai/tools/slash-commandsmetadata.openclaw): https://docs.openclaw.ai/tools/skills-config