Skip to content

02 · 130+ models · 10 geo types · 60 FPS LOD · GLB

SceneForge Hybrid — AI Text-to-3D

Type a prompt, watch objects stream in with particle materialize. Export .glb for any 3D tool.

React 18Babylon.jsZustandExpress

Problem

Text-to-3D feels like a black box — slow, no feedback, unusable output.

Approach

Realtime code streaming + atom particle materialize. 130+ models (85 tok/s → 675B). PBR materials, 10 geometry types, predictive complexity + adaptive LOD/particle scaling for 60 FPS. GLB export, sessions + history, dual Realtime/Pro modes. Free Pollinations fallback, NVIDIA key for full roster.

Code

From src/store/index.ts — the model roster is typed data, fastest-first:

import { create } from 'zustand'
import { persist, createJSONStorage } from 'zustand/middleware'

export type GenerationMode = 'code' | 'pro'

export interface AIModel {
  id: string
  name: string
  description: string
}

export const AVAILABLE_MODELS: AIModel[] = [
  // Ultra Fast (85+ t/s)
  { id: 'openai/gpt-oss-20b', name: 'GPT-OSS 20B', description: '168 t/s — fastest' },
  { id: 'google/gemma-3-1b-it', name: 'Gemma 3 1B', description: '141 t/s — tiny & fast' },
  { id: 'meta/llama-3.1-8b-instruct', name: 'Llama 3.1 8B', description: '106 t/s — lightweight' },
  // …130+ total, persisted per session via zustand/middleware
]

Preview

Live demo isn’t deployed — run it locally: npm install, npm run devhttp://localhost:5173 (plus node server.js in /server). No key needed — free fallback works; set NVIDIA_API_KEY for all 130+ models. Try: “a red sports car in a parking lot”, watch objects stream in. Recorded GIF walkthrough lands in L2.

Results

Smooth realtime scenes with FPS monitor holding 60 FPS on complex builds. Standard .glb works in external tools.