← Ejemplos de Claude Motion
Comunidad
«¿Y si la Tierra dejara de girar?»: un explicativo espacial narrado
por saint · @OnlySainted
- Dónde se ejecuta
- Prompt directo a Opus 5.5
- Modelo
- Claude Opus 5.5
- Iteraciones
- —
- Publicado
- 2026-10-28
Prompt
<inputs>
Ask me for: one topic as a "what if" question (default: "What if Earth stopped spinning?"), the length (default 30 seconds), and whether I have an ElevenLabs key (if not, use a free local voice).
</inputs>
<direction>
A Kurzgesagt-style animated explainer at 1920x1080, 30fps, drawn entirely in code: one 2D canvas plus one WebGL canvas for planets.
Space: a vertical gradient #081d2c to #102348, five huge parallax nebula blobs (teal rgb 24,150,160 at 20%, blue 40,95,195 at 16%, coral 220,95,110 at 10%, indigo 60,70,175 at 15%, a second teal at 14%), three star layers at parallax depths .12/.35/.6 that twinkle, 40% of the near stars drawn as 4-point sparkles, a few tinted warm or cyan.
The Sun: radius 300px, sitting on the left, Earth orbiting it at 1250px so a 0.3x zoom shows the whole orbit. A radial gradient #fff7dc to #ffc857 to #ff8f4a with an offset highlight, additive halo rings at 1.23/1.48/1.76/2.1x the radius, 18 faint rotating ray wedges, 28 drifting glowing granules clipped inside the disc.
Earth: radius 200px, an orthographic sphere in a fragment shader, 4x supersampled, from a 2048x1024 map painted from longitude/latitude polygons (continents, major islands, inland seas cut back out): land #5fc47a, forest #48ad6b, desert #f5c75f, rainforest #3a9d62, ice #f1f8ff, ocean gradient #4dc7eb (shallow, from a blurred coast mask) to #1a66b8, white capsule clouds. Tilt .26 rad. Day/night uses smoothstep(-.12, .24, N·L) with the light direction recomputed from Sun to Earth every frame. Navy night side with ~380 warm city lights scattered around real cities, a coral band on the terminator, a cyan fresnel rim, ocean specular, an atmosphere halo that is stronger on the lit side.
The shader also takes these uniforms so the story can transform the planet in place: spin angle, pitch, wind (smears the clouds east), ocean (0 to 1, water drains to above 40° latitude and the exposed seabed is a cool grey-sand #a89e9e to #d6ccb8, never the desert gold), heat (lit side bleaches warm gold with a shimmer), frost (night side frosts from the dark pole of the terminator inward), equator glow, city-light pop.
A small astronaut mascot (~180px) built from rounded rectangles: suit #f3f7fb, orange #ff8f4a boots, a visor gradient #1f5a73 to #0a1c2c with glowing cyan eyes that look at whatever matters, a blinking antenna light, an idle bob, squash and stretch on every pose. Props for the funny beat: sunglasses that drop onto the visor, a puffy orange coat that springs on.
Type: Fredoka 600/700 only, embedded as base64. Captions in caps with 3-6px letter spacing in teal #8fd8e6, gold #ffd98a or white, sitting in rounded pills of rgb(6,20,40) at 62%. Every line of text rises 1.3x its own height through a clip on an ease-out-quint. Live counters count, never cut (1,670 KM/H, WIND SPEED, 24 HRS to 365 DAYS) and flip to gold when they hit the number that matters.
Finish: a vignette to rgba(4,4,20,.45) and a 6% film grain re-randomized 24 times per second.
Banned: outlines, flares or loops on the Sun's edge, static infographic strips, full stops in on-screen text, text that fades in whole, AI images or AI video, Kurzgesagt's own characters, bird or music.
</direction>
<script>
Default narration (70 words, lands at ~27s at ~157 wpm, leaving room for the title):
What if Earth suddenly stopped spinning? At the equator, the ground races east at nearly seventeen hundred kilometres an hour. Including you. The ground stops. You don't. Neither does the air. It becomes a supersonic wind. Then the oceans slide toward the poles, leaving one giant continent around the middle. And a day now lasts a whole year. Six months of sunlight. Six months of night. Pack sunglasses. And a coat.
Facts it rests on: a sudden stop, equatorial surface speed ~1,670 km/h, speed of sound at sea level ~1,235 km/h, without spin the equatorial bulge relaxes and the oceans migrate poleward, with no rotation one solar day equals one orbit.
</script>
<structure>
30 seconds, every line of narration gets a camera move or a transformation, nothing ever holds still. Times below are from the default voice, every event fires on its word, not on these numbers.
Tight on the spinning Earth at 2.25x (0s) → on "stopped" the globe brakes in 0.18s with a squash and stretch jolt, camera shake, a white flash and a shockwave ring (1.2s) → a 0.75s REWIND on a separate story clock that spins Earth back up (1.6s) → pull back to 1x revealing the Sun and the astronaut (2.4s) → on "equator" a glowing equator line, on "east" a gold arrow sweeps east along it (4.1s) → on "seventeen" a 1,670 KM/H counter slams in and counts up (4.8s) → dive to 2.3x on the equator with speed streaks (7.3s) → on "you" a YOU pin drops and the astronaut stands next to it, "1,670 KM/H" beside it (7.8s) → on "stops" the surface freezes with a thud, flash and ring, "GROUND 0 KM/H" (9.0s) → on "don't" the pin and the astronaut are flung east, "STILL MOVING 1,670 KM/H" pinned where they stood (10.2s) → pull back, on "air" white wind streaks wrap the globe, the clouds smear and a WIND SPEED counter climbs (11.6s) → on "supersonic" it passes 1,235, flips gold, a SUPERSONIC label rides the streaks (13.0s) → dive for "oceans", arrows flow to the poles while the water drains and land rises as a band, "ONE CONTINENT" rides it (15.0-18.3s) → one pull-back to a 0.3x orbit view, dotted orbit ring drawn in, Earth carried halfway round with the same face locked to the Sun, a ONE DAY LASTS counter goes 24 HRS to 365 DAYS on "year" (19.3-21.6s) → dive back in, on "sunlight" the lit side bleaches hot gold (22.4s) → pan to the dark side, on "night" frost spreads and the city lights pop (24.2s) → push to the astronaut, sunglasses drop on "sunglasses", the puffy coat springs on with "coat" (25.4-26.9s) → callback: the equator arrow returns frozen with "0 KM/H", then the title rises in, WHAT IF EARTH / STOPPED SPINNING (27.5s).
For any other topic, keep the same shape: the event happens on its word, pull back to show scale, dive in to make it personal ("you"), pull back out, the consequence with a live counter, an escalation, a funny beat with the mascot, a callback and the title.
</structure>
<build>
1. One HTML file. Every frame is a pure function of time: window.seek(t) draws frame t. No timers, no CSS animation, no randomness that isn't seeded.
2. Camera moves on easeInOutCubic, zoom is interpolated in log space, every pop is a damped spring (damping .42-.5, frequency 12-16). Add a slow drift and a 0.25%/s zoom creep so the frame never freezes.
3. Voice: ElevenLabs eleven_v4 with a designed voice (calm, warm, curious male, late 30s, crisp, light neutral European English), stability .5, similarity .75, generated with timestamps. Without a key, use kokoro-onnx locally (bm_fable at speed 1.25 reads ~157 wpm) and take word times from the model's own duration predictor: expose the encoder's /encoder/Clip_output_0 as an extra graph output, it gives frames per phoneme, 600 samples per frame at 24kHz. Fall back to faster-whisper only if that isn't possible. Generate sentence by sentence, trim each to its first and last word, 0.24s between sentences, a 0.36s beat before the big reveal. Every animation event fires on its word.
4. Keep two clocks: ambient time for twinkle, bob, grain and clouds, and a separate story clock for spin and events, so the rewind stays consistent.
5. The spin is integrated, not set: angle = sum of angular velocity, and every stop is a constant-deceleration brake (d - d²/2T), so there is never a jump.
6. Render with Playwright, GPU if there is one, otherwise headless Chromium with --use-angle=swiftshader. Seek every frame at 30fps and blend 2 subframes (shutter 0.6) for motion blur. Draw the globe once per frame and reuse it for the second subframe. Pipe PNGs straight into ffmpeg as a lossless segment, split the frames across one worker per CPU core, then concat. Encode with libx264 at CRF 16 for the master and CRF 20 for delivery, -tune animation, yuv420p, +faststart.
7. Sound: a calm space music bed whose chords resolve on the title and swell 5dB under it, plus one sound effect per event kind (brake, impact, rewind, pull-back whoosh, dive, counter tick, pin tap, fling, wind, sonic boom, reveal, light hit, frost, sunglasses, coat), each peak-aligned to its frame. Use royalty-free downloads if you can reach them, otherwise synthesise them in numpy. Balance by K-weighted loudness, not by peaks: bed at -21 LU under the voice, effects peaking at -9 LU under it, and a sidechain duck (40ms attack, 300ms release) that drops the bed 7dB and the effects up to 4dB under every word. Master with gain plus a 5ms lookahead limiter to -14 LUFS and a -2.9dB ceiling, so the file still measures under -2.2dB true peak after AAC encoding.
</build>
<gotchas>
Make the WebGL globe canvas at least 2 x radius x zoom x 1.18 pixels or the sphere clips flat in close-ups. Never draw prominences on the Sun's edge, they read as white hooks. Never pad the voice to fit the visuals, tighten the read instead. Rotate the clouds the same direction as the land or they look like they're slipping. Keep labels off the mascot's flight path, anchor them to where things were, not where they're going. Make the exposed seabed a different colour from the deserts or the continent beat reads as more desert. A voice that sounds fine solo gets buried if the bed is only 7dB down by RMS, measure in LUFS. AAC adds 0.5dB of true peak, leave headroom. An ffmpeg concat list resolves paths relative to the list file. Run render workers as children of a process you wait on, detached ones get killed. Show me a contact sheet of every beat, and the voice track, before rendering.
</gotchas>
<start>
Ask me the inputs, write the narration with the beat each word triggers, show it to me, then build and render the video.
</start>Tomado de la publicación pública del creador. ¿Quieres que lo retiremos? Escribe a hi@claude-motion.com