[User]
/workspace/data/hospitality/images/Aubrey Lounge Chair White Tan.jpg

Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "metal",
    "wood_species": "null",
    "leg_count": 1,
    "leg_style": "pedestal",
    "finish": "polished-chrome",
    "upholstery_material": "woven-textile",
    "color": "beige",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "pedestal base",
      "material": "aluminum",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "4-star swivel base, polished chrome"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "metal",
    "wood_species": "null",
    "leg_count": 1,
    "leg_style": "pedestal",
    "finish": "polished-chrome",
    "upholstery_material": "velvet",
    "color": "orange",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "pedestal base",
      "material": "aluminum",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "4-star swivel base, polished chrome"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "low-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "matte-black",
    "upholstery_material": "vinyl",
    "color": "pear-green",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher-chrome",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cover",
      "material": "vinyl",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "pear green vinyl"
    },
    {
      "name": "back cover",
      "material": "vinyl",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "pear green vinyl"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "structural",
      "spec": "walnut wood, matte-black finish"
    },
    {
      "name": "legs",
      "material": "wood",
      "qty": 4,
      "unit": "each",
      "dept": "structural",
      "spec": "walnut tapered legs, matte-black finish"
    },
    {
      "name": "H-stretcher",
      "material": "steel",
      "qty": 1,
      "unit": "each",
      "dept": "structural",
      "spec": "chrome finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "low-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "blue",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat",
      "material": "leather",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "blue"
    },
    {
      "name": "backrest",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "walnut"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "walnut"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "null",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-textile",
    "color": "rust",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "frame legs",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid wood, espresso finish"
    },
    {
      "name": "upholstery cover",
      "material": "woven-textile",
      "qty": 1,
      "unit": "unit",
      "dept": "sewing",
      "spec": "rust woven-textile, tight-seat"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-jacquard",
    "color": "taupe",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "Seat Cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "Back Cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "settee",
    "seat_height_type": "standard",
    "back_style": "low-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-jacquard",
    "color": "slate-blue-pattern",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "unit",
      "dept": "structure",
      "spec": "solid walnut, espresso finish"
    },
    {
      "name": "legs",
      "material": "wood",
      "qty": 4,
      "unit": "piece",
      "dept": "structure",
      "spec": "tapered walnut, espresso finish"
    },
    {
      "name": "upholstery cover",
      "material": "woven-jacquard",
      "qty": 1,
      "unit": "unit",
      "dept": "sewing",
      "spec": "slate-blue organic leaf pattern jacquard"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "cowhide",
    "color": "black-and-white",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": true,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "cowhide upholstery",
      "material": "cowhide",
      "qty": 1,
      "unit": "piece",
      "dept": "upholstery",
      "spec": "black-and-white spotted cowhide exterior"
    },
    {
      "name": "leg assembly",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "tapered hardwood, espresso finish"
    },
    {
      "name": "nailhead trim",
      "material": "brass",
      "qty": 1,
      "unit": "trim",
      "dept": "trim",
      "spec": "antique brass nailhead trim"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "cream",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": true,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "frame assembly",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "frame",
      "spec": "solid walnut, espresso finish"
    },
    {
      "name": "nailhead trim",
      "material": "brass",
      "qty": 1,
      "unit": "trim",
      "dept": "trim",
      "spec": "antique brass nailhead trim"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "cream",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": true,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "frame assembly",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "frame",
      "spec": "solid walnut, espresso finish"
    },
    {
      "name": "nailhead trim",
      "material": "brass",
      "qty": 1,
      "unit": "trim",
      "dept": "trim",
      "spec": "antique brass nailhead trim"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "taupe",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": true,
    "arm_pad": false,
    "footrest_type": "H-stretcher-brass",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "upholstery cover",
      "material": "leather",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "taupe leather with single welt"
    },
    {
      "name": "frame legs",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid hardwood, espresso finish with brass tip feet"
    },
    {
      "name": "footrest",
      "material": "brass",
      "qty": 1,
      "unit": "pc",
      "dept": "hardware",
      "spec": "H-stretcher, brushed-brass finish"
    },
    {
      "name": "nailhead trim",
      "material": "brass",
      "qty": 1,
      "unit": "set",
      "dept": "trim",
      "spec": "antique brass nailhead trim"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "open-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "maple",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-maple",
    "upholstery_material": "leather",
    "color": "black",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat",
      "material": "leather",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "black"
    },
    {
      "name": "backrest",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "frame",
      "spec": "maple"
    },
    {
      "name": "legs",
      "material": "wood",
      "qty": 4,
      "unit": "piece",
      "dept": "frame",
      "spec": "maple"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "open-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "black",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat",
      "material": "leather",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "black, tight-seat"
    },
    {
      "name": "backrest",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "walnut, high-back"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "walnut, espresso-finished, tapered legs"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "open-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "oak",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "woven-textile",
    "color": "black-and-white-checkered",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "rail-matte-black",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion cover",
      "material": "woven-textile",
      "qty": 1,
      "unit": "each",
      "dept": "upholstery",
      "spec": "black-and-white checkered woven textile"
    },
    {
      "name": "wood frame",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "frame",
      "spec": "solid oak, natural finish with open slat back"
    },
    {
      "name": "front footrail",
      "material": "steel",
      "qty": 1,
      "unit": "each",
      "dept": "hardware",
      "spec": "matte-black front footrail"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "low-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "metal",
    "wood_species": "null",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "brushed-gold",
    "upholstery_material": "velvet",
    "color": "pink",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "H-stretcher",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "velvet",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "tight-seat"
    },
    {
      "name": "back cushion",
      "material": "velvet",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "low-back"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-textile",
    "color": "black-and-white-houndstooth",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher-brass",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "woven-textile",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "black-and-white houndstooth woven textile"
    },
    {
      "name": "leg assembly",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid hardwood, espresso finish"
    },
    {
      "name": "footrest",
      "material": "brass",
      "qty": 1,
      "unit": "pc",
      "dept": "hardware",
      "spec": "H-stretcher, brushed-brass finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "dining chair",
    "seat_height_type": "standard",
    "back_style": "low-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "ivory",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": true,
    "arm_pad": false,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "leather",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "ivory leather with single welt"
    },
    {
      "name": "leg assembly",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid hardwood, espresso finish"
    },
    {
      "name": "nailhead trim",
      "material": "brass",
      "qty": 1,
      "unit": "set",
      "dept": "trim",
      "spec": "antique brass nailhead trim"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "dark-chocolate",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "leather",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "dark-chocolate leather club chair"
    },
    {
      "name": "leg assembly",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid hardwood bun feet, espresso finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "beech",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "woven-jacquard",
    "color": "ivory",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "woven-jacquard",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "ivory woven-jacquard with subtle floral pattern"
    },
    {
      "name": "wood frame",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid beech, natural finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "black",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "leather",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "black, tight-seat"
    },
    {
      "name": "back cushion",
      "material": "leather",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "black, high-back"
    },
    {
      "name": "arm pads",
      "material": "wood",
      "qty": 2,
      "unit": "each",
      "dept": "seating",
      "spec": "walnut, dark finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "velvet",
    "color": "brown",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "wooden frame",
      "material": "walnut",
      "qty": 1,
      "unit": "pc",
      "dept": "structural",
      "spec": "solid walnut"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "sofa",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "brown",
    "cushion_style": "button-tufted",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "leather",
      "qty": 1,
      "unit": "unit",
      "dept": "upholstery",
      "spec": "brown leather, button-tufted back and arms"
    },
    {
      "name": "leg assembly",
      "material": "wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid hardwood bun feet, espresso finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "maple",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "corduroy",
    "color": "burgundy",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher-chrome",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion cover",
      "material": "corduroy",
      "qty": 1,
      "unit": "each",
      "dept": "upholstery",
      "spec": "burgundy corduroy textile"
    },
    {
      "name": "frame assembly",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "frame",
      "spec": "solid maple, natural-oak finish"
    },
    {
      "name": "front footrail",
      "material": "steel",
      "qty": 1,
      "unit": "each",
      "dept": "hardware",
      "spec": "chrome finish front footrail"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "hardwood",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "leather",
    "color": "tan",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher-chrome",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "leather",
      "qty": 1,
      "unit": "each",
      "dept": "upholstery",
      "spec": "tan leather seat and back"
    },
    {
      "name": "leg assembly",
      "material": "wood",
      "qty": 4,
      "unit": "each",
      "dept": "frame",
      "spec": "solid hardwood, espresso finish"
    },
    {
      "name": "arm frame",
      "material": "wood",
      "qty": 2,
      "unit": "each",
      "dept": "frame",
      "spec": "open-frame wood arms, espresso finish"
    },
    {
      "name": "front footrail",
      "material": "steel",
      "qty": 1,
      "unit": "each",
      "dept": "hardware",
      "spec": "chrome finish front footrail"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "beech",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "leather",
    "color": "black",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "structural",
      "spec": "beech wood, natural-oak finish"
    },
    {
      "name": "legs",
      "material": "wood",
      "qty": 4,
      "unit": "piece",
      "dept": "structural",
      "spec": "beech wood, natural-oak finish, tapered style"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-textile",
    "color": "taupe",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "Seat Cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "Back Cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "beech",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "bouclé",
    "color": "ivory",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "upholstery cover",
      "material": "bouclé",
      "qty": 1,
      "unit": "piece",
      "dept": "upholstery",
      "spec": "ivory bouclé textile"
    },
    {
      "name": "frame assembly",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "frame",
      "spec": "solid beech, natural-oak finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "woven-textile",
    "color": "periwinkle",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat frame",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "structure",
      "spec": "solid walnut"
    },
    {
      "name": "back frame",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "structure",
      "spec": "solid walnut"
    },
    {
      "name": "armrests",
      "material": "wood",
      "qty": 2,
      "unit": "each",
      "dept": "structure",
      "spec": "solid walnut"
    },
    {
      "name": "legs",
      "material": "wood",
      "qty": 4,
      "unit": "each",
      "dept": "structure",
      "spec": "solid walnut"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "null",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-textile",
    "color": "olive-brown",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "unit",
      "dept": "assembly",
      "spec": "tapered legs, espresso finish"
    },
    {
      "name": "upholstery",
      "material": "woven-textile",
      "qty": 1,
      "unit": "unit",
      "dept": "sewing",
      "spec": "olive-brown, tight-seat"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "maple",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "natural-oak",
    "upholstery_material": "leather",
    "color": "black",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density, tight-seat"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density, high-back"
    },
    {
      "name": "seat frame",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "maple, natural-oak finish"
    },
    {
      "name": "back frame",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "maple, natural-oak finish"
    },
    {
      "name": "arm pads",
      "material": "wood",
      "qty": 2,
      "unit": "pc",
      "dept": "frame",
      "spec": "maple, natural-oak finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "low-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "woven-jacquard",
    "color": "brown",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "rail-espresso",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat",
      "material": "woven-rattan",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "brown, tight-seat"
    },
    {
      "name": "back",
      "material": "woven-rattan",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "brown, high-back"
    },
    {
      "name": "frame",
      "material": "walnut",
      "qty": 1,
      "unit": "each",
      "dept": "frame",
      "spec": "tapered, espresso"
    },
    {
      "name": "Front Rail",
      "material": "walnut",
      "qty": 2,
      "unit": "each",
      "dept": "frame",
      "spec": "espresso finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "cherry",
    "upholstery_material": "velvet",
    "color": "dark-chocolate",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "microfiber",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "brown microfiber"
    },
    {
      "name": "back panel",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "frame",
      "spec": "walnut wood"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "each",
      "dept": "frame",
      "spec": "walnut wood"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "mid-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "mohair",
    "color": "taupe",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "Seat Cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "Back Cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "cherry",
    "upholstery_material": "bouclé",
    "color": "ivory",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "pc",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "wooden frame",
      "material": "walnut",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid walnut"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "bouclé",
    "color": "olive-green",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "back panel",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "assembly",
      "spec": "solid walnut"
    },
    {
      "name": "seat panel",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "assembly",
      "spec": "solid walnut"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "pc",
      "dept": "assembly",
      "spec": "solid walnut"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "open-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "cherry",
    "upholstery_material": "cowhide",
    "color": "brown-and-white",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher-chrome",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "Back Panel",
      "material": "walnut wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid walnut, natural finish"
    },
    {
      "name": "Seat Panel",
      "material": "walnut wood",
      "qty": 1,
      "unit": "pc",
      "dept": "frame",
      "spec": "solid walnut, natural finish"
    },
    {
      "name": "Legs",
      "material": "walnut wood",
      "qty": 4,
      "unit": "pc",
      "dept": "frame",
      "spec": "tapered, natural finish"
    },
    {
      "name": "Cowhide Seat Cover",
      "material": "cowhide",
      "qty": 1,
      "unit": "pc",
      "dept": "upholstery",
      "spec": "brown-and-white pattern"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "barstool",
    "seat_height_type": "bar",
    "back_style": "mid-back",
    "arm_style": "armless"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "walnut-stain",
    "upholstery_material": "leather",
    "color": "gray",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": false,
    "footrest_type": "H-stretcher-chrome",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "Backrest",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "assembly",
      "spec": "solid walnut, natural-oak finish"
    },
    {
      "name": "Seat",
      "material": "leather",
      "qty": 1,
      "unit": "piece",
      "dept": "assembly",
      "spec": "gray leather cushion"
    },
    {
      "name": "Legs",
      "material": "wood",
      "qty": 4,
      "unit": "piece",
      "dept": "assembly",
      "spec": "tapered walnut legs, natural-oak finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "metal",
    "wood_species": "null",
    "leg_count": 4,
    "leg_style": "splay",
    "finish": "black",
    "upholstery_material": "woven-textile",
    "color": "gray",
    "cushion_style": "tight-seat",
    "welt_type": "none",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "frame",
      "material": "metal",
      "qty": 1,
      "unit": "each",
      "dept": "structure",
      "spec": "hairpin legs, black finish"
    },
    {
      "name": "seat",
      "material": "woven-rattan",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "gray fabric"
    },
    {
      "name": "back",
      "material": "woven-rattan",
      "qty": 1,
      "unit": "each",
      "dept": "seating",
      "spec": "gray fabric"
    },
    {
      "name": "armrests",
      "material": "metal",
      "qty": 2,
      "unit": "each",
      "dept": "arms",
      "spec": "black finish"
    }
  ]
}


