Holographic Foil Card

The agent separates the character, background, text, and outline into transparent layers, then offsets them at different depths with view-dependent coordinates to create parallax. Alpha masks preserve each silhouette, while procedural Voronoi and wave patterns add iridescent highlights, sparkles, and a gold outline. Animated reflections complete a holographic foil card that shifts as it moves.

BlenderLore Learning 3D Coding from Internet Tutorial Videos.
Scroll

BlenderLore

Learning 3D Coding from Internet Tutorial Videos.

Abstract

Internet Blender tutorials contain rich, real-world creation knowledge, but that knowledge is difficult for an agent to use directly. Important instructions may appear in narration, on-screen captions, changing interface states, or brief node-graph operations, while the final result alone does not reveal how the asset was constructed. We present BlenderLore, an agent pipeline that converts tutorial videos into timestamped multimodal evidence, reconstructs the demonstrated workflow, and generates executable Blender Python from a canonical scene.

The agent combines visual keyframes, OCR, available transcript evidence, Blender-version cues, and retrieved workflow knowledge to build a bounded reconstruction specification. Generated programs are executed inside Blender and evaluated through fresh renders, multi-view observations, and turntable or animation evidence when motion is supported by the tutorial. The primary output is an editable .blend asset rather than a flattened image.

Generalization is central to BlenderLore. Successful reconstructions are retained as candidate procedural knowledge. When facing an unfamiliar generation or editing task, the agent decomposes the target into reusable construction patterns, retrieves relevant procedural knowledge and recombines it into task-specific Blender code.

Method

Five-stage BlenderLore pipeline from internet tutorials through multimodal evidence, workflow specification, coding-agent execution, and verified deliverables
BlenderLore pipeline overview

How It Works

01

Collect Tutorials

Start from high-quality internet Blender tutorials and identify the target asset, workflow, and supported motion.

02

Recover Evidence

Align keyframes, OCR, narration or audio, interface actions, timestamps, and Blender-version cues.

03

Specify the Workflow

Convert evidence into ordered operations and retrieve relevant procedural knowledge.

04

Code, Run, Repair

Generate Blender Python, execute it in Blender, render the scene, compare the result, and repair failures in a closed loop.

05

Verify and Retain

Package editable assets and visual evidence, then retain validated workflow patterns as candidate procedural knowledge for reuse.

What You Get

01

An End-to-End Agent Pipeline

Each run recreates a tutorial workflow and delivers an editable Blender project, a reproduction script, renders, and validation results.

  • Editable Asset asset.blend
  • Reproduction Script reproduce.py
  • Materials & Node Graphs
  • Final Render
  • Multi-View Renders
  • Animation
  • Agent Log
02

A High-Quality 3D Dataset

Through collection, repair, and reconstruction, we built a high-quality dataset of 23K procedural 3D assets.

03

A Reusable Procedural Knowledge Library

The procedural knowledge library serves as a key mechanism for generalization: when facing an unfamiliar target, the agent decomposes it into reusable construction patterns, retrieves relevant procedural knowledge, and recombines it into task-specific Blender code.

01

Generation

Tutorials become executable, editable assets.

Generation workflow

Stained Glass Asuka

Source image and tutorial cover to editable Blender material.

Input
Executable outputs Compact Blender material node graph for the stained glass window Blender material nodes
Blender Pythonreproduce.py ↓
image = bpy.data.images.load(SOURCE_IMAGE, check_existing=True)
voronoi = nodes.new("ShaderNodeTexVoronoi")
voronoi.feature = "DISTANCE_TO_EDGE"
set_input(voronoi, "Scale", 50.0)
bpy.ops.wm.save_as_mainfile(filepath=str(OUTPUT_DIR / "asset.blend"))
Final Blender work Stained Glass Asuka

Material

Tutorial-learned surfaces, shaders, and animated effects.

Tutorial
Material · Motion

Procedural Fur Ball

Tutorial
Material · Motion

Black Wukong

Tutorial
Material · Motion

Gold Foil Card

Tutorial
Stylized Material · Motion

Fuse-Bead Material

Objects

Editable forms, scientific visualizations, and compact scene studies.

Tutorial
Object Modeling · Motion

Cat Paw Jelly

Tutorial
Object Modeling · Motion

Bee Keycap

