{
 "slug": "upright-piano",
 "triangles": 13642,
 "texture_px": 2048,
 "triangles_light": null,
 "texture_px_light": null,
 "files": {
  "glb": {
   "name": "upright-piano.glb",
   "bytes": 2378760
  },
  "blend": {
   "name": "upright-piano.blend",
   "bytes": 1282825
  },
  "fbx": {
   "name": "upright-piano.fbx",
   "bytes": 3738684
  },
  "obj": {
   "name": "upright-piano-obj.zip",
   "bytes": 1735509
  },
  "usdz": {
   "name": "upright-piano.usdz",
   "bytes": 3647841
  }
 },
 "extras": {
  "license": "CC0-1.0",
  "source": "grab3d.com",
  "dimensions_m": "1.525 x 1.135 x 1.224",
  "triangles": 13642,
  "textures": "PBR 2048px: base color, roughness, metallic, normal (baked)",
  "generator": "Created by grab3d",
  "created": "2026-09-26",
  "set": "Cozy Home Kit",
  "real_size": "upright piano 1.49 x 0.62 x 1.225 m (keys at 0.72 m) with bench 0.60 x 0.34 x 0.50 m",
  "notes": "88 keys (52 white, 36 black, A0-C8); fallboard is the separate object upright-piano_fallboard with its origin on the hinge axis (delivered open; rotate +105 degrees about local X to close over the keys); top lid upright-piano_top_lid hinges at the back edge (rotate negative about local X to open); bench is a separate object; no logos"
 },
 "origin": {
  "method": "procedural",
  "detail": "Built procedurally with Blender scripts. The scripts were written with the help of an AI coding assistant. No generative AI model produced the geometry or textures directly.",
  "ai_content": false,
  "ai_assisted_code": true
 }
}