{"id":1298,"date":"2018-08-02T22:45:00","date_gmt":"2018-08-02T22:45:00","guid":{"rendered":"https:\/\/flex-main.lndo.site\/resources\/ratio"},"modified":"2025-04-17T15:53:26","modified_gmt":"2025-04-17T20:53:26","slug":"ratio","status":"publish","type":"resource","link":"https:\/\/flex.com\/es\/resources\/ratio","title":{"rendered":"Un barista automatizado que sirve bebidas mediante inteligencia artificial"},"content":{"rendered":"<div id=\"overscroll-top\" style=\"background-color: #eaeef4;\"><\/div>\n<div class=\"resource-header block\">\n\t<div class=\"container\">\n\t\t<div class=\"breadcrumb\">\n\t\t\t<a title=\"Homepage\" href=\"\/\">Flex<\/a>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\"><path d=\"M365.3 256l-22.6 22.6-192 192L128 493.3 82.7 448l22.6-22.6L274.7 256 105.4 86.6 82.7 64 128 18.7l22.6 22.6 192 192L365.3 256z\"\/><\/svg>\n\t\t\t<a title=\"Resources\" href=\"\/resources\">Resources<\/a>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\"><path d=\"M365.3 256l-22.6 22.6-192 192L128 493.3 82.7 448l22.6-22.6L274.7 256 105.4 86.6 82.7 64 128 18.7l22.6 22.6 192 192L365.3 256z\"\/><\/svg>\n\t\t\t<a title=\"An automated barista serving beverages through artificial intelligence\">An automated barista serving beverages through artificial intelligence<\/a>\n\t\t<\/div>\n\t\t<h1>An automated barista serving beverages through artificial intelligence<\/h1>\n\t\t\t\t<div class=\"separator\"><\/div>\n\t\t<div class=\"details\">\n\t\t\t\t\t\t\t\t\t<div class=\"date detail\">\n\t\t\t\tPosted on<br>\n\t\t\t\tagosto 2, 2018\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"categories\">\n\t\t\t\t<div class=\"categories-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"cat-tag\">Case Study<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"cat-tag\" data-cat-level=\"3\" data-destination=\"\/industries\/industrial?subcategories=capital-equipment-robotics#resources\" href=\"\/industries\/industrial?subcategories=capital-equipment-robotics#resources\">Capital Equipment &amp; Robotics<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n\n\n\n<div class=\"sidebar block normal-sidebar\">\n\t<div class=\"container\">\n\t\t<div class=\"content\">\n\t\t\t\n\n<p>Ratio is an automated barista system that serves a full range of beverages throughout the day, from coffee and nitro tea in the morning to a full cocktail menu at night. Customers use an app and scan a QR code to place their beverage orders.<\/p>\n\n\n\n<p>The app features a memory function that tracks repeat orders, helping customers customize their beverage selections based on their personal preferences. A <a href=\"\/industries\/industrial#capital-equipment-robotics\">metallic white robotic arm powered by artificial intelligence<\/a> then creates the drinks. RATIO is a versatile coffee shop in the morning that converts into a cocktail bar at night serving wine, beer, and hundreds of cocktail variations.<\/p>\n\n\n<div id=\"id_6a1c8c668e385\" class=\"media block\">\n\t<div class=\"container media-center \">\n\t\t<div class=\"media\" style=\"left: 0px; min-width: 100%; max-width: 100%;\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image \">\n\t\t\t\t\t\t\t<img decoding=\"async\" alt=\"ratio robotic barista\" src=\"https:\/\/flex.com\/wp-content\/uploads\/2022\/11\/ratio-0.jpg\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\n\t<script>\n\t(function () {\n\t\tlet hasRun_id_6a1c8c668e385 = false;\n\t\tfunction updateVideoDisplay_id_6a1c8c668e385() {\n\t\t\tconst youtubeVideoId = \"\";\n\t\t\tconst bynderID = \"\";\n\t\t\tconst mediaType = \"image\";\n\t\t\tconst mediaVideoElement = document.getElementById('media-video-id_6a1c8c668e385');\n\t\t\tconst bodyClass = document.body.className || '';\n\t\t\tconst match = bodyClass.match(\/translatepress-([a-z]{2})(?:_[A-Z]{2})?\/i);\n\t\t\tconst currentLanguage = match ? match[1].toLowerCase() : 'en';\n\t\t\tconst isChineseLang = currentLanguage === 'zh';\n\t\t\tconsole.log('isChineseLang:', isChineseLang);\n\t\t\tconsole.log('Language detected:', currentLanguage);\n\t\t\tconst isValidYouTube = youtubeVideoId && \/^[A-Za-z0-9_-]{11}$\/.test(youtubeVideoId);\n\t\t\t\n\t\t\tif (!mediaVideoElement || mediaType !== \"video\") return;\n\t\t\tmediaVideoElement.innerHTML = ''; \/\/ Clear existing content\n\t\t\t\n\t\t\tlet videoSourceClass = 'fallback-error';\n\t\t\t\n\t\t\tif (isChineseLang) {\n\t\t\t\tif (bynderID) {\n\t\t\t\t\tvideoSourceClass = 'bynder';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (isValidYouTube) {\n\t\t\t\t\tvideoSourceClass = 'youtube';\n\t\t\t\t} else if (bynderID) {\n\t\t\t\t\tvideoSourceClass = 'bynder';\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Apply layout class (used in SCSS)\n\t\t\tmediaVideoElement.className = 'video ' + videoSourceClass;\n\t\t\n\t\t\t\/\/ CASE: Chinese language\n\t\t\tif (isChineseLang) {\n\t\t\t\tif (bynderID) {\n\t\t\t\t\t\/\/ Load Bynder\n\t\t\t\t\tif (!document.getElementById('bynder-widgets-js')) {\n\t\t\t\t\t\tconst script = document.createElement('script');\n\t\t\t\t\t\tscript.src = 'https:\/\/d8ejoa1fys2rk.cloudfront.net\/bynder-embed\/latest\/bynder-embed.js';\n\t\t\t\t\t\tscript.id = 'bynder-widgets-js';\n\t\t\t\t\t\tscript.setAttribute('data-account-url', 'https:\/\/brandcenter.flex.com');\n\t\t\t\t\t\tscript.setAttribute('data-language', 'zh');\n\t\t\t\t\t\tdocument.body.appendChild(script);\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tconst bynderDiv = document.createElement('div');\n\t\t\t\t\tbynderDiv.id = 'bynder-id_6a1c8c668e385';\n\t\t\t\t\tbynderDiv.className = 'video-bynder';\n\t\t\t\t\tbynderDiv.setAttribute('data-bynder-widget', 'video-item');\n\t\t\t\t\tbynderDiv.setAttribute('data-media-id', bynderID);\n\t\t\t\t\tmediaVideoElement.appendChild(bynderDiv);\n\t\t\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (typeof BynderEmbed !== 'undefined' && typeof BynderEmbed.load === 'function') {\n\t\t\t\t\t\t\tBynderEmbed.load();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 500);\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ No Bynder = error (even if YouTube is valid)\n\t\t\t\t\tshowVideoError();\n\t\t\t\t}\n\t\t\n\t\t\t\/\/ CASE: Not Chinese\n\t\t\t} else {\n\t\t\t\tif (isValidYouTube) {\n\t\t\t\t\tconst iframe = document.createElement('iframe');\n\t\t\t\t\tiframe.id = 'youtube-id_6a1c8c668e385';\n\t\t\t\t\tiframe.className = 'video-youtube';\n\t\t\t\t\tiframe.src = 'https:\/\/www.youtube.com\/embed\/' + youtubeVideoId + '?rel=0';\n\t\t\t\t\tiframe.frameBorder = '0';\n\t\t\t\t\tiframe.playsInline = true;\n\t\t\t\t\tiframe.allow = 'encrypted-media';\n\t\t\t\t\tiframe.allowFullscreen = true;\n\t\t\t\t\tmediaVideoElement.appendChild(iframe);\n\t\t\t\t} else if (bynderID) {\n\t\t\t\t\t\/\/ Load Bynder (fallback if no YouTube)\n\t\t\t\t\tif (!document.getElementById('bynder-widgets-js')) {\n\t\t\t\t\t\tconst script = document.createElement('script');\n\t\t\t\t\t\tscript.src = 'https:\/\/d8ejoa1fys2rk.cloudfront.net\/bynder-embed\/latest\/bynder-embed.js';\n\t\t\t\t\t\tscript.id = 'bynder-widgets-js';\n\t\t\t\t\t\tscript.setAttribute('data-account-url', 'https:\/\/brandcenter.flex.com');\n\t\t\t\t\t\tscript.setAttribute('data-language', currentLanguage);\n\t\t\t\t\t\tdocument.body.appendChild(script);\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tconst bynderDiv = document.createElement('div');\n\t\t\t\t\tbynderDiv.id = 'bynder-id_6a1c8c668e385';\n\t\t\t\t\tbynderDiv.className = 'video-bynder';\n\t\t\t\t\tbynderDiv.setAttribute('data-bynder-widget', 'video-item');\n\t\t\t\t\tbynderDiv.setAttribute('data-media-id', bynderID);\n\t\t\t\t\tmediaVideoElement.appendChild(bynderDiv);\n\t\t\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (typeof BynderEmbed !== 'undefined' && typeof BynderEmbed.load === 'function') {\n\t\t\t\t\t\t\tBynderEmbed.load();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 500);\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ No valid YouTube or Bynder = error\n\t\t\t\t\tshowVideoError();\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\tfunction showVideoError() {\n\t\t\t\tconst errorDiv = document.createElement('div');\n\t\t\t\terrorDiv.id = 'video-error-id_6a1c8c668e385';\n\t\t\t\terrorDiv.className = 'video-error';\n\t\t\t\terrorDiv.innerHTML = `\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>Video Unavailable<\/h3>\n\t\t\t\t\t\t<p>The content you\u2019re seeking is momentarily unavailable. We appreciate your patience and look forward to sharing it with you soon.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t`;\n\t\t\t\tmediaVideoElement.appendChild(errorDiv);\n\t\t\t}\n\t\t}\n\t\t\n\t\tfunction runVideoInjection() {\n\t\t\tif (hasRun_id_6a1c8c668e385) return;\n\t\t\thasRun_id_6a1c8c668e385 = true;\n\t\t\tupdateVideoDisplay_id_6a1c8c668e385();\n\t\t}\n\t\t\n\t\t\/\/ Always run on front-end\n\t\tif (document.readyState === 'loading') {\n\t\t\tdocument.addEventListener('DOMContentLoaded', runVideoInjection);\n\t\t} else {\n\t\t\trunVideoInjection();\n\t\t}\n\t\t\n\t\t\/\/ Also run in editor if available\n\t\tif (typeof wp !== 'undefined' && wp.domReady) {\n\t\t\twp.domReady(runVideoInjection);\n\t\t}\n\t})();\n\t<\/script>\n\t\n\t<script>\n\t\tdocument.addEventListener('DOMContentLoaded', function () {\n\t\t\t\n\t\t\t\/\/ Get the block element by ID\n\t\t\tvar blockElement = document.getElementById(\"id_6a1c8c668e385\");\n\t\t\tif (!blockElement) return;\n\t\n\t\t\t\/\/ Reveal the block\n\t\t\t(function ($) {\n\t\t\t\tScrollReveal().reveal(blockElement.querySelector(\".container .media\"), {origin: \"bottom\", distance: \"20px\", opacity: 1, duration: 1000});\n\t\t\t\tScrollReveal().reveal(blockElement.querySelector(\".container .content\"), {origin: \"bottom\", distance: \"20px\", opacity: 1, duration: 1000});\n\t\t\t}(jQuery));\n\t\t});\n\t<\/script>\n<\/div>\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\" id=\"h-business-objective-nbsp\" style=\"font-weight:600\">Business objective&nbsp;<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.rossdigital.co\/\" rel=\"nofollow noopener\" target=\"_blank\">Ross Digital<\/a> sought a partner to help it bring its vision for a fully-automated barista concept to life. When the project kicked off in June 2017, only a concept and some sketch layouts existed. There were no proper bills of materials, specifications, or detailed documentation. We closely partnered with Ross Digital to <a href=\"https:\/\/flex.com\/solutions-and-services\/design-engineering\">create, develop, and formalize all these items<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\" id=\"h-solution\" style=\"font-weight:600\">Solution<\/h2>\n\n\n\n<p>We provided a&nbsp;solution, including mechanical design, software logic and IPC coding, PLC, robotic arm programming, safety features positioning, electric circuitry, water and air management, supply chain setup for parts fabrication, full assembly integration, and stress tests.<\/p>\n\n\n\n<p>In addition, throughout the year, our agile engineering responded swiftly to numerous optimization and design changes. In particular, our team needed to learn and respond to new robotic arm programming logic from Epson to KUKA. Finally, we settled on the St\u00e4ubli logic which the current Ratio product now employs.<\/p>\n\n\n\n<p>Our team also needed to apply additional adaptations that we encountered during the project, including managing multiple versions of chuck designs to accommodate eight different types of cocktail glasses; re-designing each sub-mechanical element to accommodate optimization efforts that resulted in layout changes of the product; and supporting on-site final assembly integration at our customer\u2019s site.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-medium-font-size\" id=\"h-result\" style=\"font-weight:600\">Result<\/h2>\n\n\n\n<p>We helped Ross Digital bring their vision of this fully-automated barista solution to life in one calendar year.<\/p>\n\n\n\n<p>The first Ratio shop launched on June 9, 2018 at the K11 Shopping Mall in Shanghai.<\/p>\n\n\n<div id=\"id-6a1c8c66a1f79\" class=\"box block content-width light-content es \" style=\"background-color: transparent; background-image: none;\">\n\t<style>\n\t\t#id-6a1c8c66a1f79 > .container > .content {\n\t\t\tbackground-color: #005486ff;\n\t\t\tposition: relative;\n\t\t\tpadding-top: 24px;\n\t\t\tpadding-right: 36px;\n\t\t\tpadding-bottom: 24px;\n\t\t\tpadding-left: 36px;\n\t\t\tmargin-left: 0px;\n\t\t\tmargin-right: 72px;\n\t\t}\n\t\t@media (max-width: 1272px) {\n\t\t\t#id-6a1c8c66a1f79.box.block.full-width > .container > .content {\n\t\t\t\tpadding-left: 0 !important;\n\t\t\t\tpadding-right: 0 !important;\n\t\t\t\tmargin: 0 !important;\n\t\t\t}\n\t\t}\n\t\t@media (max-width: 960px) {\n\t\t\t#id-6a1c8c66a1f79 > .container > .content {\n\t\t\t\t\/\/padding-top: 12px;\n\t\t\t\tpadding-right: 18px;\n\t\t\t\t\/\/padding-bottom: 12px;\n\t\t\t\tpadding-left: 18px;\n\t\t\t}\n\t\t}\n\t<\/style>\n\t<div class=\"container\">\n\t\t<div class=\"content\">\n\t\t\t\n<div id=\"id_6a1c8c6696503\" class=\"media block\">\n\t<div class=\"container media-right content-center\">\n\t\t<div class=\"media\" style=\"left: 108px; min-width: 350px; max-width: 350px;\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"image none\">\n\t\t\t\t\t\t\t<img decoding=\"async\" alt=\"ratio a robotic barista serves coffee\" src=\"https:\/\/flex.com\/wp-content\/uploads\/2022\/11\/ratio-1-e1671042842580-1200x1052.jpg\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"content\" style=\"margin-right: -84px; margin-left: 0px;\">\n\t\t\t\t\n<div id=\"block_5141f25f9cae311d1abc28bf8892e77b\" class=\"quote block no-horizontal-padding light-content\">\n\t<div class=\"container\" style=\"background-color: #005486;\">\n\t\t<div class=\"quote-lines-top\"><\/div>\n\t\t<div class=\"quote-marks-top\" style=\"background-color: #005486;\">\n\t\t\t<svg viewBox=\"0 0 33 27\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"m33 20.8c0-3.9-2.9-6.3-6.4-6.3-1.1 0-1.8.3-2.1.5.1-4.3 3.3-9 8-10.1v-4.9c-6 .6-14.2 5.9-14.2 18.2 0 5.9 3.6 8.8 7.8 8.8 3.9 0 6.9-2.8 6.9-6.2zm-18.3 0c0-3.9-2.9-6.3-6.4-6.3-1.1 0-1.8.3-2.1.5.1-4.3 3.3-9 8-10.1v-4.9c-6 .6-14.2 5.9-14.2 18.2 0 5.9 3.6 8.8 7.8 8.8 3.9 0 6.9-2.8 6.9-6.2z\" fill=\"#fff\"\/><\/svg>\n\t\t<\/div>\n\t\t\n\n<p class=\"has-large-font-size\">Our agile engineering responded swiftly to numerous optimization and design changes including new robotic arm programming logic.<\/p>\n\n\n\n<p class=\"has-large-font-size\">We leveraged our extensive, cross-industry expertise and applied it to a non-traditional electronic customer beyond pure manufacturing to bring value to the project.<\/p>\n\n\n\n<p><strong>\u2014 Project Manager, Flex<\/strong><\/p>\n\n\n\t\t<div class=\"quote-lines-bottom\"><\/div>\n\t\t<div class=\"quote-marks-bottom\" style=\"background-color: #005486;\">\n\t\t\t<svg viewBox=\"0 0 33 27\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"m0 6.2c0 3.9 2.9 6.3 6.4 6.3 1.1 0 1.8-.3 2.1-.5-.1 4.3-3.3 9-8 10.1v4.9c6-.6 14.2-5.9 14.2-18.2 0-5.9-3.6-8.8-7.8-8.8-3.9 0-6.9 2.8-6.9 6.2zm18.3 0c0 3.9 2.9 6.3 6.4 6.3 1.1 0 1.8-.3 2.1-.5-.1 4.3-3.3 9-8 10.1v4.9c6-.6 14.2-5.9 14.2-18.2 0-5.9-3.6-8.8-7.8-8.8-3.9 0-6.9 2.8-6.9 6.2z\" fill=\"#fff\"\/><\/svg>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\n\t<script>\n\t(function () {\n\t\tlet hasRun_id_6a1c8c6696503 = false;\n\t\tfunction updateVideoDisplay_id_6a1c8c6696503() {\n\t\t\tconst youtubeVideoId = \"\";\n\t\t\tconst bynderID = \"\";\n\t\t\tconst mediaType = \"image\";\n\t\t\tconst mediaVideoElement = document.getElementById('media-video-id_6a1c8c6696503');\n\t\t\tconst bodyClass = document.body.className || '';\n\t\t\tconst match = bodyClass.match(\/translatepress-([a-z]{2})(?:_[A-Z]{2})?\/i);\n\t\t\tconst currentLanguage = match ? match[1].toLowerCase() : 'en';\n\t\t\tconst isChineseLang = currentLanguage === 'zh';\n\t\t\tconsole.log('isChineseLang:', isChineseLang);\n\t\t\tconsole.log('Language detected:', currentLanguage);\n\t\t\tconst isValidYouTube = youtubeVideoId && \/^[A-Za-z0-9_-]{11}$\/.test(youtubeVideoId);\n\t\t\t\n\t\t\tif (!mediaVideoElement || mediaType !== \"video\") return;\n\t\t\tmediaVideoElement.innerHTML = ''; \/\/ Clear existing content\n\t\t\t\n\t\t\tlet videoSourceClass = 'fallback-error';\n\t\t\t\n\t\t\tif (isChineseLang) {\n\t\t\t\tif (bynderID) {\n\t\t\t\t\tvideoSourceClass = 'bynder';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (isValidYouTube) {\n\t\t\t\t\tvideoSourceClass = 'youtube';\n\t\t\t\t} else if (bynderID) {\n\t\t\t\t\tvideoSourceClass = 'bynder';\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Apply layout class (used in SCSS)\n\t\t\tmediaVideoElement.className = 'video ' + videoSourceClass;\n\t\t\n\t\t\t\/\/ CASE: Chinese language\n\t\t\tif (isChineseLang) {\n\t\t\t\tif (bynderID) {\n\t\t\t\t\t\/\/ Load Bynder\n\t\t\t\t\tif (!document.getElementById('bynder-widgets-js')) {\n\t\t\t\t\t\tconst script = document.createElement('script');\n\t\t\t\t\t\tscript.src = 'https:\/\/d8ejoa1fys2rk.cloudfront.net\/bynder-embed\/latest\/bynder-embed.js';\n\t\t\t\t\t\tscript.id = 'bynder-widgets-js';\n\t\t\t\t\t\tscript.setAttribute('data-account-url', 'https:\/\/brandcenter.flex.com');\n\t\t\t\t\t\tscript.setAttribute('data-language', 'zh');\n\t\t\t\t\t\tdocument.body.appendChild(script);\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tconst bynderDiv = document.createElement('div');\n\t\t\t\t\tbynderDiv.id = 'bynder-id_6a1c8c6696503';\n\t\t\t\t\tbynderDiv.className = 'video-bynder';\n\t\t\t\t\tbynderDiv.setAttribute('data-bynder-widget', 'video-item');\n\t\t\t\t\tbynderDiv.setAttribute('data-media-id', bynderID);\n\t\t\t\t\tmediaVideoElement.appendChild(bynderDiv);\n\t\t\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (typeof BynderEmbed !== 'undefined' && typeof BynderEmbed.load === 'function') {\n\t\t\t\t\t\t\tBynderEmbed.load();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 500);\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ No Bynder = error (even if YouTube is valid)\n\t\t\t\t\tshowVideoError();\n\t\t\t\t}\n\t\t\n\t\t\t\/\/ CASE: Not Chinese\n\t\t\t} else {\n\t\t\t\tif (isValidYouTube) {\n\t\t\t\t\tconst iframe = document.createElement('iframe');\n\t\t\t\t\tiframe.id = 'youtube-id_6a1c8c6696503';\n\t\t\t\t\tiframe.className = 'video-youtube';\n\t\t\t\t\tiframe.src = 'https:\/\/www.youtube.com\/embed\/' + youtubeVideoId + '?rel=0';\n\t\t\t\t\tiframe.frameBorder = '0';\n\t\t\t\t\tiframe.playsInline = true;\n\t\t\t\t\tiframe.allow = 'encrypted-media';\n\t\t\t\t\tiframe.allowFullscreen = true;\n\t\t\t\t\tmediaVideoElement.appendChild(iframe);\n\t\t\t\t} else if (bynderID) {\n\t\t\t\t\t\/\/ Load Bynder (fallback if no YouTube)\n\t\t\t\t\tif (!document.getElementById('bynder-widgets-js')) {\n\t\t\t\t\t\tconst script = document.createElement('script');\n\t\t\t\t\t\tscript.src = 'https:\/\/d8ejoa1fys2rk.cloudfront.net\/bynder-embed\/latest\/bynder-embed.js';\n\t\t\t\t\t\tscript.id = 'bynder-widgets-js';\n\t\t\t\t\t\tscript.setAttribute('data-account-url', 'https:\/\/brandcenter.flex.com');\n\t\t\t\t\t\tscript.setAttribute('data-language', currentLanguage);\n\t\t\t\t\t\tdocument.body.appendChild(script);\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tconst bynderDiv = document.createElement('div');\n\t\t\t\t\tbynderDiv.id = 'bynder-id_6a1c8c6696503';\n\t\t\t\t\tbynderDiv.className = 'video-bynder';\n\t\t\t\t\tbynderDiv.setAttribute('data-bynder-widget', 'video-item');\n\t\t\t\t\tbynderDiv.setAttribute('data-media-id', bynderID);\n\t\t\t\t\tmediaVideoElement.appendChild(bynderDiv);\n\t\t\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (typeof BynderEmbed !== 'undefined' && typeof BynderEmbed.load === 'function') {\n\t\t\t\t\t\t\tBynderEmbed.load();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 500);\n\t\t\t\t} else {\n\t\t\t\t\t\/\/ No valid YouTube or Bynder = error\n\t\t\t\t\tshowVideoError();\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\tfunction showVideoError() {\n\t\t\t\tconst errorDiv = document.createElement('div');\n\t\t\t\terrorDiv.id = 'video-error-id_6a1c8c6696503';\n\t\t\t\terrorDiv.className = 'video-error';\n\t\t\t\terrorDiv.innerHTML = `\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>Video Unavailable<\/h3>\n\t\t\t\t\t\t<p>The content you\u2019re seeking is momentarily unavailable. We appreciate your patience and look forward to sharing it with you soon.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t`;\n\t\t\t\tmediaVideoElement.appendChild(errorDiv);\n\t\t\t}\n\t\t}\n\t\t\n\t\tfunction runVideoInjection() {\n\t\t\tif (hasRun_id_6a1c8c6696503) return;\n\t\t\thasRun_id_6a1c8c6696503 = true;\n\t\t\tupdateVideoDisplay_id_6a1c8c6696503();\n\t\t}\n\t\t\n\t\t\/\/ Always run on front-end\n\t\tif (document.readyState === 'loading') {\n\t\t\tdocument.addEventListener('DOMContentLoaded', runVideoInjection);\n\t\t} else {\n\t\t\trunVideoInjection();\n\t\t}\n\t\t\n\t\t\/\/ Also run in editor if available\n\t\tif (typeof wp !== 'undefined' && wp.domReady) {\n\t\t\twp.domReady(runVideoInjection);\n\t\t}\n\t})();\n\t<\/script>\n\t\n\t<script>\n\t\tdocument.addEventListener('DOMContentLoaded', function () {\n\t\t\t\n\t\t\t\/\/ Get the block element by ID\n\t\t\tvar blockElement = document.getElementById(\"id_6a1c8c6696503\");\n\t\t\tif (!blockElement) return;\n\t\n\t\t\t\/\/ Reveal the block\n\t\t\t(function ($) {\n\t\t\t\tScrollReveal().reveal(blockElement.querySelector(\".container .media\"), {origin: \"bottom\", distance: \"20px\", opacity: 1, duration: 1000});\n\t\t\t\tScrollReveal().reveal(blockElement.querySelector(\".container .content\"), {origin: \"bottom\", distance: \"20px\", opacity: 1, duration: 1000});\n\t\t\t}(jQuery));\n\t\t});\n\t<\/script>\n<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\t\t<\/div>\n\t\t<div class=\"sidebar normal-column\">\n\t\t\t\t\t\t\t\t\t<div class=\"post\">\n\t\t\t\t\t\t\t\t<a title=\"800 VDC power rack\" class=\"image\" href=\"https:\/\/flex.com\/downloads\/800-vdc-power-rack-solution-brief\" target=\"_self\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" alt=\"800 VDC power rack\" src=\"https:\/\/flex.com\/wp-content\/uploads\/2026\/05\/800VDC-Power-Rack-Solution-Brief_Featured-Image-02-540x304.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"label\">\n\t\t\t\t\t\t\tSolution Brief\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<a title=\"800 VDC power rack\" class=\"title\" href=\"https:\/\/flex.com\/downloads\/800-vdc-power-rack-solution-brief\" target=\"_self\">\n\t\t\t\t\t800 VDC power rack\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post\">\n\t\t\t\t\t\t\t\t<a title=\"Megawatt racks are coming: How 800 VDC architectures reduce losses and remove constraints\" class=\"image\" href=\"https:\/\/flex.com\/es\/resources\/megawatt-racks-are-coming-how-800-vdc-architectures-reduce-losses-and-remove-constraints\" target=\"_self\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" alt=\"Megawatt racks in a data center server room supporting 800 VDC architectures for reduced loss\" src=\"https:\/\/flex.com\/wp-content\/uploads\/2026\/04\/Server-room-Data-Center--540x304.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"label\">\n\t\t\t\t\t\t\tBlog\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<a title=\"Megawatt racks are coming: How 800 VDC architectures reduce losses and remove constraints\" class=\"title\" href=\"https:\/\/flex.com\/es\/resources\/megawatt-racks-are-coming-how-800-vdc-architectures-reduce-losses-and-remove-constraints\" target=\"_self\">\n\t\t\t\t\tMegawatt racks are coming: How 800 VDC architectures reduce losses and remove constraints\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post\">\n\t\t\t\t\t\t\t\t<a title=\"From Mexico, we are powering the Data Center world\" class=\"image\" href=\"https:\/\/flex.com\/es\/resources\/from-mexico-we-are-powering-the-data-center-world\" target=\"_self\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" alt=\"Flex site Juarez, Mexico\" src=\"https:\/\/flex.com\/wp-content\/uploads\/2026\/05\/DAT2-Flex-Juarez-Site-1-540x304.webp\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"label\">\n\t\t\t\t\t\t\tVideo\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<a title=\"From Mexico, we are powering the Data Center world\" class=\"title\" href=\"https:\/\/flex.com\/es\/resources\/from-mexico-we-are-powering-the-data-center-world\" target=\"_self\">\n\t\t\t\t\tFrom Mexico, we are powering the Data Center world\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post\">\n\t\t\t\t\t\t\t\t<a title=\"Speed to token: Why AI infrastructure demands a new deployment model\" class=\"image\" href=\"https:\/\/flex.com\/es\/resources\/speed-to-token-why-ai-infrastructure-demands-a-new-deployment-model\" target=\"_self\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" alt=\"Speed-to-token deployment model for AI infrastructure\" src=\"https:\/\/flex.com\/wp-content\/uploads\/2026\/05\/Featured-Image_Speed-to-Token-540x304.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"label\">\n\t\t\t\t\t\t\tBlog\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<a title=\"Speed to token: Why AI infrastructure demands a new deployment model\" class=\"title\" href=\"https:\/\/flex.com\/es\/resources\/speed-to-token-why-ai-infrastructure-demands-a-new-deployment-model\" target=\"_self\">\n\t\t\t\t\tSpeed to token: Why AI infrastructure demands a new deployment model\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<div class=\"spacer block\" style=\"height: 96px;\">\n\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":2738,"template":"","categories":[74],"tags":[],"content-type":[8],"class_list":["post-1298","resource","type-resource","status-publish","has-post-thumbnail","hentry","category-capital-equipment-robotics","content-type-case-study"],"acf":[],"_links":{"self":[{"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/resource\/1298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/resource"}],"about":[{"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/types\/resource"}],"author":[{"embeddable":true,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/users\/4"}],"version-history":[{"count":1,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/resource\/1298\/revisions"}],"predecessor-version":[{"id":22633,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/resource\/1298\/revisions\/22633"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/media\/2738"}],"wp:attachment":[{"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/media?parent=1298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/categories?post=1298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/tags?post=1298"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/flex.com\/es\/wp-json\/wp\/v2\/content-type?post=1298"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}