Skip to main content
Glama

VibeInc AI Art Team

An open-source, AI-first Blender toolkit: an "art team" of roles that agents (Claude Code, through MCP) and people (through a Blender panel) can drive. Every action runs in headless Blender too, returns machine-readable JSON, and measures its own output.

Made by VibeInc, an AI-first game studio. The core tool is free and always will be.

Concept to game-ready mesh

GPT concept, then TRELLIS.2 on the local GPU, then Blender cleanup to 12k triangles, 35 cm tall, pivot at the base. Rendered with render_still.

How it works

You, or Claude, ask for something in plain words. The request becomes one of 28 tools, and Blender does the work in the background. Each tool returns what it made, along with its own checks: triangle count, scale, pivot, clearance from walls, and whether anything is cropped. When a check fails, the agent can fix the problem before you ever see it.

Draft vs best quality

The same concept at TRELLIS.2 draft quality (left) and best quality (right), after Blender cleanup.

Related MCP server: Blender-Mind-MCP

Why it makes the work easier

  • Idea to game-ready prop in about 5 minutes: 45 s of concept art, about 3 min of 3D on a free 16 GB GPU, then seconds of cleanup.

  • The boring part is automatic: scale, pivots, UVs, triangle budgets and GLB/FBX exports.

  • Blockouts and camera passes in seconds: the same seed gives the same level, and walkthroughs never clip through walls.

  • No new subscriptions: it uses your ChatGPT plan, your GPU and free Blender.

  • Agents can run it unattended: results are plain JSON with pass/fail checks, so Claude knows whether each step worked.

What works today (v0.1.0)

Role

Engine

Status

Tool(s)

Concept artist

GPT image generation through your ChatGPT plan (Codex app); or the OpenAI API with your key

Works (API path untested: no key here)

concept

3D artist

TRELLIS.2 on your GPU, then Blender cleanup

Works

image_to_mesh, cleanup_mesh

Surfacing

Script-built PBR presets, bake to maps, photo to PBR

Works

assign_material, photo_to_pbr, list_material_presets

Layout

Seeded or spec-driven greybox levels

Works

greybox

Camera

Orbit, greybox flythrough, explicit paths

Works

camera_path

Render

Workbench (viewport look), EEVEE, Cycles on CPU; studio lighting; image sequences for turntables and flythroughs

Works

render_still, studio_setup, render_frames

Animator

BVH import (100STYLE, CC BY 4.0)

BVH import works. Auto-rig is a stub. Kimodo is blocked until a Hugging Face login.

import_motion, list_motion_styles, autorig

Sound

Search your own library

Search works. Generation is a stub.

sound_search, sound_generate

One shot

Concept → mesh → cleanup → render

Works

make_prop

Plus: status, list_providers, connect_provider, package_asset, verify_package, about, usage_stats, live_blender, job_status, import_asset, scene_report.

Quick start

Requirements: Blender 4.2 or newer (tested on 5.2.2) and Python 3.10 or newer. The toolkit uses only the standard library, so there is nothing to pip install.

  1. Machine settings. Copy vibeart.local.example.json to vibeart.local.json and set the paths: Blender, your TRELLIS.2 folder, GPU lock files to respect, and your BVH and sound libraries.

  2. Check it.

    python -m vibeart.cli status '{}'
  3. Use it from Claude Code. Copy .mcp.example.json to .mcp.json and fix the path, or add the server by hand:

    claude mcp add vibeinc-art-team -- python <path-to>/ai-art-team/vibeart/mcp_server.py
  4. Use it in Blender. Build the extension with python tools/build_addon.py, then in Blender go to Edit > Preferences > Get Extensions > Install from Disk and pick dist/vibeinc_art_team-0.1.0.zip. The panel is at View3D > Sidebar > VibeInc.

For agents

  • Read AGENTS.md. It covers the contract, the rules and the typical flows.

  • Result envelope. Every tool returns vibeart.result/1. The status field is one of ok | ok_with_failed_checks | blocked | stub | error. The envelope also carries outputs (file paths), metrics, checks (name, passed, value, expected), warnings and provenance. render_still, cleanup_mesh and image_to_mesh also return the image itself through MCP, so you can look at it.

  • Scenes chain. Scene tools take scene (a .blend path). Each step loads it and saves it back.

  • Long jobs. concept, image_to_mesh and make_prop accept background: true, which returns a job_id for job_status.

  • Live mode. With the add-on's "Allow live control" preference on, live_blender runs the same actions in the user's open Blender. It listens on localhost only, needs a token, and only runs whitelisted actions.

