explaingit

raresense/nova3d

148DartAudience · designerComplexity · 3/5ActiveSetup · moderate

TLDR

Flutter web client that turns a text prompt or reference image into editable 3D models by writing Python scripts that drive Blender, talking to a hosted backend.

Mindmap

mindmap
  root((Nova3D))
    Inputs
      Text prompt
      Reference image
      LLM API key
    Outputs
      GLB model
      Named hierarchy parts
      PBR materials
    Use Cases
      Generate editable 3D objects
      Iterate on single parts
      Prototype product designs
    Tech Stack
      Dart
      Flutter
      Three.js
      Blender
      Python

Things people build with this

USE CASE 1

Generate a 3D product mockup from a one line prompt with editable parts

USE CASE 2

Iterate on a single component of a model without regenerating the whole shape

USE CASE 3

Swap between Claude, GPT, and Gemini to compare 3D code generation quality

USE CASE 4

Run a local browser based 3D viewport for previewing AI generated GLB files

Tech stack

DartFlutterThree.jsBlenderPython

Getting it running

Difficulty · moderate Time to first run · 30min

Needs Flutter 3.24 plus an OpenAI, Anthropic, or Gemini API key, and you must use 127.0.0.1 instead of localhost or Google sign in breaks.

In plain English

Nova3D is a tool for making 3D objects from a text prompt or a reference image. The thing that sets it apart, according to its README, is that the parts of the object stay separate and editable instead of being fused into a single shape. For example, you could generate a washing machine and then change the door or a knob without having to redo the whole model. The trick behind this is the way Nova3D produces 3D content. Most AI 3D tools generate a single mesh directly from images. Nova3D instead writes Python scripts that drive Blender, the open-source 3D program. The result is a GLB file with named parts arranged in a clear hierarchy, including proper materials and textures. The README contrasts this with diffusion-based tools that output a merged blob, and with code-based CAD systems that struggle with organic shapes. This repository is the client app, written in Dart with Flutter. It talks to a hosted service at nova3d.xyz that is currently closed source. To run it locally you need Flutter 3.24 or higher, then you clone the repo, run flutter pub get, and start it as a local web server on port 5555. You open the page in a browser, sign in with Google or email, paste in an API key for OpenAI, Anthropic, or Gemini, and type a prompt. The client is model agnostic, so you can switch between Claude, GPT, and Gemini in the settings. It also includes a built-in 3D viewport based on Three.js with transform tools and material editing, local caching of past generations in the browser, and support for reference images that guide the generated script. The README notes a couple of gotchas, mainly that you must use the 127.0.0.1 address rather than localhost for sign-in to work. The project is open source on the client side, but self-hosting the backend would mean writing your own server.

Copy-paste prompts

Prompt 1
Walk me through installing Flutter 3.24 and running Nova3D on http://127.0.0.1:5555
Prompt 2
Show me how to wire an Anthropic API key into Nova3D and generate my first 3D washing machine
Prompt 3
Explain how Nova3D turns my prompt into a Blender Python script and then a GLB file
Prompt 4
Compare Nova3D's script to mesh approach with diffusion based image to 3D tools and tell me when each wins
Prompt 5
Help me self host the Nova3D backend by setting API_BASE_URL and sketch what server endpoints I need to implement
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.