- From the perspective of algoirthm, at the core of Vibe3DScene is a vision-aware single agent system which follows the render-and-verify strategy to build scenes. (1) It's built with LangGraph, borrowing some best practices of coding agents like tool call/planning/todos/rollback/memory management. (2) It unifies MCP tools like multimodal understanding, camera control, 3D asset retrieval/AIGC-Generation/PCG and scene management. The architecture is scalable and you can easily add your own tools/tool servers.
- From the perspective of engineering, Vibe3DScene runs Blender in headless backend mode over network communication, so users can build scenes via chat from web/mobile/Blender-builtin clients, without relying on a local Blender GUI or CC/Cursor IDE. Beyond that, an owner-proxy + NGINX architecture enable multi-process scaling on a single server.
- The design is modular and you can implement your own 3D agentic workflow.
Use Case 1
Headless Backend + Web Builder
Deploy Vibe3DScene as a backend service and generate complete 3D scenes directly from the web interface.
Create a low poly scene in a dungeon, with a dragon guarding a pot of gold
Create a small modern living room with a sofa, coffee table, floor lamp, rug, and TV stand. Keep realistic scale and clean layout.
Example1
Example2
Example3
PCG Example
Use Case 2
Blender Built-in Chat Generation
Create and refine scenes from inside Blender through integrated chat, while tool orchestration remains automatic in the background.
Architecture
Core System Topology
Runtime Orchestration
flowchart LR
subgraph ENTRY["Entry Layer"]
WEB["Web UI"]
CLI["CLI"]
BCHAT["Blender Chat"]
end
subgraph APIAPP["API + Agent Layer"]
API["FastAPI Interface"]
AGENT["LangGraph Agent Runtime"]
SC["Session Coordinator"]
OWN["Owner Proxy"]
MEM["Session Memory / Persistence"]
REDIS["Redis Registry (Optional)"]
end
subgraph EXEC["Execution Layer"]
MODE{"BLENDER_MODE"}
HM["Headless Manager"]
HBL["Headless Blender Instances"]
LMCP["Per-session MCP Runtime"]
LCL["Local Addon Socket"]
end
subgraph OUTL["Output Layer"]
OUT["Scene / Render / Asset Outputs"]
end
WEB --> API
CLI --> API
BCHAT --> API
API --> AGENT
API --> SC
SC --> OWN
AGENT --> MEM
SC -.-> REDIS
SC --> MODE
MODE -->|headless| HM
HM --> HBL
HM --> LMCP
MODE -->|local-client| LCL
AGENT --> LMCP
AGENT --> LCL
LMCP --> HBL
HBL --> OUT["Scene / Render / Asset Outputs"]
LCL --> OUT
OUT --> API
Execution flow from entry points to session routing and final outputs.
Tool and Service Topology
flowchart TB
subgraph MCP["MCP Tool Runtime"]
STRAT["Tool Strategy Router"]
CORE["Scene / Camera / Render Tools"]
RET["Retrieval Tools"]
GEN["3D Generation Tools"]
PCG["PCG Tools"]
MEMT["Memory Tools"]
end
subgraph EXEC["Blender Targets"]
HBL["Headless Blender Instances"]
LCL["Local Blender Addon Socket"]
end
subgraph SERVICES["External Services"]
TR["TRELLIS2"]
AR["AssetRetrieval3D API"]
PH["PolyHaven"]
SK["Sketchfab API"]
RDN["Hyper3D Rodin API"]
HY["Hunyuan3D API"]
INF["PCGIntegrator3D"]
PG["PostgreSQL"]
end
STRAT --> CORE
STRAT --> RET
STRAT --> GEN
STRAT --> PCG
STRAT --> MEMT
CORE --> HBL
CORE --> LCL
MEMT --> HBL
MEMT --> LCL
RET --> AR
RET --> PH
RET --> SK
GEN --> TR
GEN --> RDN
GEN --> HY
PCG --> INF
AR --> PG
AR --> HBL
AR --> LCL
TR --> HBL
RDN --> HBL
RDN --> LCL
HY --> HBL
INF --> HBL
Tool categories mapped to concrete service dependencies and Blender execution targets.
Tooling
Supported Tools
| Category | Concrete Implementations |
|---|---|
| Scene Inspection and Control |
get_scene_info, get_object_info, get_viewport_screenshot,
execute_blender_code, import_glb_model
|
| Camera and Rendering |
render_from_objects, render_from_camera, camera_observe,
camera_act, camera_set_pose
|
| Session Persistence | undo_last_snapshot, get_session_persistence_status |
| Asset Retrieval |
search_polyhaven_assets, download_polyhaven_asset, set_texture,
search_3d_assets_by_text, import_retrieved_asset,
search_sketchfab_models, get_sketchfab_model_preview,
download_sketchfab_model
|
| 3D Generation |
generate_trellis2_model, generate_hyper3d_model_via_text,
generate_hyper3d_model_via_images, poll_rodin_job_status,
import_generated_asset, generate_hunyuan3d_model
|
| PCG | get_infinigen_available_assets, generate_infinigen_assets |