Agent skill

Blender Product Film

by edenfunf in edenfunf/reelmimic

Renders premium 3D product films in headless Blender from JSON shot specs, building the product from a photo or procedurally, then finishing titles, music and cuts.

MITAuto-check passedMedia & Creative

Install Blender Product Film

skills CLI
$ npx skills add edenfunf/reelmimic --skill blender-product-film -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install edenfunf/reelmimic blender-product-film --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/blender-product-film .claude/skills/blender-product-film && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
blender-product-film
GitHub stars
1.9k
Token cost
~2.6k tokens
SKILL.md length
1,372 words
Files
5 (incl. scripts)
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Renders premium 3D product films in headless Blender from JSON shot specs, building the product from a photo or procedurally, then finishing titles, music and cuts.

  • Works in 6 steps: Product. User photo (front view, plain… → Shot specs. One JSON per shot in… → Look-dev stills (fast, do this first,… → …
  • Making a dark-studio hero film for a bottle, can or jar
  • SKILL.md covers Pipeline, Camera language (use these;…, Review (mandatory before the… and Known pitfalls
  • Runs Python scripts from its folder; calls python

What it does

The pipeline runs from JSON shot specs to `scripts/pfilm.py`, which runs inside Blender, to PNG frames, and then to `scripts/finish.py` for the edit, titles and audio. The look is a dark studio with rim light and light sweeps, glass, liquid and metal materials, condensation and bubbles, macro and orbit camera moves and shallow depth of field. A round product such as a bottle, can or jar is built from your front-view photo with `prep_product.py`, which extracts a real silhouette and projects the label, or created procedurally when there is no photo.

Work goes in rounds: write one spec per shot, render look-development stills first, then a motion preview and rough cut compared against the reference, and repeat until each shot passes before the final render, which the skill puts at roughly 1.5 to 4 seconds per frame at 1080p. The agent opens `check.png` to confirm the silhouette and print mask fit the product, and every shot has a named camera move, subject, fill and motivation, with speed matched to the reference and tuned through `camera.speed_scale`.

It needs Blender 4.2 or newer, found through the `BLENDER` variable or the PATH, and recommends a GPU with OptiX or CUDA. Real-ESRGAN is an optional upscaler, and small product photos are upscaled 4x first. It targets launch, hero and commercial films that have a 3D or photoreal reference.

When your agent uses it

  • Making a dark-studio hero film for a bottle, can or jar
  • Turning a product photo into a 3D rendered commercial
  • Planning macro and orbit camera moves for a product launch video

Example prompts

  • “Make a launch film for this energy drink can from my photo, in a dark studio with a rim light.”
  • “Build a procedural glass bottle with condensation and render a slow dolly-in hero shot.”
  • “Compare the preview cut with the reference video and slow the camera down where it feels too fast.”

Requirements

  • Blender 4.2 or newer, on the PATH or set in BLENDER
  • A GPU with OptiX or CUDA (recommended)
  • Python to run the pipeline scripts
  • Real-ESRGAN as an optional upscaler

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Product. User photo (front view, plain background) →
  2. Shot specs. One JSON per shot in build/shots/, written from the plan's shot table (camera language below).
  3. Look-dev stills (fast, do this first, iterate here)
  4. Motion preview of every shot + a rough cut compared to the reference
  5. Compare with the reference (see Review) and fix; repeat 3–5 until every shot passes.
  6. Final: python scripts/render_shots.py build --quality final (≈1.5–4 s/frame at 1080p) → python scripts/finish.py build/edit.json.

What it can do on your machine

Read from SKILL.md and the folder at commit eac7fc7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Blender Product Film loads about 2.6k tokens when it runs. Until then it costs about 173 tokens; SKILL.md has 1,372 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~173
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from edenfunf/reelmimic at commit eac7fc7, republished under its MIT licence (© edenfunf). 1,372 words, ~2,581 tokens.

Download SKILL.mdSave it as .claude/skills/blender-product-film/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
blender-product-film
description
Premium 3D product films rendered in Blender (headless, GPU) — dark studio, rim light, light sweeps, glass/liquid/metal materials, condensation and bubbles, macro and orbit camera moves, shallow depth of field, then crisp 2D titles, transitions, music and SFX in the edit. Builds a round product (bottle, can, jar) directly from a user's product photo (real silhouette + projected label), or a procedural one. Use for product launch / hero / commercial films whose reference is 3D or photoreal CG (Apple-style "black stage + a line of light" films), for any request to make a product look expensive, and whenever the video-clone router picks the premium-product-3d style.

Blender product film

Everything is driven by JSON shot specs → scripts/pfilm.py (runs inside Blender) → PNG frames → scripts/finish.py (edit, titles, audio). Blender 4.2+(BLENDER 環境變數或在 PATH 上;建議有 OptiX/CUDA 的 GPU)。選配 Real-ESRGAN(REALESRGAN 環境變數指到 realesrgan-ncnn-vulkan)。

Pipeline

build/
  product/        prep_product.py output (from the user's photo)
  shots/S1.json   one spec per shot (format: top of scripts/pfilm.py)
  renders/…       frames
  edit.json       the cut: order, transitions, titles, music, SFX (format: top of scripts/finish.py)
  1. Product. User photo (front view, plain background) → python scripts/prep_product.py <photo> --out build/product --height <real height m> Small images are AI-upscaled 4× first. Open build/product/check.png and confirm the green silhouette hugs the product and the magenta print mask covers the label/cap and not the clear body. No photo → procedural "type": "bottle" (see pfilm.py).
  2. Shot specs. One JSON per shot in build/shots/, written from the plan's shot table (camera language below).
  3. Look-dev stills (fast, do this first, iterate here): python scripts/render_shots.py build --quality final --stills auto (start/middle/end of each shot) → out/check/<id>_stills.jpg
  4. Motion preview of every shot + a rough cut compared to the reference: python scripts/render_shots.py build --quality preview --cut → out/check/<id>_preview.jpg, out/preview_cut.mp4, compare sheets
  5. Compare with the reference (see Review) and fix; repeat 3–5 until every shot passes.
  6. Final: python scripts/render_shots.py build --quality final (≈1.5–4 s/frame at 1080p) → python scripts/finish.py build/edit.json.

Camera language (use these; name them in the plan)

Every shot has a move, a subject, a fill and a motivation. Speed: match the reference, measured. Premium films move slowly — the reference's shot_details[].camera.pace is usually slow/medium. The ranges below are the total travel for a ~3 s shot at a slow pace; macro shots need far less travel than full-product shots (on a small region, fill 0.95→0.85 already reads as a 50% zoom). Always: preview → --cut compare → scale with camera.speed_scale (ratio reference speed ÷ our speed, floor ≈ 0.2 so nothing goes dead) → re-preview, before the final render.

MoveSpecWhenTypical
Hero reveal (push_reveal / dolly_in from dark)dolly_in, fill 0.7→0.8, lens 85, light sweep acrossopening, closing3–4 s
Macro slidemacro_slide, lens 60–100, region = the detail, fill 0.9→0.92, angle −3→+3material / detail proof2–3 s
Orbitorbit, angle −25→+10, fill 0.7→0.75, height rising a littlereveal the form, turn the label into view3–4 s
Cranedolly_out + target moving up (pure crane reads backwards in compare), height ±0.03scale, cap-to-base travel2–3 s
Rack focusrack_focus, focus_from/focus_to (m), lens 100, fstop 2.8droplets → label, foreground → product2 s
Static + light sweepstatic + lights.sweeptext beat with product still alive2–3 s
Product spinproduct.rotate [a, b] with a slow cameraturntable feel without moving the cameraany

Rules of the look (what makes it read "premium"):

  • Black stage, low key. set.backglow gives a soft coloured pool on a dark backdrop; key light low (≈5), rim strips do the modelling, one moving sweep light per hero shot. Never a flat bright background.
  • The product fills the frame. Hero ≥ 0.7 of frame height; details via region + fill ≥ 0.8. A small product in a big black frame is the #1 failure.
  • Every shot moves (camera or product or light), slow and eased — no cut to a dead still.
  • Open with a reveal: shot 1 starts dark and the light finds the product (lights.reveal: [0, 1.5]), centred or on a third with purpose. It is the most striking image of the film — never a static, half-empty frame.
  • Empty frame has a job. More than half the frame black and empty is only allowed when a title lives there. Tall thin products (bottles) cover little area even at full height: crop tighter (cap-to-label), go lower and closer, or put the title in the empty side. pfilm prints PFILM_WARN (and meta.json) when the product is small or its texture too soft for the close-up — treat warnings as defects.
  • Close-up rims: pfilm switches to a 4 mm strip at equal radiance on close-ups (a fine edge line). Don't force closeup_rim up: a thick continuous white outline reads as a cut-out sticker.
  • Titles: headline cards 0.06–0.09 of frame height, supers next to the product 0.04–0.05, closing brand line ≥ 0.05. Never three text beats in a row without a product image between them unless the reference does exactly that.
  • Depth of field by depth, not f-number: "dof": "shallow|medium|deep" computes the f-stop for the camera distance (macro at f/3.5 leaves ~2 mm sharp — unusable). Focus sits on the product's front surface automatically.
  • Titles are 2D, in negative space, never over the product: short (3–8 characters/words), grey + white two-tone, light_up or rise reveal. Title-only frames (black + text) ≤ 15% of runtime — a product film is pictures first.
  • Macro on bubbles / droplets needs a bright area behind the product (clear things only show what they refract): bring the backdrop close (set.backdrop_dist ≈ 0.55) and make the back spot small and bright (backglow_spread ≈ 30, strength 9–16, backglow_height ≈ 0.25).
  • Light sweep energy ≈ 6–10. A bright strip passing between lens and product washes the label and cap to white.
  • Atmosphere (pfilm set): ground_fog = low rolling haze at the base only (density ≈ 0.3, height ≈ 0.08 m) for "mist / cool" beats — never a whole-frame grey wash. caustics = moving water-light lines on the backdrop for "ocean / water" beats; best on a mid-blue backdrop (backdrop_color), keep it subtle (default strength 0.35) and let depth of field soften it.
  • Rising bubbles are product.bubbles (inside the water); condensation is product.droplets (outside). A shot that promises bubbles must show bubbles.
  • Clear liquids need light BEHIND them. In a dark field, water reads as black ink unless something bright sits behind it: keep a soft bright zone behind the product in every dark shot (set.backglow strong and low behind the body, or a glow card), so the liquid refracts light and reads clear. "Is the water clear?" is the first question for any drink film.
  • Titles say something. Repeating the product name is not a message: each text beat is one claim (taken from the pack or the user) followed by the picture that proves it. The name appears at the open and the close.
  • Don't repeat a detail: the same close-up subject (e.g. the cap) at most twice per film; vary subject, scale and angle between neighbouring shots. Keep the product's colours identical across shots — change light level, not hue.
  • The last shot is a hero: full product or shoulder-and-label, fill ≥ 0.7, a final light sweep across the name, and ≥ 1 s of stable frame before the fade.
  • Proof shots: turn each claim into a picture of the product (droplets = cold, bubbles rising = fresh, macro label = the name, orbit = the shape). Only claims that are printed on the product or given by the user; never invent specs for a real brand.
  • Cuts on motion: the next shot continues the direction of the last (orbit right → next move right), or dips through black at section breaks.
Show full SKILL.md (285 more words)Show less

Review (mandatory before the final render)

For every shot, put the reference shot it maps to next to ours (video-clone scripts/compare.py), open it, and score 1–5: lighting (low key, rim, highlights) · material realism · camera motion (type and speed match the reference) · composition / fill · typography · pacing. Any score < 4 → fix the spec and re-render stills/preview. Write the scores to out/check/review.md. Also open one full-res still per shot and look for: blown highlights, washed-out label, visible light panels, clipping into the product, text over the product, flat black frames.

Known pitfalls

  • EEVEE's screen-space refraction breaks clear bottles (black bands) → preview and final both use Cycles (default).
  • Big emissive cards behind the product flood the frame → use set.backglow (backdrop + spot), not an emissive wall.
  • Glossy floors mirror the softboxes → lights are light-linked to the product (automatic).
  • Blender renders CJK blank from Noto variable fonts → 3D text uses Microsoft JhengHei; but titles belong in finish.py anyway.
  • Web product photos are tiny (≈400 px) → prep upscales with Real-ESRGAN; still, avoid extreme label macros (fill > 0.95 on text).
  • Baked highlights in the product photo are removed from the print mask (thin white outlines are kept, semi-opaque).
  • Ghost / doubled label text → check print.png's alpha first, not the lights. Upscaled small CJK text leaves speckles between strokes. Best fix for a user's own product: clear the name area in print.png and re-typeset the printed name in place (same text, colour, position; 2× resolution), then update product.json (m_per_px, bottom_px) — see a project's build/relabel.py for a worked example.
  • Photo relief (bump from the photo) is off by default: it turns JPEG noise into embossed grain.
  • Hue-matched print (a blue stripe on a blue-tinted bottle) gets cut out as "clear body" → patch those holes in print.png.

© edenfunf, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts) in .claude/skills/blender-product-film of edenfunf/reelmimic.

  • SKILL.md
  • scripts/finish.py
  • scripts/pfilm.py
  • scripts/prep_product.py
  • scripts/render_shots.py

Open the folder on GitHubat commit eac7fc7

Compare with similar skills

Blender Product Film next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Blender Product Film compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blender Product Film this skilledenfunf/reelmimic1.9k—~2.6kAutomated safety check: PassMIT
Manim Video Productionbrowser-use/video-use29k6 repos~3kAutomated safety check: PassMIT
JianYing Editor Automationluoluoluo22/jianying-editor-skill3.9k—~2.2kAutomated safety check: PassApache-2.0
Hand-Drawn Explainer Video Makerhi-nikola/hand-drawn-explainer-video-nikola374—~904Automated safety check: PassApache-2.0
Day in My Life Agent Filmheygen-com/hyperframes-community-skills187—~1.7kAutomated safety check: PassApache-2.0
Muapi DirectorAnil-matcha/vox-ai-motion-graphics-generator246—~679Automated safety check: PassNone

Similar skills

  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    29k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • JianYing Editor Automation

    luoluoluo22/jianying-editor-skill

    Automates JianYing Pro video editing through a Python wrapper, JyWrapper, covering drafts, media import, subtitles, screen recording, voiceover and export.

    3.9k GitHub stars~2.2k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Hand-Drawn Explainer Video Maker

    hi-nikola/hand-drawn-explainer-video-nikola

    Produces Chinese hand-drawn explainer videos with voiceover, subtitles, timeline, editable project and a real MP4, by stroke-by-stroke story animation or programmatic animation.

    374 GitHub stars~904 tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Day in My Life Agent Film

    heygen-com/hyperframes-community-skills

    Turns your local Claude Code session history into a 60 to 75 second hand-drawn ink film about a day with your agent, with a string score and your approval of every line.

    187 GitHub stars~1.7k tokensUpdated 12 days ago
    Media & CreativeAuto-check passed
  • Muapi Director

    Anil-matcha/vox-ai-motion-graphics-generator

    Turn ONE topic, talking-head video, or photo into a finished Vox-style paper-collage explainer / ad video on the MuAPI platform (api.muapi.ai) + local ffmpeg — script, collage keyframes, motion…

    246 GitHub stars~679 tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Manim Explainer Videos

    Prismer-AI/PrismerCloud

    Produces 3Blue1Brown-style explainer animations with Manim Community Edition for math, algorithms, equations and architecture diagrams, with planning and rendering references.

    1.6k GitHub starsUsed in 2 repos~3.1k tokens
    Media & CreativeAuto-check passed

More from edenfunf/reelmimic

All 9 skills in this repo
  • Media Use

    edenfunf/reelmimic

    Agent Media OS, the single skill for every media need in a HyperFrames project.

    1.9k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Takes a reference video and a short brief, analyzes its cutting and visual style, then plans and builds a new MP4 in a matching style.

    1.9k GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Anime Cel Video Maker

    edenfunf/reelmimic

    Builds Japanese TV-anime style MP4 videos in code, with cel-shaded characters, painted backgrounds and staging effects, rendered in headless Chrome and encoded with ffmpeg.

    1.9k GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Crayon Storybook Animation

    edenfunf/reelmimic

    Builds children's picture-book MP4 animations drawn in crayon, colored pencil and pastel, rendered frame by frame with p5.js and encoded with ffmpeg.

    1.9k GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Paper Cut-out Animation

    edenfunf/reelmimic

    Builds paper cut-out, stop-motion style MP4 videos in code, with jointed paper puppets, torn or scissor-cut edges and soft shadows, rendered frame by frame in headless Chrome.

    1.9k GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Pixel Art Video Engine

    edenfunf/reelmimic

    Makes animated pixel-art videos in an indie-game style: a 480×270 canvas upscaled four times, limited palettes with dithering, procedural characters and dialogue captions, encoded as MP4.

    1.9k GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Blender Product Film

What does Blender Product Film do?

Renders premium 3D product films in headless Blender from JSON shot specs, building the product from a photo or procedurally, then finishing titles, music and cuts. py` for the edit, titles and audio. The look is a dark studio with rim light and light sweeps, glass, liquid and metal materials, condensation and bubbles, macro and orbit camera moves and shallow depth of field.

When should I use Blender Product Film?

Blender Product Film fits situations like: making a dark-studio hero film for a bottle, can or jar; turning a product photo into a 3D rendered commercial; planning macro and orbit camera moves for a product launch video.

How do I install Blender Product Film in Claude Code?

Run `npx skills add edenfunf/reelmimic --skill blender-product-film -a claude-code`. Or copy the skill folder (.claude/skills/blender-product-film in edenfunf/reelmimic) into .claude/skills/blender-product-film in your project. Claude Code loads it when a task matches its description.

How do I install Blender Product Film in Codex?

Run `npx skills add edenfunf/reelmimic --skill blender-product-film -a codex`. Or copy the skill folder (.claude/skills/blender-product-film in edenfunf/reelmimic) into .agents/skills/blender-product-film in your project. Codex loads it when a task matches its description.

Can I use Blender Product Film in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add edenfunf/reelmimic --skill blender-product-film -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blender-product-film, .gemini/skills/blender-product-film, .github/skills/blender-product-film and .opencode/skills/blender-product-film in your project.

What does Blender Product Film need to run?

Going by SKILL.md and its folder, Blender Product Film needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Blender 4.2 or newer, on the PATH or set in BLENDER; A GPU with OptiX or CUDA (recommended); Python to run the pipeline scripts; Real-ESRGAN as an optional upscaler.

Does Blender Product Film access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Blender Product Film safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Blender Product Film use?

Blender Product Film is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blender Product Film use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Blender Product Film?

Skills that share tags, products or a category with Blender Product Film: Manim Video Production (browser-use/video-use, 29k stars), JianYing Editor Automation (luoluoluo22/jianying-editor-skill, 3.9k stars), Hand-Drawn Explainer Video Maker (hi-nikola/hand-drawn-explainer-video-nikola, 374 stars) and Day in My Life Agent Film (heygen-com/hyperframes-community-skills, 187 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blender Product Film?

edenfunf (a GitHub user) maintains it in edenfunf/reelmimic, which has 1,943 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 9, 2026.

Source: edenfunf/reelmimic on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.