{"product_id":"kr-vh-rl90","title":"KR-VH-RL90 - VisionHolder Rosette Ring Light Mount 90","description":"\u003c!-- KUPO Robotics - KR-VH-RL90 - Shopify paste-ready (DRAFT v1, 2026-07-09) --\u003e\n\u003c!-- STYLE: Numbered Margin + keyline lead (wash box). Matches KR-BB30-L16-KIT template. --\u003e\n\u003c!-- PAYLOAD TEMPLATE: section map = Overview \/ Why VisionHolder \/ How It Mounts \/ Which Size \/ Material \u0026 Handling \/ Best Applications \/ What's in the Box \/ Before You Order + FAQ. --\u003e\n\u003c!-- STATUS: copy draft awaiting Lyra's answers in wiki\/product-description-drafts\/OPEN-QUESTIONS-light-sensor-mounts.md. Ring sizes are 2026-07-07 design values, NOT frozen - plate OD 90 \/ ID 60, target light ~90 mm OD. Do not publish load figures (none exist yet). --\u003e\n\u003c!-- Shopify theme requirement: load IBM Plex Sans once at theme level before using this block. --\u003e\n\n\u003cstyle\u003e\n\n.kr{--navy:#002B55;--ink:#101720;--body:#283340;--soft:#46545F;--cyan:#1689C9;--cyan-d:#0E6FA6;--line:#C7D6E2;--line-2:#DEE7EE;--surface:#F6FAFD;\n  --sans:\"IBM Plex Sans\",\"Microsoft JhengHei\",\"Noto Sans TC\",Arial,sans-serif;\n  font-family:var(--sans)!important;color:var(--body);background:#fff;}\n.kr *{box-sizing:border-box;text-align:left!important}\n.kr-main{max-width:980px;margin:0 auto;padding:0;counter-reset:sec}\n.kr h2.kr-title{font-family:var(--sans)!important;font-size:26px!important;font-weight:700;color:var(--navy)!important;letter-spacing:-.014em;line-height:1.2;margin:0 0 60px}\n.kr .kr-sec{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start;margin:0}\n.kr .kr-sec + .kr-sec{margin-top:34px;padding-top:34px;border-top:1px solid var(--line-2)}\n.kr .kr-head{position:sticky;top:16px;margin:0;counter-increment:sec}\n.kr .kr-eyebrow{display:block;margin-bottom:10px;font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan-d)!important}\n.kr .kr-eyebrow::before{content:counter(sec,decimal-leading-zero);display:block;font-size:40px;font-weight:700;line-height:.9;color:var(--navy);letter-spacing:-.03em;margin-bottom:12px;font-variant-numeric:tabular-nums}\n.kr .kr-sec h3{font-family:var(--sans)!important;font-size:18px!important;font-weight:600;color:var(--ink)!important;letter-spacing:-.01em;line-height:1.3;margin:0}\n.kr .kr-body{min-width:0}\n.kr .kr-sec p{font-size:17px!important;line-height:1.72;color:var(--body)!important;margin:0 0 14px}\n.kr .kr-sec p:last-child{margin-bottom:0}\n\/* keyline lead - cyan bar + medium weight + soft-blue wash box (distinct from the gray build-up box) *\/\n.kr .kr-body p.kr-lead,.kr .kr-sec p.kr-lead{font-size:18px!important;font-weight:500!important;line-height:1.5;color:var(--ink)!important;\n  border-left:3px solid #1689C9;background:#E4F2FB;padding:12px 16px 12px 18px;border-radius:0 4px 4px 0;margin:0 0 24px!important}\n.kr ul{margin:0 0 14px;padding:0;list-style:none!important}\n.kr ul li{position:relative;font-size:17px!important;line-height:1.62;color:var(--body)!important;padding:0 0 0 22px;margin:0 0 9px;list-style:none!important}\n.kr ul li::before{content:\"\";position:absolute;left:2px;top:.66em;width:7px;height:2px;background:var(--cyan)}\n.kr ul li:last-child{margin-bottom:0}\n.kr li strong,.kr p strong{color:var(--ink)!important;font-weight:600}\n\/* build-up box - outline (transparent + hairline) *\/\n.kr .kupo-chain{background:transparent;border:1px solid var(--line);border-radius:3px;padding:14px 16px;font-family:var(--sans)!important;font-size:14.5px!important;line-height:1.7;font-variant-numeric:tabular-nums;overflow-x:auto;white-space:pre;color:var(--body)!important;margin:6px 0 14px}\n.kr-foot{max-width:980px;margin:0 auto}  \/* matches .kr-main width - widen BOTH together in theme CSS *\/\n.kr-faq{margin-top:24px}\n.kr-faq h2{font-family:var(--sans)!important;font-size:26px!important;font-weight:700;color:var(--navy)!important;letter-spacing:-.014em;margin:0 0 18px}\n.kr-faq-item{border-top:1px solid var(--line);padding:16px 0}\n.kr-faq-item:first-of-type{border-top:0;padding-top:0}\n.kr-faq-item h3{font-family:var(--sans)!important;font-size:17px!important;font-weight:600;color:var(--ink)!important;line-height:1.45;margin:0 0 6px;letter-spacing:-.005em}\n.kr-faq-item p{font-size:16px!important;line-height:1.62;color:var(--body)!important;margin:0}\n\n@media (max-width:760px){\n  .kr-main{padding-left:0;padding-right:0}\n  .kr .kr-sec{grid-template-columns:1fr;gap:8px}\n  .kr .kr-head{position:static;margin-bottom:14px}        \/* subtitle -\u003e body gap (mobile) *\/\n  .kr .kr-eyebrow::before{font-size:32px;margin-bottom:6px}\n  .kr .kr-sec + .kr-sec{margin-top:36px;padding-top:36px} \/* section -\u003e section gap (mobile) *\/\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"kr\" id=\"kr-pdp\"\u003e\n  \u003cdiv class=\"kr-main\"\u003e\n    \u003ch2 class=\"kr-title\"\u003eProduct Description\u003c\/h2\u003e\n    \u003cdiv class=\"kr-flow\"\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-overview\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\u003cspan class=\"kr-eyebrow\"\u003eOverview\u003c\/span\u003e\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eThe KR VisionHolder Rosette Ring Light Mount 90 holds a larger machine-vision ring light on an indexed rosette connection - so the light angle you dialed in is a locked tooth position, not a friction setting that drifts. It is the second-largest of the five ring mounts: a 90 mm stainless plate for larger ring lights that cover wider fields of view.\u003c\/p\u003e\n          \u003cp\u003eThe mount is a flat stainless-steel plate with two working faces. The light side carries slotted screw holes on a 90 mm plate - the slots give radial adjustment, so one plate covers a spread of ring-light bolt circles. The frame side is an indexed rosette foot that bolts onto any rosette output in the SightLink system: the extrusion base node, either face of the 90° connector, or either end of a rosette extension arm.\u003c\/p\u003e\n          \u003cp\u003eBecause the teeth index, the light comes back to the same angle after cleaning, a lamp swap, or a teardown - the lighting half of your inspection recipe stays set.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-why\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eWhy VisionHolder\u003c\/span\u003e\u003ch3\u003eWhy VisionHolder\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eIn machine vision, the light angle is half the inspection - contrast, glare, and shadow all live or die by it - yet lights are usually hung on friction joints that creep and can never be re-set after maintenance. VisionHolder puts the light on the same indexed rosette chain as the camera, so its angle is repeatable by design.\u003c\/p\u003e\n          \u003cp\u003eVisionHolder is the payload side of the SightLink rosette mount system: the camera plate, the ring light mounts, and the bar light mount all share the same rosette foot. That means a light can take over any position a camera was using, two payloads can run off the two ends of one extrusion-mounted arm, and every one of them locks to a tooth position that survives loosen-and-retighten. You stop re-tuning the scene every time someone touches the frame.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-mounts\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eHow It Mounts\u003c\/span\u003e\u003ch3\u003eHow It Mounts\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eThis mount is the last link before the light - its rosette foot lands on any rosette output in the SightLink chain, and your ring light bolts to its slotted plate with the included stainless screws:\u003c\/p\u003e\n          \u003cdiv class=\"kupo-chain\"\u003e3030 \/ 4040 extrusion or machine frame\n-\u0026gt; SightLink rosette base node (sold separately)\n-\u0026gt; optional rosette 90° connector or extension arm (sold separately)\n-\u0026gt; VisionHolder Ring Light Mount 90 (this part)\n-\u0026gt; your larger ring light, bolted to the slotted plate\u003c\/div\u003e\n          \u003cp\u003eThe slots take the light's mounting screws at a range of bolt-circle diameters, so the plate doesn't demand one exact light model. Check your light's outer diameter and mounting-screw circle before ordering - the 90 plate is matched to larger ring lights in the 90 mm class.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-size\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eWhich Size\u003c\/span\u003e\u003ch3\u003eFive Plates, One Rule\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003ePick the plate whose size matches your ring light's body: the mount's number is its plate outer diameter in millimetres, and \u003cstrong\u003e90 is the second-largest\u003c\/strong\u003e - for larger rings that light wider scenes.\u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003e\n\u003cstrong\u003e40\u003c\/strong\u003e - the smallest rings, roughly 40 mm class.\u003c\/li\u003e\n            \u003cli\u003e\n\u003cstrong\u003e50\u003c\/strong\u003e - small rings around 50 mm.\u003c\/li\u003e\n            \u003cli\u003e\n\u003cstrong\u003e70\u003c\/strong\u003e - mid-size rings around 65-70 mm.\u003c\/li\u003e\n            \u003cli\u003e\n\u003cstrong\u003e90\u003c\/strong\u003e (this mount) - larger rings around 90 mm.\u003c\/li\u003e\n            \u003cli\u003e\n\u003cstrong\u003e120\u003c\/strong\u003e - the largest rings, up to roughly 115-120 mm.\u003c\/li\u003e\n          \u003c\/ul\u003e\n          \u003cp\u003eEvery size carries the same rosette foot and the same slotted-hole logic - only the plate grows. For rectangular bar lights, use the VisionHolder Rosette Bar Light Mount instead.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-material\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eMaterial \u0026amp; Handling\u003c\/span\u003e\u003ch3\u003eStainless, Ready for the Floor\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eBody and hardware are stainless steel - no coating to chip into the work area, nothing to rust in a damp corner of the shop, and a surface that wipes clean.\u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003e\n\u003cstrong\u003eStainless plate and stainless screws\u003c\/strong\u003e - one material story, no mixed-finish hardware.\u003c\/li\u003e\n            \u003cli\u003e\n\u003cstrong\u003eRaw stainless finish\u003c\/strong\u003e - bare metal, easy to wipe down.\u003c\/li\u003e\n            \u003cli\u003e\n\u003cstrong\u003eEdges lightly broken\u003c\/strong\u003e - deburred for safe handling during installs and service.\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-apps\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eBest Applications\u003c\/span\u003e\u003ch3\u003eBest Applications\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eUse the Ring Light Mount 90 wherever a larger ring light's angle has to be exact - and stay exact:\u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eWider-field ring lighting over inspection points on extrusion inspection cells.\u003c\/li\u003e\n            \u003cli\u003eProduction stations where the light angle must survive cleaning and lamp swaps.\u003c\/li\u003e\n            \u003cli\u003eIndexed camera-plus-light pairs on one rosette chain - light off one arm end, camera off the other.\u003c\/li\u003e\n            \u003cli\u003eRepeatable A\/B lighting trials: step the angle by teeth, note the position, return to it.\u003c\/li\u003e\n            \u003cli\u003eMachine retrofits where a drifting light bracket keeps un-tuning the inspection.\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-kit\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eWhat's in the Box\u003c\/span\u003e\u003ch3\u003eWhat's in the Box\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eThe box holds the stainless ring light mount and its stainless mounting screw set - the last link before your light.\u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eVisionHolder Rosette Ring Light Mount 90 (stainless steel).\u003c\/li\u003e\n            \u003cli\u003eStainless mounting screw set.\u003c\/li\u003e\n          \u003c\/ul\u003e\n          \u003cp\u003eNot included: the ring light itself, and the rosette chain it lands on - the SightLink base node, 90° connector, and extension arms are sold separately, as is the extrusion frame.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"kr-sec\" id=\"kr-order\"\u003e\n        \u003cdiv class=\"kr-head\"\u003e\n\u003cspan class=\"kr-eyebrow\"\u003eBefore You Order\u003c\/span\u003e\u003ch3\u003eBefore You Order\u003c\/h3\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"kr-body\"\u003e\n          \u003cp class=\"kr-lead\"\u003eBefore ordering, confirm three things: your ring light's diameter and mounting-screw circle, a rosette output on your frame for the foot to land on, and a short support path from frame to light.\u003c\/p\u003e\n          \u003cul\u003e\n            \u003cli\u003eCheck the light's outer diameter and mounting-screw circle against the plate's slotted mounting pattern.\u003c\/li\u003e\n            \u003cli\u003eThe foot needs a rosette to bolt to - a SightLink base node on the extrusion, a 90° connector, or an extension-arm end.\u003c\/li\u003e\n            \u003cli\u003eKeep the light close to the frame - a larger ring hangs more weight off the joint, and short chains hold angles best.\u003c\/li\u003e\n            \u003cli\u003ePlan static, indoor mounting on the frame - and strain-relieve the light's cable near the light so it can't tug the angle.\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"kr-foot\"\u003e\n    \u003csection class=\"kr-faq\"\u003e\n      \u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\n      \u003cdiv class=\"kr-faq-item\"\u003e\n        \u003ch3\u003eWhich ring lights fit?\u003c\/h3\u003e\n        \u003cp\u003eLarger ring lights in the 90 mm class. The plate's slotted holes accept a spread of bolt-circle diameters rather than one exact pattern - check your light's outer diameter and mounting-screw circle before ordering.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kr-faq-item\"\u003e\n        \u003ch3\u003eDoes it fit my existing SightLink rosette parts?\u003c\/h3\u003e\n        \u003cp\u003eYes. The foot carries the same indexed rosette pattern as the VisionHolder camera plate, so it bolts onto any rosette output in the family - the extrusion base node, either face of the 90° connector, or either end of a rosette extension arm.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kr-faq-item\"\u003e\n        \u003ch3\u003eWhy an indexed rosette instead of a ball joint?\u003c\/h3\u003e\n        \u003cp\u003eTeeth, not friction. A ball joint holds an angle until something nudges it; rosette teeth lock into a set position and return to it after every loosen-and-retighten. For lighting, that means the contrast you tuned on day one is still there after service on day one hundred.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kr-faq-item\"\u003e\n        \u003ch3\u003eCan I swap it with a camera plate on the same arm?\u003c\/h3\u003e\n        \u003cp\u003eYes - camera plate, ring light mounts, and bar light mount all share the same rosette foot, so payloads swap on the same chain without rebuilding it. One extrusion-mounted arm can run a light off one end and a camera off the other.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kr-faq-item\"\u003e\n        \u003ch3\u003eWhat about the light's cable?\u003c\/h3\u003e\n        \u003cp\u003eAnchor it. Secure the cable to the arm or frame close to the light so its weight and movement can't load the joint - cable pull is the classic way a \"set\" light finds a new angle overnight.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kr-faq-item\"\u003e\n        \u003ch3\u003eMy light isn't around 90 mm - which mount?\u003c\/h3\u003e\n        \u003cp\u003eStep along the ladder: 40, 50, and 70 take smaller rings, and 120 takes the largest - all with the same rosette foot. For rectangular bar lights, use the VisionHolder Rosette Bar Light Mount.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Product JSON-LD structured data --\u003e\n\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Product\",\n  \"name\": \"KR-VH-RL90 | KR VisionHolder Rosette Ring Light Mount 90\",\n  \"description\": \"Holds a larger machine-vision ring light on an indexed rosette connection - the light angle is a locked tooth position, not a friction setting that drifts. The second-largest of the five ring mounts: a 90 mm stainless plate with slotted holes for larger ring lights that cover wider fields of view.\",\n  \"brand\": {\n    \"@type\": \"Brand\",\n    \"name\": \"KUPO Robotics\"\n  },\n  \"manufacturer\": {\n    \"@type\": \"Organization\",\n    \"name\": \"KUPO CO. LTD\"\n  },\n  \"category\": \"Machine Vision Mounting \u003e Factory Line \u003e VisionHolder Light Mount\",\n  \"sku\": \"KR-VH-RL90\",\n  \"mpn\": \"KR-VH-RL90\",\n  \"additionalProperty\": [\n    {\n      \"@type\": \"PropertyValue\",\n      \"name\": \"Product Line\",\n      \"value\": \"KUPO Robotics Factory Line\"\n    },\n    {\n      \"@type\": \"PropertyValue\",\n      \"name\": \"System\",\n      \"value\": \"SightLink rosette mount system (indexed rosette foot)\"\n    },\n    {\n      \"@type\": \"PropertyValue\",\n      \"name\": \"Payload\",\n      \"value\": \"Larger ring light, 90 mm class\"\n    },\n    {\n      \"@type\": \"PropertyValue\",\n      \"name\": \"Plate Size\",\n      \"value\": \"90 mm nominal plate OD, slotted mounting holes\"\n    },\n    {\n      \"@type\": \"PropertyValue\",\n      \"name\": \"Material\",\n      \"value\": \"Stainless steel body and hardware, raw finish, edges broken\"\n    },\n    {\n      \"@type\": \"PropertyValue\",\n      \"name\": \"Part Type\",\n      \"value\": \"Payload-side mount (rosette chain parts and light sold separately)\"\n    }\n  ]\n}\n\u003c\/script\u003e\n\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Which ring lights fit?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Larger ring lights in the 90 mm class. The plate's slotted holes accept a spread of bolt-circle diameters rather than one exact pattern - check your light's outer diameter and mounting-screw circle before ordering.\"}}, {\"@type\": \"Question\", \"name\": \"Does it fit my existing SightLink rosette parts?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes. The foot carries the same indexed rosette pattern as the VisionHolder camera plate, so it bolts onto any rosette output in the family - the extrusion base node, either face of the 90° connector, or either end of a rosette extension arm.\"}}, {\"@type\": \"Question\", \"name\": \"Why an indexed rosette instead of a ball joint?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Teeth, not friction. A ball joint holds an angle until something nudges it; rosette teeth lock into a set position and return to it after every loosen-and-retighten. For lighting, that means the contrast you tuned on day one is still there after service on day one hundred.\"}}, {\"@type\": \"Question\", \"name\": \"Can I swap it with a camera plate on the same arm?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes - camera plate, ring light mounts, and bar light mount all share the same rosette foot, so payloads swap on the same chain without rebuilding it. One extrusion-mounted arm can run a light off one end and a camera off the other.\"}}, {\"@type\": \"Question\", \"name\": \"What about the light's cable?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Anchor it. Secure the cable to the arm or frame close to the light so its weight and movement can't load the joint - cable pull is the classic way a \\\"set\\\" light finds a new angle overnight.\"}}, {\"@type\": \"Question\", \"name\": \"My light isn't around 90 mm - which mount?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Step along the ladder: 40, 50, and 70 take smaller rings, and 120 takes the largest - all with the same rosette foot. For rectangular bar lights, use the VisionHolder Rosette Bar Light Mount.\"}}]}\u003c\/script\u003e\n","brand":"KUPO Robotics","offers":[{"title":"KR-Interface \/ Rosette Mount \/ 90 mm","offer_id":50194006606081,"sku":"KR-VH-RL90","price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0823\/1554\/2785\/files\/KR-VH-RL90-main.jpg?v=1786878248","url":"https:\/\/kuporobotics.com\/products\/kr-vh-rl90","provider":"KUPO Robotics","version":"1.0","type":"link"}