[User]
Look at this hospitality furniture image and describe only what you can visually observe. Output valid JSON using this exact schema:
{
  "product_metadata": {
    "product_type": "barstool|lounge chair|sofa|settee|dining chair",
    "seat_height_type": "bar|counter|standard|null",
    "back_style": "high-back|mid-back|low-back|open-back|armless",
    "arm_style": "arms|armless|tablet-arm"
  },
  "visual_attributes": {
    "frame_material": "wood|metal|steel|aluminum",
    "wood_species": "walnut|oak|maple|beech|ash|null",
    "leg_count": <int>,
    "leg_style": "tapered|splay|tubular|hairpin|pedestal|sled",
    "finish": "<specific finish — e.g. espresso, matte-black, brushed-gold, natural-oak>",
    "upholstery_material": "<specific — e.g. velvet, bouclé, linen, vinyl, leather>",
    "color": "<specific color name>",
    "cushion_style": "tight-seat|channel-tufted|button-tufted|pleated|pillow-top",
    "welt_type": "single-welt|double-welt|none",
    "nailhead_trim": true|false,
    "arm_pad": true|false,
    "footrest_type": "H-stretcher|ring|rail|none",
    "tablet_arm": true|false
  },
  "parts": [
    {"name": "...", "material": "...", "qty": <int>, "unit": "...", "spec": "..."}
  ]
}
Only include parts that are physically visible in the image. Be specific — no vague terms like 'fabric' or 'wood'. Output ONLY the JSON object, no markdown, no explanation.

[Assistant]
{
  "product_metadata": {
    "product_type": "lounge chair",
    "seat_height_type": "standard",
    "back_style": "high-back",
    "arm_style": "arms"
  },
  "visual_attributes": {
    "frame_material": "wood",
    "wood_species": "walnut",
    "leg_count": 4,
    "leg_style": "tapered",
    "finish": "espresso",
    "upholstery_material": "vinyl",
    "color": "tan",
    "cushion_style": "tight-seat",
    "welt_type": "single-welt",
    "nailhead_trim": false,
    "arm_pad": true,
    "footrest_type": "none",
    "tablet_arm": false
  },
  "parts": [
    {
      "name": "seat cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "back cushion",
      "material": "foam",
      "qty": 1,
      "unit": "piece",
      "dept": "seating",
      "spec": "high-density foam"
    },
    {
      "name": "frame",
      "material": "wood",
      "qty": 1,
      "unit": "piece",
      "dept": "structure",
      "spec": "solid walnut"
    }
  ]
}