Alpha3D Scene Generator for Blender
Describe a scene in plain English. Your AI agent generates the 3D models with Alpha3D and builds it in your open Blender file, scaled, grounded, and placed.
An Agent Skill for Claude Code, also usable in Cursor and OpenAI Codex, that connects an AI 3D provider (Alpha3D by default, or Tripo or Meshy) to a running Blender session.
Works with
Demo video coming soon.
You say:
"I've got Blender open on an empty scene. Build me a small fantasy village: a stone well in the center, three different cottages around it, and a wooden cart by the entrance."
Your agent breaks that into individual assets, shows you exactly what each one costs in Alpha3D credits, waits for your go-ahead, then generates them one at a time, importing each into your live Blender file as it finishes, scaled to a sensible real-world size, dropped to the floor, and arranged into the layout you described. No manual export, download, or import.
Contents
- What it can build
- Capabilities
- How it works
- Prerequisites
- Installation (Claude Code, Cursor, Codex)
- Choosing your 3D provider (Alpha3D, Tripo, Meshy)
- Usage
- Cost
- Repo layout
- Troubleshooting
- Contributing
- License
What it can build
Point it at your open Blender file and describe what you want in it:
- A game level or environment: set pieces, terrain dressing, scattered props.
- A product or interior scene: furniture, fixtures, and decor arranged in a room.
- A character or creature: generated, and optionally rigged so you can pose it.
- A tabletop set or diorama: a themed collection of small props laid out together.
- Props into a scene you already have: "add a lamp on my desk", dropped onto the real desk.
You stay in the loop: it always plans and prices the work first, and never spends a credit without your say-so.
Capabilities
| Capability | What you get |
|---|---|
| Text, image, or multi-view to 3D | Generate a model from a prompt, a reference image, or several angles of one object. |
| Reuse your library, for free | Refer to a model you already made ("my dragon from last week") and it imports that one instead of paying to regenerate it. |
| Identical copies for one price | "Five barrels" generates once and duplicates the rest inside Blender, so the extra copies cost zero credits. |
| Smart source triage | Hero props and organic shapes get AI-generated; a flat floor or plain cube is built as a free Blender primitive; atmosphere like sky or fog is skipped. You never pay to generate a cube. |
| Scene-aware placement | Reads what is already in your file, so "on my desk" lands on the actual desk. Then it scales each asset to a real-world size, drops it to the floor, and groups it under a named Empty. |
| Sees the scene | It does not fly blind. It can view the viewport (your bridge's screenshot, or a quick render it reads back) to understand an existing scene before planning, and to check its own work after, fixing anything that intersects, floats, sinks into the floor, or faces the wrong way. |
| Layout reasoning | "Around the well" becomes a circle, "along the path" a line, a loose list a spaced grid, with facing applied where the description implies it. |
| Refinement passes | Optional auto-rig, retopology, UV unwrap, re-texture, or part segmentation, triggered from your words ("rig it so I can pose it"). |
| Concept image to 3D, for free | Generate a concept image with FLUX first; once you like it, turn that exact image into a model. |
| Cost-safe by design | Generates one asset at a time and stops cleanly the moment you run out of credits, never mid-committing a batch it can't finish. Shows a per-asset cost table and waits for confirmation; failed jobs auto-refund; an interrupted run recovers already-paid assets from your library instead of charging twice. |
| Provider choice | Generate through Alpha3D (default), or switch to Tripo or Meshy. All return GLB, so the Blender half is identical; you pick at install and can change it anytime. |
| Fails loudly, not silently | If Blender is not connected or a model comes back malformed, it tells you what is wrong and how to fix it, rather than producing a cryptic error. |
[!TIP] The cheapest asset is the one you do not generate. This skill leans on reuse, primitives, and duplication precisely so a scene costs the minimum number of real generations.
How it works
This skill is pure orchestration. It plugs two MCP connectors together and does the scene reasoning in between.
flowchart LR
U[You describe a scene] --> C[Your coding agent + this skill]
C -->|generate, poll| A[3D provider MCP<br/>Alpha3D / Tripo / Meshy]
A -->|GLB download links| C
C -->|execute_blender_code| B[Blender MCP bridge<br/>runs bpy in your Blender]
B --> S[Your live Blender scene]
- Your chosen 3D provider's MCP (Alpha3D by default, or Tripo or Meshy) generates the actual 3D models and handles optional refinement (rigging, retopo, UV, texturing, segmentation).
- A Blender MCP bridge (a Blender add-on that exposes a local
bpycode-execution tool over MCP) lets the agent import and place assets inside your running Blender instance.
Your agent sequences both: it plans the scene, prices it, and after you confirm, downloads each model to local disk, sanitizes it for Blender's strict glTF loader, and imports it, arranging assets as each one finishes. It can also see the viewport (via a screenshot or a quick render) to understand an existing scene and to check its own work. See SKILL.md for the full step-by-step procedure.
Your agent first shows a plan and the cost, and stops:
| Asset | Source | Quality |
|---|---|---|
| Stone well | generate | pbr |
| Cottage (3 different) | generate x3 | pbr |
| Wooden cart | generate | pbr |
| Ground plane | primitive | free |
This generates 5 models (the well, three different cottages, the cart); the ground plane is a free Blender primitive. Here is the total credit cost and your balance after it. Confirm to build, or tell me what to change.
On your go-ahead it generates them one at a time, checking your balance before each so it stops cleanly if you run low. As each finishes it imports the model, scales it (a well is about 1.5 m, a cottage about 5 m), drops it to the floor, and places it: the well at the center, the three cottages spaced around it in a ring, the cart out by the entrance. It ends with a viewport screenshot and the exact credits actually spent.
Prerequisites
| Requirement | Why | Notes |
|---|---|---|
| An MCP capable coding agent that runs on your machine: Claude Code, Cursor, or OpenAI Codex CLI | Runs the workflow and reaches Blender on your machine | Per-client setup is below. |
| An account + MCP connector for your 3D provider (Alpha3D by default; or Tripo / Meshy) | Does the AI 3D generation | Generation spends real credits. Alpha3D account at alpha3d.io; see Choosing your 3D provider for Tripo/Meshy. |
| Blender 4.x or 5.x, open, with a Blender MCP bridge add-on running | Lets the agent run bpy in your session |
Any bridge exposing a bpy code-execution MCP tool works. The common one is BlenderMCP. |
[!NOTE] This talks to a Blender instance on your own computer, so it will not work from a fully hosted sandbox with no local access. You run the agent and Blender side by side on the same machine.
Installation
The skill has two parts, and setup depends on your client:
- Two MCP connectors. Your 3D provider (Alpha3D by default, at
https://api.alpha3d.io/mcpwith browser sign-in; or Tripo/Meshy, see Choosing your 3D provider) and a Blender bridge (a local stdio server, e.g.uvx blender-mcp). - The skill's instructions. The
skills/alpha-scene-gen/folder (SKILL.mdplusreferences/). Claude Code loads these automatically as a skill or plugin. Cursor and Codex have no Agent Skills system, so the same two MCP servers get connected and the tool is pointed at these instructions through its own rules file orAGENTS.md. Thenpxinstaller below sets all of that up for you per client, so each one is a single command.
The Blender side is identical for every client: install a bridge add-on such as BlenderMCP in Blender, and start its server (a button in the add-on's panel) each session. The per-client config below only tells your agent how to launch or reach that bridge, plus the remote Alpha3D server. You also need an alpha3d.io account with credits.
Install the skill (easiest). One command, no plugin, no clone. It copies the skill into your Claude Code skills folder:
npx github:ig-shadow-walker/3DGenSkill
By default it installs to ~/.claude/skills/alpha-scene-gen/ (available in every project). Add --project to install into the current repo's .claude/skills/ instead, or --dir <path> to target any folder. Add --provider tripo or --provider meshy to generate through those instead of Alpha3D (see Choosing your 3D provider). The installer is dependency-free and prints exactly what it copied. Claude Code discovers the skill from its SKILL.md; no restart needed.
-
Manual copy:
git clone https://github.com/ig-shadow-walker/3DGenSkill.git, thencp -r 3DGenSkill/skills/alpha-scene-gen ~/.claude/skills/. -
Plugin marketplace, if you'd rather manage it with
/plugin list,/plugin disable,/plugin uninstall(requires Claude Code v2.1.143+):/plugin marketplace add ig-shadow-walker/3DGenSkill /plugin install alpha-scene-gen@alpha3d
Connect both MCP servers:
claude mcp add --transport http alpha3d https://api.alpha3d.io/mcp
claude mcp add blender -- uvx blender-mcp
Alpha3D prompts for browser authorization on first use (this links your account so generation draws from your credits). In Claude Desktop or claude.ai, add the same Alpha3D URL from Settings > Connectors.
One command in your project. It copies the skill, adds both MCP servers to .cursor/mcp.json (merging, never overwriting), and writes the rule that points Cursor at the skill:
npx github:ig-shadow-walker/3DGenSkill --cursor
Then, in Cursor, open Settings > MCP, make sure both servers are on, and click Authenticate on alpha3d to sign in. That browser step is the only thing a script can't do. If the login window doesn't open, toggle the server off and on.
Add both servers to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"alpha3d": { "url": "https://api.alpha3d.io/mcp" },
"blender": { "command": "uvx", "args": ["blender-mcp"] }
}
}
Then put the skill folder in your project and create .cursor/rules/alpha-scene-gen.mdc so Cursor always applies it:
---
description: Alpha3D + Blender 3D scene generation workflow
alwaysApply: true
---
When the user asks to generate, build, or populate a Blender scene with 3D
assets, follow the workflow in `skills/alpha-scene-gen/SKILL.md` and its
`references/` files. Read them before acting.
One command in your project. It copies the skill and adds the reference to AGENTS.md:
npx github:ig-shadow-walker/3DGenSkill --codex
Then add the two MCP servers with Codex's own commands (use a current Codex; codex mcp login needs its late-2025 remote-MCP support, check with codex --version):
codex mcp add alpha3d --url https://api.alpha3d.io/mcp
codex mcp login alpha3d # opens the browser sign-in
codex mcp add blender -- uvx blender-mcp
Instead of the codex mcp add commands you can edit ~/.codex/config.toml:
[mcp_servers.alpha3d]
url = "https://api.alpha3d.io/mcp"
[mcp_servers.blender]
command = "uvx"
args = ["blender-mcp"]
And add this to AGENTS.md (repo root, or ~/.codex/AGENTS.md for all projects):
## 3D scene generation in Blender
When the user asks to generate, build, or populate a Blender scene with 3D
assets, follow the workflow in `skills/alpha-scene-gen/SKILL.md` and its
`references/` files. Read them before acting.
Verify
Open Blender on a scene and start the bridge server, then describe a small scene to your agent. The skill runs a free preflight check on both connectors before proposing anything, so if a connection is missing it tells you immediately instead of failing deep into a build.
Choosing your 3D provider
The skill generates through one configured provider. Alpha3D is the default and the most fully supported (library reuse, live pricing, concept-image-to-3D). You can use Tripo or Meshy instead. All three return GLB, so the Blender import/place half is identical; only the generate step differs.
Pick it at install time with --provider:
npx github:ig-shadow-walker/3DGenSkill --provider meshy # or tripo, or alpha3d
To change later, edit provider in skills/alpha-scene-gen/provider.json (wherever the skill was installed) and connect that provider's MCP. The skill reads this file at the start of every run.
Then connect that provider's MCP server. Alpha3D uses browser sign-in (no key); Tripo and Meshy each need an API key you paste into the command. In every case you also connect the Blender bridge once (claude mcp add blender -- uvx blender-mcp, or the Cursor/Codex equivalent from Installation). Pick your provider below.
# 1. install the skill for your client (default provider is already alpha3d)
npx github:ig-shadow-walker/3DGenSkill # add --cursor or --codex for those clients
# 2. connect Alpha3D
claude mcp add --transport http alpha3d https://api.alpha3d.io/mcp # Claude Code
codex mcp add alpha3d --url https://api.alpha3d.io/mcp && codex mcp login alpha3d # Codex
Cursor: add "alpha3d": { "url": "https://api.alpha3d.io/mcp" } under mcpServers in .cursor/mcp.json (the --cursor installer does this for you), then click Authenticate in Settings > MCP. Sign-in links your alpha3d.io account so generation draws from your credits.
Get a tsk_... key from platform.tripo3d.ai (Settings > API keys), then:
# 1. install the skill and record tripo as the provider
npx github:ig-shadow-walker/3DGenSkill --provider tripo # add --cursor or --codex for those clients
# 2. connect the Tripo MCP server (paste your key)
claude mcp add tripo -e TRIPO_API_SECRET=tsk_YOUR_KEY -- npx -y tripo-ai-mcp-server # Claude Code
codex mcp add tripo --env TRIPO_API_SECRET=tsk_YOUR_KEY -- npx -y tripo-ai-mcp-server # Codex
Cursor: add this under mcpServers in .cursor/mcp.json:
"tripo": {
"command": "npx",
"args": ["-y", "tripo-ai-mcp-server"],
"env": { "TRIPO_API_SECRET": "tsk_YOUR_KEY" }
}
Full tool contract and REST fallback: references/providers/tripo.md.
Get a msy_... key from meshy.ai (Settings > API keys), then:
# 1. install the skill and record meshy as the provider
npx github:ig-shadow-walker/3DGenSkill --provider meshy # add --cursor or --codex for those clients
# 2. connect the Meshy MCP server (paste your key)
claude mcp add meshy -e MESHY_API_KEY=msy_YOUR_KEY -- npx -y @meshy-ai/meshy-mcp-server # Claude Code
codex mcp add meshy --env MESHY_API_KEY=msy_YOUR_KEY -- npx -y @meshy-ai/meshy-mcp-server # Codex
Cursor: add this under mcpServers in .cursor/mcp.json:
"meshy": {
"command": "npx",
"args": ["-y", "@meshy-ai/meshy-mcp-server"],
"env": { "MESHY_API_KEY": "msy_YOUR_KEY" }
}
Note: Meshy text-to-3D is two stages (preview, then a separate refine job that adds textures), so a textured text asset is two queue steps. Full tool contract: references/providers/meshy.md.
[!NOTE] Support tiers: Alpha3D is verified against a live connector. Tripo and Meshy are documented from their official/community MCP servers and REST APIs; their exact MCP tool parameters can vary by server version, so the skill confirms the connected tool list at runtime.
Usage
Just describe what you want in your open Blender scene:
- "Add a low-poly goblin to my scene and rig it so I can pose it."
- "Fill this empty room: a wooden desk, a chair, a bookshelf against the back wall, and a desk lamp."
- "Generate a sci-fi crate and scatter five of them near the origin."
- "Put a lamp on my desk and a small rug on the floor under it." (it reads the desk that is already there)
- "Drop my dragon from last week onto the hill and add three different torches around it." (reuses the dragon, generates the torches)
Your agent will plan it, price it, ask you to confirm, then build it, arranging each model as it finishes. You stay in control of every credit spent.
Cost
Generation and refinement spend Alpha3D credits. Reuse from your library, Blender primitives, duplicated copies, and concept images are free.
The same credit pricing as the Alpha3D platform applies. For current rates, see the Alpha3D pricing page. You never have to look it up yourself, though: your agent reads live pricing from the connector and shows you the exact per-asset cost and total in the plan before it builds anything.
[!IMPORTANT] Credits are debited when a job is submitted and auto-refunded if it fails. This skill always shows the full cost and waits for your confirmation before submitting anything, so nothing is spent without your go-ahead.
Repo layout
3DGenSkill/
├── bin/
│ └── install.mjs # npx installer (copies the skill into place)
├── package.json # Lets `npx github:...` run the installer
├── .claude-plugin/
│ ├── plugin.json # Plugin manifest (for the /plugin route)
│ └── marketplace.json # Marketplace catalog (powers /plugin install)
├── skills/
│ └── alpha-scene-gen/
│ ├── SKILL.md # The skill: the full procedure the agent follows
│ ├── provider.json # Which 3D provider to use (alpha3d | tripo | meshy)
│ └── references/
│ ├── providers/
│ │ ├── alpha3d.md # Alpha3D adapter: MCP tool contracts + cost table (default)
│ │ ├── tripo.md # Tripo adapter: MCP tools + REST contract
│ │ └── meshy.md # Meshy adapter: MCP tools + REST contract
│ ├── blender_helpers.md # Proven bpy code: download, sanitize, import, place, duplicate
│ └── troubleshooting.md # Known failure modes and their fixes
├── evals/
│ └── evals.json # Test prompts for validating the skill
├── README.md
├── CONTRIBUTING.md
└── LICENSE
Troubleshooting
The three things most likely to trip you up, with fixes, live in references/troubleshooting.md:
- "Cannot connect to Blender": the bridge server is not running. Open Blender and start it from the add-on panel (it does not survive a Blender restart).
- "Bad GLB: file size doesn't match": a malformed download. The skill's sanitize step handles this automatically.
- A job stays processing for minutes: normal. Real generation takes time.
Contributing
Contributions are welcome. See CONTRIBUTING.md for how to propose changes, and please open an issue for bugs or feature ideas.
License
MIT.
No comments yet
Be the first to share your take.