255M views on a 3D Short by Zack D. Films
i tried to rebuild his style with ONE Claude prompt, then ran it on Opus 5.5 and Fable 5.2 (they did NOT make the same Short)
the full prompt is below ↓
paste it into Claude Code in an empty folder and answer its 2 questions. it shows u the script and waits for ur go. u need Blender + its free MPFB add-on and a graphics card. give it a few hours (the prompt is minus one optional paid-voice line)
Ask me 2 things, then wait:
1. The story in one line: a strange TRUE event where one person did one odd physical thing ("He tied 42 weather balloons to a lawn chair."). If I say "you pick", pitch 3 with one source link each and take the first unless I choose.
2. The voice. Default: Kokoro (free, runs on my computer), a calm, warm male narrator.
Then tell me everything else is free: Blender (find my install, or tell me the one download), its free MPFB extension for human bodies (ask me before you install it) and into this folder a Python venv with FFmpeg (imageio-ffmpeg), kokoro-onnx + its model files (kokoro-v1.0.onnx and voices-v1.0.bin from the kokoro-onnx GitHub releases), faster-whisper (small.en), numpy and Pillow. It needs no API key or account and renders on my graphics card with EEVEE.
The look: a clean, realistic 3D world, like a good game cutscene. Bright, saturated, a little filmic.
- People: realistic bodies with generic faces and big readable expressions (shock, a smirk, a scream). Plain clothes, no logos. Never a real person's likeness: for a real person keep the face out of close-ups (hands, back, side, distance, straight top-down).
- CALM shots only. Bodies in fast action or contact (running, jumping, fighting, falling) look stiff, so tell the story with frozen moments under a slowly moving camera, macro inserts of hands and objects, rooms, vehicles, the sky, top-down views and the aftermath.
- One new picture for every caption chunk (2-4 words, about 1-1.5 s): a new framing, a new action or a camera move. Nothing ever holds still: every shot drifts, pushes in or orbits.
- The shot kit: macro insert (extreme close-up of the key object or hands, very shallow depth of field), hero low angle (wide lens at waist height), god's-eye top-down with a slow rotate, tracked object, over the shoulder, smash zoom on the word that matters, whip pan between beats, glow highlight (the named object glows orange with a rim, then fades), a big 3D number lying in the scene, a thought bubble (a cloud ring showing what he hoped for), a TV in the scene replaying the event.
- Light: a bright warm sun, blue sky with clouds, soft shadows. Night scenes use hard lamps and a dark sky. Wide lens up close, depth of field on every shot, motion blur on every fast camera move.
- Captions: 2-4 words at a time, white bold rounded sans, about 64 px on a 1080 px-wide frame, centred, 78% down the frame, soft dark shadow, no box. Each chunk replaces the last on the same frame as its picture.
- Banned: real footage, photos, downloaded textures or 3D models, logos, AI images or AI video, downloaded music, gore.
38-50 s, 100-140 words, 150-180 words a minute. The voice starts at 0.0 s.
- Line 1: the most surprising physical act, in past tense, opening with "He" (or "She"). No name, date or setup. Frame 1 shows that act.
- Then a cause-and-effect chain: every sentence starts with a hinge word (Then, Suddenly, So, Because, But, Later) and is ONE visible action.
- The context arrives late, after "You see,".
- A reveal: someone looks closer and the story turns.
- The last line is the consequence. No call to action, no question.
- Names are rare: use one only when it pays off.
Title = "He ..." or "The Man Who ...". The cover is the first frame.
Save every stage to disk so a crash never costs more than one stage.
- sources.md: every fact with its link and the date you read it. Anything you can't verify stays out.
- script.json: the lines and the caption chunks cut by hand (2-4 words, one picture each), each chunk with its shot: the set, the camera, what moves.
- Kokoro reads the whole script in one take (speed 1.0-1.1) and pauses are squeezed to 0.35 s at most; faster-whisper times every word (pass it a 16 kHz numpy array, not a path); write chunks.json with each chunk's start and end. A picture and its caption switch together on frame round(start*30)+1.
- blender/: Python scripts run headless (blender -b -P). makes one .blend with the sets, the cast, the props and every shot baked with a key on every frame. sets EEVEE with ray tracing, the AgX view with the Punchy look, motion blur, depth of field and bloom in the compositor. Bodies come from MPFB or are built by you; clothes, hair, props and sets are built in code.
- Stills first: one half-size still per shot as a contact sheet. Look at every tile and fix what's off before any full render. Time one full-size frame and tell me the estimate.
- Render 1080x1920 at 30 fps to PNG frames, skipping frames already on disk.
- numpy only: a light music bed, a sound on every action (a whoosh on each whip pan, hits, wind, room tone), ducked under the voice, mastered to -14 LUFS on the whole stereo mix.
- burn the captions in from chunks.json. Encode out/_9x16.mp4 (1080x1920, 30 fps, TV-range yuv420p) and out/_x_7x8.mp4 (1008x1152, under 10 MB, 2-pass): a crop of the 9:16 frame that keeps the subject and the caption.
- Blender paths: pass absolute output paths (a relative one lands on the drive root).
- MPFB headless: enable it with addon_utils.enable("bl_ext.user_default.mpfb"). Bake a body's shape keys before you pose it: the rig is fitted to the baked shape.
- Clothes: cut them from the body mesh and push them 7-16 mm out along the normals; keep two rings of body faces under every hem.
- Nothing coplanar: keep every resting object 1 cm off its neighbour and draw ground markings into the texture, or they flicker.
- Hair: EEVEE draws hair only from a Curves object, hair type STRIP. Use a Principled BSDF on it (the Hair BSDF renders black).
- Skin: keep subsurface weight near 0.2 (more turns faces black in EEVEE) and add a soft fill light from below under a noon sun.
- Hands: a curled hand reads as a claw from the palm side, so shoot a grip from behind the knuckles.
- Motion blur: shutter position START, a key on every frame, plus a key half a frame after each shot's last frame, so blur never reaches across a cut.
- Check: run a black-frame and one-frame-flicker check on the render. Make a contact sheet (a frame every 0.5 s) and look at every tile: the act reads in the first 2 s, faces are lit, nothing clips through anything, captions stay off faces and key objects. Then step through the first 2 s, the middle and the end frame by frame. Fix, render only the changed shots again.
Pitch (or take my story), then show me the script with the word count, the caption chunks with their seconds and the shot list with what the first frame shows. Build nothing until I say go.
how the two runs went: one run each on the same PC, so it's one sample, not a ranking. both took under 3 hours on one shared 8 GB graphics card. the story for both: a man who tied 42 weather balloons to a lawn chair in 1982
where they split:
-> Opus opened wide on the balloons over the yard. Fable opened on the man kneeling at the chair with his Jeep behind him
-> Opus put 5 big 3D numbers in its scenes, Fable 2
-> Fable followed the caption spec (white text, soft shadow). Opus went ALL CAPS with a thick outline
-> Fable pulled the Smithsonian's own record and ended on the chair in the museum. Opus ended on the $1,500 fine
-> a few Opus shots are hazy and one opens on a blank grey frame
save this for ur next Short. who did it better, Opus or Fable?
显示更多
I currently have approximately 50 $BTC worth of assets in
@SolvProtocol that I am still unable to redeem.
I came for your 3% annual yield.
But what remains inaccessible is my entire principal.
On July 8, 2026, I withdrew approximately 50 BTC from Binance and converted them through normal channels from SolvBTC into BTC+.
My purpose was simple: I did not engage in complicated trading or speculation. I only wanted to hold BTC+ and earn approximately 3% APY.
Because of the significant amount involved, I checked the Solv website almost daily to monitor BTC+ NAV and yield. I later discovered that BTC+ minting and redemption had suddenly been suspended.
On July 13, BTC+ experienced a security incident. As an ordinary user, I had no idea what had happened.
On July 18 and July 20, I twice asked in the official community why minting and redemption had been suspended, but received no effective response.
On July 22,
@SolvProtocol publicly disclosed the security incident and stated that user assets had not been affected.
On July 31, Solv announced that the relevant functions had been restored, and a staff member told me I could initiate redemption.
However, when I tried, I discovered that my address was still restricted. Assets corresponding to approximately 50 BTC could not be redeemed.
Since July 31, I have repeatedly sought a resolution through Solv’s Discord, Telegram, and email channels.
I have cooperated with every request, providing proof of source of funds, transaction records, proof of wallet control, account information, and other requested materials.
To date, we have exchanged approximately 60 emails, around 50 of which were sent by me. In September, I also contacted people associated with the project through various channels, but still received no meaningful resolution.
My request is simple:
Remove the restriction, restore normal redemption, and allow me to recover my approximately 50 BTC worth of assets.
I am willing to continue cooperating with any reasonable risk-control or compliance review.
I ask
@SolvProtocol to answer directly:
I have submitted the requested materials. How much longer will the review take?
Why is my address still restricted?
When will normal redemption be restored?
I chose BTC+ because I saw it displayed/recommended through the BTC yield/earn section of Binance Web3 Wallet.
Because of my long-standing trust in Binance, I placed greater trust in a product I encountered through Binance Web3 Wallet. This was an important factor in my decision to allocate approximately 50 BTC to BTC+.
I hope Binance co-founder and Co-CEO He Yi
@heyibinance and Binance Co-CEO Richard Teng
@_RichardTeng can take notice of my situation.
I would also like to ask
@VenusProtocol:
As an important lending market for SolvBTC, have you initiated a risk assessment regarding the numerous reports in Solv’s official communities of users facing prolonged redemption restrictions?
I also hope
@SolvProtocol’s investors and ecosystem partners will pay attention:
@yzilabs
@blockchaincap
@LaserDigital_
@OKX_Ventures
@TheSpartanGroup
@IOSGVC
@hashed_official
@mirana
I am NOT asking these investors or Binance to assume responsibility for Solv.
I simply hope that, as Solv investors, ecosystem participants, and an important channel through which I discovered this product, you will pay attention to an ordinary user’s approximately 50 BTC worth of assets remaining unable to be redeemed for an extended period.
I hope you can help encourage:
@SolvProtocol
@Ryanchow_defi
@Will42w
@myantokengeek
to provide a clear, transparent, and actionable resolution.
I am simply asking for access to my own assets.
Any attention or assistance would be deeply appreciated. Thank you.
显示更多