Install
openclaw skills install shellbot-creative-studioHeadless creative production studio for AI agents. Generate images, edit photos, create videos, produce voiceover/music/SFX, and assemble polished output via Remotion. Supports Freepik, fal.ai, Nano Banana 2 (Gemini), OpenRouter, and ElevenLabs. Use when building product videos, social ads, explainers, marketing assets, or any visual/audio content pipeline.
openclaw skills install shellbot-creative-studioHeadless creative production studio for AI agents. One skill to generate images, edit photos, create videos, produce audio, and assemble everything into polished video output via Remotion.
Philosophy: Opinionated defaults, narrow overrides. Just works with whatever API keys you have.
| Command | Description | Example |
|---|---|---|
image | Generate images (T2I, reference-guided) | image --prompt "product shot" --style photo |
edit | Edit images (upscale, remove-bg, inpaint, outpaint, style-transfer, relight) | edit --input img.png --action upscale |
video | Generate video clips (T2V, I2V) | video --prompt "cinematic intro" --duration 5 |
voice | Text-to-speech narration | voice --text "Welcome to..." --output vo.mp3 |
music | Background music generation | music --prompt "upbeat cinematic" --duration 30 |
sfx | Sound effects generation | sfx --prompt "whoosh transition" --duration 2 |
remotion init | Bootstrap Remotion project from template | remotion init --template cinematic-product-16x9 |
remotion render | Render Remotion project to MP4 | remotion render --project ./my-video |
plan | Creative brief to storyboard JSON | plan --brief "Launch video for..." --framework aida |
pipeline | End-to-end production (plan to render) | pipeline --brief "..." --template aida-classic-16x9 |
status | Check async task status | status --task-id abc123 --provider freepik |
providers | Show available providers | providers |
Read references/command-reference.md for full parameter docs.
$0 — one of the commands above$ARGUMENTS — forwarded to the command scriptSet one or more of these environment variables:
| Variable | Provider | Capabilities | Setup |
|---|---|---|---|
FREEPIK_API_KEY | Freepik | image, edit, video, voice, music, sfx | https://www.freepik.com/api/keys |
FAL_API_KEY | fal.ai (+ Nano Banana 2 via fal) | image, edit, video | https://fal.ai/dashboard/keys |
GOOGLE_API_KEY | Nano Banana 2 (via Google) | image, edit | https://aistudio.google.com/apikey |
OPENROUTER_API_KEY | OpenRouter (Nano Banana 2 + many image models) | image | https://openrouter.ai/keys |
ELEVENLABS_API_KEY | ElevenLabs | voice, music, sfx | https://elevenlabs.io/app/settings/api-keys |
Nano Banana 2 auto-detects the best available backend: GOOGLE_API_KEY (preferred) > FAL_API_KEY (fal-ai/nano-banana-2) > OPENROUTER_API_KEY > infsh CLI. OpenRouter also works as a standalone image provider with access to many models — see https://openrouter.ai/collections/image-models
At minimum, set FREEPIK_API_KEY (covers all capabilities). Run providers to check what's available.
Each command auto-selects the best provider based on available API keys. Override with --provider.
| Task | Priority 1 | Priority 2 | Priority 3 |
|---|---|---|---|
| image | Nano Banana 2 (GOOGLE_API_KEY / FAL_API_KEY / OPENROUTER_API_KEY) | Freepik Seedream v5 lite | fal Flux-2 / OpenRouter |
| edit | Freepik (precision upscale) | fal (creative upscale) | Nano Banana 2 (iterative) |
| video | Freepik Kling v3 (quality) | fal Kling v2 (fallback) | — |
| voice | Freepik ElevenLabs | ElevenLabs direct | — |
| music | Freepik music gen | ElevenLabs | — |
| sfx | Freepik SFX | ElevenLabs | — |
Read references/provider-matrix.md for the full model selection decision tree.
This is how to think about when to use each tool. Follow this decision framework.
Nano Banana 2 is the default for image generation because:
Use Nano Banana 2 (gemini-3.1-flash-image-preview) when:
Use Nano Banana Pro (gemini-3-pro-image-preview) when:
Switch to Freepik Seedream v5 lite when:
Other Freepik models (use --model):
seedream-v4-5 — typography-heavy posters and ad creativesmystic — ultra-photoreal product photography (slower, higher cost)flux-2-klein — sub-second generation for rapid conceptingThis is the most important decision. Never use AI video for what Remotion does better.
Use Kling (video command) for:
Use Remotion for:
The ideal workflow:
pipeline command vs manual stepsUse pipeline for standard product marketing or explainer videos where you trust the defaults. It runs the full plan-to-render sequence automatically.
Use manual steps when:
Read references/prompt-cookbook.md for proven prompt patterns for every command — product photography, SaaS UI, transparent assets, video reveals, audio recipes, and full end-to-end examples.
$0 = imageGenerate images with smart provider selection.
bash scripts/image.sh --prompt "Studio product shot of wireless earbuds, soft lighting" \
--style photo --size 16:9 --resolution 2k --output hero.png
Force a specific provider or model:
bash scripts/image.sh --prompt "..." --provider freepik --model seedream-v4-5
bash scripts/image.sh --prompt "..." --provider nano-banana-2 --count 4
bash scripts/image.sh --prompt "..." --provider nano-banana-2 --model pro # Nano Banana Pro
Nano Banana 2 models:
gemini-3.1-flash-image-preview (default) — fast, cheap, great consistencypro or gemini-3-pro-image-preview — highest quality, 2x cost$0 = editEdit images with 6 actions: upscale, remove-bg, inpaint, outpaint, style-transfer, relight.
bash scripts/edit.sh --input hero.png --action upscale --scale 4 --output hero-4k.png
bash scripts/edit.sh --input photo.jpg --action remove-bg --output photo-nobg.png
bash scripts/edit.sh --input scene.png --action outpaint --left 512 --right 512 --prompt "extend the landscape"
$0 = videoGenerate video clips. Supports text-to-video and image-to-video.
Opinionated approach: Always generate a still first with image, review it, then animate with video --image. This gives you control over the starting frame.
bash scripts/video.sh --prompt "Product floating in space, rotating slowly" \
--duration 5 --aspect 16:9 --output hero-clip.mp4
bash scripts/video.sh --prompt "Camera orbits around the product" \
--image hero.png --duration 5 --output orbit-clip.mp4
$0 = voiceGenerate voiceover narration.
bash scripts/voice.sh --text "Welcome to the future of productivity." \
--voice 21m00Tcm4TlvDq8ikWAM --output vo-intro.mp3
$0 = musicGenerate background music.
bash scripts/music.sh --prompt "cinematic ambient, subtle and professional" \
--duration 45 --output music.mp3
$0 = sfxGenerate sound effects.
bash scripts/sfx.sh --prompt "soft whoosh transition" --duration 1.5 --output whoosh.mp3
$0 = remotion initBootstrap a Remotion project from bundled templates.
bash scripts/remotion_init.sh --template cinematic-product-16x9 --name MyProduct --output ./my-video
bash scripts/remotion_init.sh --list # Show available templates
Templates: aida-classic-16x9, cinematic-product-16x9, saas-metrics-16x9, mobile-ugc-9x16, blank-16x9, explainer-16x9
All templates use Remotion 4.0.419 (pinned), React 18, TypeScript. Each includes npm run start (studio), npm run render, and npm run verify.
$0 = remotion renderRender a Remotion project to MP4.
bash scripts/remotion_render.sh --project ./my-video --output final.mp4 --codec h264 --crf 18
$0 = planConvert a creative brief into a structured storyboard.
bash scripts/plan.sh --brief "Launch video for FitPulse, a fitness app for busy professionals" \
--framework aida --duration 45 --output storyboard.json
For AIDA framework, provide structured brief JSON:
bash scripts/plan.sh --brief-file brief.json --framework aida --output plan.json
Required AIDA fields: product_name, audience, problem, solution, use_cases (array), cta, incentive
$0 = pipelineRun the full production pipeline: brief to rendered video.
bash scripts/pipeline.sh \
--brief "Launch video for a new AI writing assistant targeting content creators" \
--template cinematic-product-16x9 \
--output-dir ./creative-output \
--duration 45
# Dry run to preview the plan:
bash scripts/pipeline.sh --brief "..." --dry-run
# Stop before render for review:
bash scripts/pipeline.sh --brief "..." --skip-render
Pipeline steps: plan > generate images > upscale heroes > generate video clips > voiceover > music > Remotion assembly > render
$0 = providersCheck which providers are available.
bash scripts/providers.sh
$0 = statusCheck async task status.
bash scripts/status.sh --task-id abc123 --provider freepik
bash scripts/status.sh --all # Show all tracked tasks
--dry-run to preview without API calls.creative-tasks.jsonl per output directory@remotion/google-fontsnpm run verify before npm run renderreferences/remotion-rules/ as neededRead references/remotion-playbook.md for detailed Remotion implementation guidance.
scripts/creative.sh — Main router (dispatches to sub-commands)scripts/image.sh — Image generationscripts/edit.sh — Image editing (6 actions)scripts/video.sh — Video generationscripts/voice.sh — Text-to-speechscripts/music.sh — Music generationscripts/sfx.sh — Sound effectsscripts/remotion_init.sh — Remotion project bootstrapscripts/remotion_render.sh — Remotion renderscripts/plan.sh — Brief to storyboardscripts/pipeline.sh — End-to-end pipelinescripts/status.sh — Task status checkerscripts/providers.sh — Provider availabilityreferences/command-reference.md — Full parameter docs for every commandreferences/provider-matrix.md — Provider/model decision treereferences/creative-guidelines.md — Quality standardsreferences/workflow-recipes.md — End-to-end recipe examplesreferences/remotion-playbook.md — Remotion implementation guidereferences/freepik-ancillary-assets.md — Asset generation recipesreferences/template-showcase.md — Template selector guidereferences/remotion-rules-index.md — Index of 29+ Remotion rule filesreferences/remotion-rules/ — Detailed Remotion rules (animations, audio, text, transitions, etc.)assets/templates/aida-classic-16x9/ — AIDA product marketingassets/templates/cinematic-product-16x9/ — Dramatic product launchassets/templates/saas-metrics-16x9/ — B2B dashboard metricsassets/templates/mobile-ugc-9x16/ — Vertical social (Reels/TikTok)assets/templates/blank-16x9/ — Minimal starterassets/templates/explainer-16x9/ — 5-scene how-it-works