b2c3d
Traditional 3D content creation, rebuilt with AI inside the tools.
- Role
- Founder and architect
- Areas
- AI, VFX, Pipelines, Tools

Generative models moved the cost of 3D from authoring to steering. A generated chair is a draft, and the real work is getting it right. We built b2c3d for that part: review, correction and iteration, with nothing destructive and nothing anonymous. The goal is Maya as it would be designed from scratch, with generative models as first-class citizens.
Miso and the noodle cart
Our demo character is Miso, a fox who cooks noodles at a night-market cart. Both Miso and his cart were made entirely inside the suite:
- Concept. A painting of the night market, generated in the Concept app.
- Isolate. Miso and the cart were each lifted out of the environment, front on, on a plain ground.
- Every side. Each got a turnaround: a ring of consistent views plus views from above.
- Build. Each was reconstructed in 3D from its views, then textured from the same views.
- Rig. Miso was given a skeleton and skin weights, including his tail, and the Rigging app lets an artist correct whatever the model got wrong.
- Animate. Motion came from the curated mocap library and from text prompts, retargeted onto Miso's own rig, then trimmed, looped and blended.
Every step is a job you can watch, cancel and repeat, and every result is an asset that remembers the step before it. Concept to Character follows Miso and his cart through each step with the images from every stage.
The applications
The suite is one web app, with applications laid out in the order of the work:
- Concept: describe an image and generate it, then take it straight into Studio.
- Studio: turn an image into a scene of separate objects, then texture, light and edit it.
- Rigging: give a mesh a skeleton and skin weights, then correct what the model got wrong.
- Animate: put motion on a rig, edit it, plant its feet and play it back.
- Assets: everything made or imported, by where it lives and what it came from.
- Organizations and People: shows, sequences and shots, and who can reach them (covered with Assets).
Most image-to-3D models treat a picture of a room as one object, with the sofa fused to the rug. b2c3d separates the objects first and generates them together, so they come out as separate meshes that already share a frame. It began as a fork of the MIDI-3D research model, and everything around it (the platform, the applications, the asset model, the job system and the other stages) is our own.
Artists working in Blender and Maya reach the same assets through BigBluePipeline, which treats b2c3d as its single source of truth.
How it is built
- A capability is an operation, not an endpoint. Each one is a single typed function that registers itself and gets an HTTP route, a command-line entry, a job with progress and cancellation, and an MCP tool for agents. A person in the web app and an agent reach the same product.
- Assets are immutable. An edit writes a new version with the old one as its parent, and content is stored by hash, so history is a graph and nothing is overwritten.
- Progress tells the truth. A phase with no honest denominator shows an indeterminate bar rather than a number that stalls.
The stack is Python with FastAPI, Postgres, S3-compatible object storage and Redis for the job queue, with a React and TypeScript client using react-three-fiber, running in CUDA containers. Architecture goes further, including how BigBluePipeline's Exchange bundles land in the library.
Attribution by design
Provenance is part of the data model. A textured mesh knows the mesh it was baked onto, which knows the mask it was segmented with, which knows the image it started as. Each generation records its model, seed and settings.
A model may be depended on for release only if its training data is released and openly licensed. Models that don't pass yet are labeled interim or R&D only, and that label travels with every output they make, through retargeting and every edit. Bundled materials and motion come from openly licensed libraries, credited on every clip. Provenance and Attribution sets out the policy, the standing of each stage's models and every credit.
Walk and idle motion from the 100STYLE dataset (Mason, Starke and Komura), CC BY 4.0.
Gallery

A scene, not a blob: the concept, one box per object, and the scene that comes out. 
The concept beside the scene Studio built from it. 
Where it starts: concept art generated in the Concept app. 
The concept handed to Studio, where each object gets a box of its own. 
Miso isolated from the environment concept, front on, on a plain ground. 
Cut out and posed for reconstruction. 
The finished asset, from every side. 
Four hand styles for Miso: human, gloves, paws and claws. 
Miso rigged, tail and all. 
The rigging UI: auto-rig, inspect every joint and its skin weights, then correct what the model got wrong. Miso running. This motion came from an interim text-to-motion model, so the clip is research, not shipped content. Miso walking on his own rig in Animate. Walk motion from the 100STYLE dataset (Mason, Starke and Komura), CC BY 4.0. 
Motion from a text prompt, generated onto Miso's own rig. The interim-model notice travels with the clip. 
Editing a clip. Library motion carries its dataset credit. Walk motion from the 100STYLE dataset (Mason, Starke and Komura), CC BY 4.0. 
An idle loop on the same rig. Idle motion from the 100STYLE dataset (Mason, Starke and Komura), CC BY 4.0. 
The noodle cart, built from its own turnaround of views. 
The cart, textured. Cart turntable. 
Look development: lights, materials and environment, all in the scene document. 
The assembled scene. 
Concept and result, side by side. 
The suite, laid out in the order of the work. 
Concept: styles are inherited from the show, sequence or shot. 
One box per object you want as its own mesh. 
The objects are generated together, so they come out already placed relative to each other. 
Restoring an old version adds a new one; nothing is removed from the chain. 
Assets: every asset walks back to what it came from and forward to what uses it. 
Provenance is part of the data model, not a report written afterwards. 
Shows, sequences and shots. Access granted on a show reaches everything beneath it, never upward. 
How the platform is layered.