Tutorial
Object Modeling · Motion

Shaved Ice

Tutorial
Object Modeling · Motion

Bear Ice Zongzi

Tutorial
Object Modeling · Motion

Pearl Necklace

Tutorial
Object Modeling · Motion

Little Ghost

Tutorial
Object Modeling · Motion

Toon-Style Render

Tutorial
Object Modeling · Scene

Toon-Style Room

Tutorial
Object Modeling · Scene

Low-Poly House

Cell membrane visualizationTutorial
Biomedical Visualization

Cell Membrane

02

Editing

Learned techniques reshape existing assets while preserving what should stay.

Editing workflow

Chromatic Duck Gigi

Original yellow asset and material tutorial to a generated chromatic result.

Input
Executable outputs Compact Blender material node graph for the chromatic Duck Gigi Blender material nodes
Blender Pythonreproduce.py ↓
noise_large = nodes.new("ShaderNodeTexNoise")
layer_weight = nodes.new("ShaderNodeLayerWeight")
links.new(layer_weight.outputs["Facing"], tint_mix.inputs[0])
links.new(tint_mix.outputs["Color"], principled.inputs["Base Color"])
bpy.ops.wm.save_as_mainfile(filepath=str(OUTPUT_DIR / "asset.blend"))
Final Blender work Chromatic Duck Gigi

Duck Gigi: Iridescent Skins

Tutorial
Tutorial ↗

【blender】Make an Iridescent Material While Catching a Pokémon!

Appearance Edit · 01

Appearance Edit · 02

Appearance Edit · 03

Appearance Edit · 04

Appearance Edit · 05

Sofa Material Swaps

Original bread-shaped sofa
Original

Bread Sofa

Bread sofa material edit: forest green velvet
Material Edit

Forest Green Velvet

Bread sofa material edit: thick-glazed enamel
Material Edit

Thick-Glazed Enamel

Bread sofa material edit: glacier blue
Material Edit

Glacier Blue

Bread sofa material edit: hammered bronze
Material Edit

Hammered Bronze

Bread sofa material edit: polar night teal
Material Edit · Stellar Eclipse

Polar Night Teal

Bread sofa material edit: deep-space blue
Material Edit · Prismatic Holographic

Deep-Space Blue

Bread sofa material edit: ruby galaxy
Material Edit · Prismatic Holographic

Ruby Galaxy

Bread sofa material edit: graphite iridescence
Material Edit · Opal Caustics

Graphite Iridescence

Bread sofa material edit: molten spectrum
Material Edit · Opal Caustics

Molten Spectrum

Bread sofa material edit: black pearl
Material Edit · Aurora Chrome

Black Pearl

Bread sofa material edit: cobalt crackle
Material Edit · Neon Kintsugi

Cobalt Crackle

Bread sofa material edit: burgundy velvet
Material Edit · Directional Velvet

Burgundy Velvet

Bread sofa material edit: celadon crackle
Material Edit · Glazed Ceramic

Celadon Crackle

Bread sofa material edit: museum white terrazzo
Material Edit · Mineral Terrazzo

Museum Terrazzo

Bread sofa material edit: citrus bubble resin
Material Edit · Bubble Resin

Citrus Bubble Resin

Bread sofa material edit: green apple bubble resin
Material Edit · Bubble Resin

Green Apple Resin

Bread sofa material edit: ink and copper brocade
Material Edit · Woven Brocade

Ink & Copper Brocade

Glass Heart Material Transfer

One material language, transferred across forms.

Original Material · Motion

Original Glass Heart

Glass Material · Motion

Frog Traveler

Glass Material · Motion

Horned Feathered Creature

Glass Material · Motion

Oni Samurai

Glass Material · Motion

Female Bust

Glass Material · Motion

2B Sculpture

Glass Material · Motion

African Wild Dog

Glass Material · Motion

Bentwood Cane Chair

Glass Material · Motion

Vintage Racing Car

Glass Material · Motion

Classical Sailing Ship

Citation

@misc{blenderlore2026,
  title        = {BlenderLore: Learning 3D Coding from Internet Tutorial Videos},
  author      = {FreedomAI Team},
  year         = {2026},
  publisher    = {GitHub},
  journal      = {GitHub repository},
  howpublished = {\url{https://github.com/FreedomIntelligence/BlenderLore}},
}