CLI examples

python -m vibeart.cli greybox '{"scene": "runs/level/level.blend", "preset": "rooms", "seed": 3, "rooms": 5}'
python -m vibeart.cli camera_path '{"scene": "runs/level/level.blend", "mode": "flythrough"}'
python -m vibeart.cli render_still '{"scene": "runs/level/level.blend", "engine": "eevee", "camera": "auto"}'
python -m vibeart.cli make_prop '{"prompt": "a battered field radio", "quality": "draft", "target_height_m": 0.35}'

Determinism and self-measurement

  • Greybox. A seed or spec always gives the same layout. It reports layout_signature, connectivity, grid snapping and blocks on floor.

  • Mesh cleanup. Reports triangles against the budget, UVs in 0–1, UV area (overlap), texel density, pivot at the base centre, transforms applied, height, open edges, export files and a thumbnail.

  • Camera. Reports path length, speed, minimum clearance to geometry and whether the target stays in frame.

  • Render. Reports exposure, clipping, subject coverage and render time.

  • Photo to PBR. Reports seam ratio before and after, normal validity and height detail.

  • Generators. TRELLIS and GPT take seeds or prompts, but their output is not bit-identical between runs. Every run folder keeps provenance.json.

GPU courtesy

image_to_mesh checks the lock files listed in gpu_lock_files and the GPU load first. If another app owns the GPU, it refuses with blocked. The exception is quality: "draft" with allow_busy_gpu: true, which runs a short job of about 3 minutes using about 4 GB. It never kills other processes.

Money: how VibeInc earns without charging for the tool

  1. Referral links. Users connect their own accounts. A connector can carry a VibeInc referral link, which is shown only with this disclosure: "Referral link: VibeInc may earn a referral fee if you subscribe. Your price is the same." Users can switch referral links off. Referral fees never change the ordering or the defaults. See docs/providers.md and docs/affiliate-programmes.md.

  2. Marketplace (designed, not launched). .vibepack packages carry licence, provenance, AI disclosure and file hashes. See docs/marketplace.md.

  3. Studio funnel. "Made with VibeInc" appears in the panel, in glTF extras.generator and in PNG metadata. A visible render badge is opt-in. The panel also links to the studio and to the opt-in community. Links stay hidden until URLs are set in vibeart/data/branding.json.

Studio and privacy

There is no telemetry unless the user opts in (usage_stats). If they do, the toolkit keeps per-tool counts only, on the user's machine, and has no upload endpoint. Opting out deletes the counts. VibeInc never sells data, never uses the user's machine for background compute, and never trains on users' creations without explicit consent. See docs/privacy.md.

Licences

See LICENSES.md.

  • TRELLIS output is not cleared for commercial use. Its GLB export uses NVIDIA nvdiffrast, which is licensed for non-commercial use only. The toolkit records this in provenance, and package_asset refuses paid listings for it.

  • 100STYLE motion needs a credit line (CC BY 4.0).

Tests

cd tests && python -m unittest
  • There are 33 tests, covering every role plus MCP, the add-on install, the live bridge, providers, the marketplace and privacy. The run takes about 2 minutes with headless Blender.

  • Live engine tests are opt-in: VIBEART_LIVE_GPT=1 and VIBEART_LIVE_TRELLIS=1. Results of the live runs made during development are in evidence/README.md.

Layout

vibeart/                 host package (stdlib only): roles, tools registry, MCP server, CLI, providers,
                         marketplace, branding, telemetry, jobs, live client
blender_addon/vibeinc_art_team/   Blender extension: ops_core (all bpy actions), headless runner, panel, live bridge
tests/                   unittest suite + Blender fixture builder
tools/                   build_addon.py, try_action.py, when_gpu_free.py, showcase/ (renders + composes the demo videos)
docs/                    providers, affiliate research, marketplace design, privacy
evidence/                live run outputs (GPT concept, TRELLIS mesh, renders)

Inspiration

Scenario's Blender plugin (announced by @emmanuel_2m on X, 14 Oct 2026) showed eight AI roles exposed through MCP. This project has no Scenario code and does not use Scenario's service. It follows the same idea, but with engines you run yourself or connect with your own accounts.

Related MCP Connectors

Related MCP Servers