Animation pipeline: AnimeScene engine, Ghibli-style compositions, audio energy tool, and README showcase
Add anime_scene rendering engine (AnimeScene + ParticleOverlay components) with multi-image crossfade, 9 camera motion types, 5 particle systems, and cinematic lighting overlays. Fix critical Remotion durationInFrames footgun by passing sceneDurationSeconds from parent. Add audio offset/loop support in Explainer for skipping quiet music intros. New tools: audio_energy.py analyzes per-second loudness via ebur128 to find optimal music offset and detect when looping is needed. Update all 6 animation pipeline skills (proposal, scene, asset, compose, executive-producer, remotion.md) with battle-tested image_animation workflow including tool availability scan, FLUX multi-image generation, composition JSON format, pre-render validation, and post-render self-review. Add 3 demo compositions (Candyland, Mori no Seishin, Deep Ocean) and anime-ghibli style playbook. Update README with 3 anime video showcases and animation prompts. Add Animation Pipeline section to PROMPT_GALLERY.md.
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"cuts": [
|
||||
{
|
||||
"id": "scene-1-candy-gate",
|
||||
"source": "",
|
||||
"in_seconds": 0,
|
||||
"out_seconds": 5,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"candyland/scene1-candy-gate-a.png",
|
||||
"candyland/scene1-candy-gate-b.png"
|
||||
],
|
||||
"animation": "zoom-in",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#FFE082",
|
||||
"particleCount": 22,
|
||||
"particleIntensity": 0.6,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(255,200,100,0.15)",
|
||||
"lightingTo": "transparent"
|
||||
},
|
||||
{
|
||||
"id": "scene-2-candy-forest",
|
||||
"source": "",
|
||||
"in_seconds": 5,
|
||||
"out_seconds": 10,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"candyland/scene2-candy-forest-a.png",
|
||||
"candyland/scene2-candy-forest-b.png"
|
||||
],
|
||||
"animation": "pan-right",
|
||||
"particles": "petals",
|
||||
"particleColor": "#FF6B9D",
|
||||
"particleCount": 18,
|
||||
"particleIntensity": 0.5,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "transparent",
|
||||
"lightingTo": "rgba(255,107,157,0.1)"
|
||||
},
|
||||
{
|
||||
"id": "scene-3-gumdrop-river",
|
||||
"source": "",
|
||||
"in_seconds": 10,
|
||||
"out_seconds": 15,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"candyland/scene3-gumdrop-river-a.png",
|
||||
"candyland/scene3-gumdrop-river-b.png"
|
||||
],
|
||||
"animation": "pan-left",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#87CEEB",
|
||||
"particleCount": 15,
|
||||
"particleIntensity": 0.4,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(100,200,255,0.1)",
|
||||
"lightingTo": "transparent"
|
||||
},
|
||||
{
|
||||
"id": "scene-4-lollipop-garden",
|
||||
"source": "",
|
||||
"in_seconds": 15,
|
||||
"out_seconds": 20,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"candyland/scene4-lollipop-garden-a.png",
|
||||
"candyland/scene4-lollipop-garden-b.png"
|
||||
],
|
||||
"animation": "drift-up",
|
||||
"particles": "fireflies",
|
||||
"particleColor": "#A8E6CF",
|
||||
"particleCount": 20,
|
||||
"particleIntensity": 0.55,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "transparent",
|
||||
"lightingTo": "rgba(168,230,207,0.12)"
|
||||
},
|
||||
{
|
||||
"id": "scene-5-chocolate-mountain",
|
||||
"source": "",
|
||||
"in_seconds": 20,
|
||||
"out_seconds": 25,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"candyland/scene5-chocolate-mountain-a.png",
|
||||
"candyland/scene5-chocolate-mountain-b.png"
|
||||
],
|
||||
"animation": "zoom-out",
|
||||
"particles": "mist",
|
||||
"particleColor": "#DDA0DD",
|
||||
"particleCount": 5,
|
||||
"particleIntensity": 0.35,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(160,100,200,0.08)",
|
||||
"lightingTo": "transparent"
|
||||
},
|
||||
{
|
||||
"id": "scene-6-sunset-farewell",
|
||||
"source": "",
|
||||
"in_seconds": 25,
|
||||
"out_seconds": 30,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"candyland/scene6-sunset-farewell-a.png",
|
||||
"candyland/scene6-sunset-farewell-b.png"
|
||||
],
|
||||
"animation": "ken-burns",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#FFB347",
|
||||
"particleCount": 28,
|
||||
"particleIntensity": 0.7,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(255,180,71,0.12)",
|
||||
"lightingTo": "rgba(255,107,157,0.1)"
|
||||
}
|
||||
],
|
||||
"overlays": [
|
||||
{
|
||||
"type": "hero_title",
|
||||
"in_seconds": 0.5,
|
||||
"out_seconds": 4.5,
|
||||
"text": "Afternoon in Candyland",
|
||||
"subtitle": "A whimsical journey"
|
||||
},
|
||||
{
|
||||
"type": "section_title",
|
||||
"in_seconds": 25.5,
|
||||
"out_seconds": 29.5,
|
||||
"text": "Every sweet dream begins here...",
|
||||
"accentColor": "#FFB347",
|
||||
"position": "bottom-center"
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"music": {
|
||||
"src": "candyland/ambient-music.mp3",
|
||||
"volume": 0.15,
|
||||
"fadeInSeconds": 2,
|
||||
"fadeOutSeconds": 3,
|
||||
"offsetSeconds": 43,
|
||||
"loop": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"cuts": [
|
||||
{
|
||||
"id": "scene-1-abyss-awakens",
|
||||
"source": "",
|
||||
"in_seconds": 0,
|
||||
"out_seconds": 5,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"deep-ocean/test-scene1-abyss.png",
|
||||
"deep-ocean/scene1-abyss-b.png"
|
||||
],
|
||||
"animation": "zoom-in",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#00E5FF",
|
||||
"particleCount": 20,
|
||||
"particleIntensity": 0.5,
|
||||
"backgroundColor": "#020810",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(0,229,255,0.08)",
|
||||
"lightingTo": "transparent"
|
||||
},
|
||||
{
|
||||
"id": "scene-2-bioluminescent-garden",
|
||||
"source": "",
|
||||
"in_seconds": 5,
|
||||
"out_seconds": 10,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"deep-ocean/scene2-garden-a.png",
|
||||
"deep-ocean/scene2-garden-b.png"
|
||||
],
|
||||
"animation": "pan-right",
|
||||
"particles": "fireflies",
|
||||
"particleColor": "#A8E6CF",
|
||||
"particleCount": 25,
|
||||
"particleIntensity": 0.6,
|
||||
"backgroundColor": "#020810",
|
||||
"vignette": true
|
||||
},
|
||||
{
|
||||
"id": "scene-3-coral-cathedral",
|
||||
"source": "",
|
||||
"in_seconds": 10,
|
||||
"out_seconds": 15,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"deep-ocean/scene3-coral-a.png",
|
||||
"deep-ocean/scene3-coral-b.png"
|
||||
],
|
||||
"animation": "drift-up",
|
||||
"particles": "mist",
|
||||
"particleColor": "#FFFFFF",
|
||||
"particleCount": 5,
|
||||
"particleIntensity": 0.4,
|
||||
"backgroundColor": "#020810",
|
||||
"vignette": true,
|
||||
"lightingFrom": "transparent",
|
||||
"lightingTo": "rgba(168,230,207,0.10)"
|
||||
},
|
||||
{
|
||||
"id": "scene-4-creatures-of-light",
|
||||
"source": "",
|
||||
"in_seconds": 15,
|
||||
"out_seconds": 20,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"deep-ocean/scene4-creatures-a.png",
|
||||
"deep-ocean/scene4-creatures-b.png"
|
||||
],
|
||||
"animation": "pan-left",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#FFB347",
|
||||
"particleCount": 18,
|
||||
"particleIntensity": 0.5,
|
||||
"backgroundColor": "#020810",
|
||||
"vignette": true
|
||||
},
|
||||
{
|
||||
"id": "scene-5-the-deep-trench",
|
||||
"source": "",
|
||||
"in_seconds": 20,
|
||||
"out_seconds": 25,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"deep-ocean/scene5-trench-a.png",
|
||||
"deep-ocean/scene5-trench-b.png"
|
||||
],
|
||||
"animation": "zoom-out",
|
||||
"particles": "light-rays",
|
||||
"particleColor": "#4FC3F7",
|
||||
"particleCount": 3,
|
||||
"particleIntensity": 0.35,
|
||||
"backgroundColor": "#020810",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(79,195,247,0.08)",
|
||||
"lightingTo": "rgba(0,0,0,0.2)"
|
||||
},
|
||||
{
|
||||
"id": "scene-6-return-to-light",
|
||||
"source": "",
|
||||
"in_seconds": 25,
|
||||
"out_seconds": 30,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"deep-ocean/scene6-ascent-a.png",
|
||||
"deep-ocean/scene6-ascent-b.png"
|
||||
],
|
||||
"animation": "ken-burns",
|
||||
"particles": "fireflies",
|
||||
"particleColor": "#FFE082",
|
||||
"particleCount": 22,
|
||||
"particleIntensity": 0.65,
|
||||
"backgroundColor": "#020810",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(0,100,200,0.08)",
|
||||
"lightingTo": "rgba(255,224,130,0.12)"
|
||||
}
|
||||
],
|
||||
"overlays": [
|
||||
{
|
||||
"type": "hero_title",
|
||||
"in_seconds": 0.5,
|
||||
"out_seconds": 4.5,
|
||||
"text": "Into the Abyss",
|
||||
"subtitle": "Where Light Is Born from Darkness"
|
||||
},
|
||||
{
|
||||
"type": "section_title",
|
||||
"in_seconds": 10.5,
|
||||
"out_seconds": 14.0,
|
||||
"text": "Ancient Beyond Measure",
|
||||
"accentColor": "#A8E6CF",
|
||||
"position": "bottom-center"
|
||||
},
|
||||
{
|
||||
"type": "section_title",
|
||||
"in_seconds": 25.5,
|
||||
"out_seconds": 29.5,
|
||||
"text": "The deep remembers.",
|
||||
"accentColor": "#FFE082",
|
||||
"position": "bottom-center"
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"music": {
|
||||
"src": "deep-ocean/ambient-ocean.mp3",
|
||||
"volume": 0.15,
|
||||
"fadeInSeconds": 2,
|
||||
"fadeOutSeconds": 3,
|
||||
"offsetSeconds": 55
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
{
|
||||
"cuts": [
|
||||
{
|
||||
"id": "scene-1-awakening",
|
||||
"source": "",
|
||||
"in_seconds": 0,
|
||||
"out_seconds": 5,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"mori-no-seishin/test-scene1-awakening.png",
|
||||
"mori-no-seishin/scene1-awakening-b.png"
|
||||
],
|
||||
"animation": "zoom-in",
|
||||
"particles": "fireflies",
|
||||
"particleColor": "#FFE082",
|
||||
"particleCount": 18,
|
||||
"particleIntensity": 0.5,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true
|
||||
},
|
||||
{
|
||||
"id": "scene-2-gate",
|
||||
"source": "",
|
||||
"in_seconds": 5,
|
||||
"out_seconds": 10,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"mori-no-seishin/scene2-gate-a.png",
|
||||
"mori-no-seishin/scene2-gate-b.png"
|
||||
],
|
||||
"animation": "pan-right",
|
||||
"particles": "mist",
|
||||
"particleColor": "#FFFFFF",
|
||||
"particleCount": 4,
|
||||
"particleIntensity": 0.5,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(255,200,100,0.15)",
|
||||
"lightingTo": "transparent"
|
||||
},
|
||||
{
|
||||
"id": "scene-3-stream",
|
||||
"source": "",
|
||||
"in_seconds": 10,
|
||||
"out_seconds": 15,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"mori-no-seishin/scene3-stream-a.png",
|
||||
"mori-no-seishin/scene3-stream-b.png"
|
||||
],
|
||||
"animation": "pan-left",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#87CEEB",
|
||||
"particleCount": 15,
|
||||
"particleIntensity": 0.4,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true
|
||||
},
|
||||
{
|
||||
"id": "scene-4-canopy",
|
||||
"source": "",
|
||||
"in_seconds": 15,
|
||||
"out_seconds": 20,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"mori-no-seishin/scene4-canopy-a.png",
|
||||
"mori-no-seishin/scene4-canopy-b.png"
|
||||
],
|
||||
"animation": "drift-up",
|
||||
"particles": "fireflies",
|
||||
"particleColor": "#FFF3B0",
|
||||
"particleCount": 25,
|
||||
"particleIntensity": 0.6,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "transparent",
|
||||
"lightingTo": "rgba(255,243,176,0.12)"
|
||||
},
|
||||
{
|
||||
"id": "scene-5-overlook",
|
||||
"source": "",
|
||||
"in_seconds": 20,
|
||||
"out_seconds": 25,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"mori-no-seishin/scene5-overlook-a.png",
|
||||
"mori-no-seishin/scene5-overlook-b.png"
|
||||
],
|
||||
"animation": "zoom-out",
|
||||
"particles": "light-rays",
|
||||
"particleColor": "#FFE082",
|
||||
"particleCount": 3,
|
||||
"particleIntensity": 0.35,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(255,180,71,0.1)",
|
||||
"lightingTo": "rgba(255,107,157,0.08)"
|
||||
},
|
||||
{
|
||||
"id": "scene-6-dance",
|
||||
"source": "",
|
||||
"in_seconds": 25,
|
||||
"out_seconds": 30,
|
||||
"type": "anime_scene",
|
||||
"images": [
|
||||
"mori-no-seishin/scene6-dance-a.png",
|
||||
"mori-no-seishin/scene6-dance-b.png"
|
||||
],
|
||||
"animation": "ken-burns",
|
||||
"particles": "sparkles",
|
||||
"particleColor": "#FFB347",
|
||||
"particleCount": 30,
|
||||
"particleIntensity": 0.7,
|
||||
"backgroundColor": "#0A0A1A",
|
||||
"vignette": true,
|
||||
"lightingFrom": "rgba(255,180,71,0.08)",
|
||||
"lightingTo": "rgba(100,80,200,0.1)"
|
||||
}
|
||||
],
|
||||
"overlays": [
|
||||
{
|
||||
"type": "hero_title",
|
||||
"in_seconds": 0.5,
|
||||
"out_seconds": 4.5,
|
||||
"text": "Mori no Seishin",
|
||||
"subtitle": "Spirit of the Forest"
|
||||
},
|
||||
{
|
||||
"type": "section_title",
|
||||
"in_seconds": 25.5,
|
||||
"out_seconds": 29.5,
|
||||
"text": "They were never alone.",
|
||||
"accentColor": "#FFB347",
|
||||
"position": "bottom-center"
|
||||
}
|
||||
],
|
||||
"audio": {
|
||||
"music": {
|
||||
"src": "mori-no-seishin/ambient-piano.mp3",
|
||||
"volume": 0.18,
|
||||
"fadeInSeconds": 2,
|
||||
"fadeOutSeconds": 3,
|
||||
"offsetSeconds": 56
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user