[{"transcript":" Cloudinary offers a wide range of features and capabilities but first you","confidence":0.7799999999999998,"words":[{"word":"Cloudinary","start_time":5.801,"end_time":6.504},{"word":"offers","start_time":6.745,"end_time":7.106},{"word":"a","start_time":7.327,"end_time":7.387},{"word":"wide","start_time":7.507,"end_time":7.848},{"word":"range","start_time":7.929,"end_time":8.25},{"word":"of","start_time":8.29,"end_time":8.35},{"word":"features","start_time":8.491,"end_time":8.912},{"word":"and","start_time":8.992,"end_time":9.093},{"word":"capabilities","start_time":9.113,"end_time":9.755},{"word":"but","start_time":10.197,"end_time":10.317},{"word":"first","start_time":10.397,"end_time":10.658},{"word":"you","start_time":10.678,"end_time":10.799}],"alternatives":[],"language":"en"},{"transcript":" need to get your image and videos into the platform.","confidence":0.8154999999999999,"words":[{"word":"need","start_time":11.301,"end_time":11.461},{"word":"to","start_time":11.502,"end_time":11.582},{"word":"get","start_time":11.642,"end_time":11.843},{"word":"your","start_time":11.903,"end_time":12.064},{"word":"image","start_time":12.305,"end_time":12.626},{"word":"and","start_time":12.827,"end_time":12.908},{"word":"videos","start_time":12.948,"end_time":13.37},{"word":"into","start_time":13.53,"end_time":13.711},{"word":"the","start_time":13.751,"end_time":13.832},{"word":"platform.","start_time":13.872,"end_time":14.314}],"alternatives":[],"language":"en"},{"transcript":"You can do that manually","confidence":0.7854,"words":[{"word":"You","start_time":14.756,"end_time":14.876},{"word":"can","start_time":14.936,"end_time":15.137},{"word":"do","start_time":15.157,"end_time":15.298},{"word":"that","start_time":15.338,"end_time":15.459},{"word":"manually","start_time":15.479,"end_time":15.76}],"alternatives":[],"language":"en"},{"transcript":" using the different and powerful APIs and SDKs available or you can use the","confidence":0.8141428571428572,"words":[{"word":"using","start_time":16.161,"end_time":16.382},{"word":"the","start_time":16.422,"end_time":16.503},{"word":"different","start_time":16.603,"end_time":17.085},{"word":"and","start_time":17.165,"end_time":17.245},{"word":"powerful","start_time":17.365,"end_time":17.847},{"word":"APIs","start_time":18.028,"end_time":18.67},{"word":"and","start_time":18.81,"end_time":18.911},{"word":"SDKs","start_time":19.091,"end_time":19.513},{"word":"available","start_time":19.553,"end_time":19.954},{"word":"or","start_time":20.456,"end_time":20.536},{"word":"you","start_time":20.637,"end_time":20.757},{"word":"can","start_time":20.817,"end_time":21.018},{"word":"use","start_time":21.259,"end_time":21.399},{"word":"the","start_time":21.419,"end_time":21.48}],"alternatives":[],"language":"en"},{"transcript":" Cloudinary upload widget for a quick and easy solution to create a complete","confidence":0.7384615384615383,"words":[{"word":"Cloudinary","start_time":21.781,"end_time":22.383},{"word":"upload","start_time":22.604,"end_time":22.865},{"word":"widget","start_time":22.926,"end_time":23.327},{"word":"for","start_time":23.408,"end_time":23.568},{"word":"a","start_time":23.608,"end_time":23.649},{"word":"quick","start_time":23.749,"end_time":23.97},{"word":"and","start_time":24.03,"end_time":24.131},{"word":"easy","start_time":24.191,"end_time":24.291},{"word":"solution","start_time":24.392,"end_time":24.914},{"word":"to","start_time":25.316,"end_time":25.456},{"word":"create","start_time":25.496,"end_time":25.878},{"word":"a","start_time":26.059,"end_time":26.099},{"word":"complete","start_time":26.139,"end_time":26.34}],"alternatives":[],"language":"en"},{"transcript":" upload experience.","confidence":0.7589999999999999,"words":[{"word":"upload","start_time":26.46,"end_time":27.123},{"word":"experience.","start_time":27.163,"end_time":27.725}],"alternatives":[],"language":"en"},{"transcript":"To understand how this works let's start with a basic remix","confidence":0.7649999999999999,"words":[{"word":"To","start_time":28.407,"end_time":28.528},{"word":"understand","start_time":28.568,"end_time":28.989},{"word":"how","start_time":29.089,"end_time":29.25},{"word":"this","start_time":29.29,"end_time":29.451},{"word":"works","start_time":29.531,"end_time":29.812},{"word":"let's","start_time":30.434,"end_time":30.675},{"word":"start","start_time":30.695,"end_time":31.036},{"word":"with","start_time":31.137,"end_time":31.257},{"word":"a","start_time":31.317,"end_time":31.337},{"word":"basic","start_time":31.458,"end_time":31.879},{"word":"remix","start_time":32.02,"end_time":32.12}],"alternatives":[],"language":"en"},{"transcript":" You'll examine the code and learn how to add the widget to the main route.","confidence":0.7946000000000001,"words":[{"word":"You'll","start_time":33.541,"end_time":33.783},{"word":"examine","start_time":33.823,"end_time":34.225},{"word":"the","start_time":34.265,"end_time":34.366},{"word":"code","start_time":34.426,"end_time":34.748},{"word":"and","start_time":34.868,"end_time":34.969},{"word":"learn","start_time":35.029,"end_time":35.27},{"word":"how","start_time":35.391,"end_time":35.572},{"word":"to","start_time":35.632,"end_time":35.773},{"word":"add","start_time":35.853,"end_time":35.974},{"word":"the","start_time":35.994,"end_time":36.095},{"word":"widget","start_time":36.155,"end_time":36.537},{"word":"to","start_time":36.577,"end_time":36.698},{"word":"the","start_time":36.738,"end_time":36.818},{"word":"main","start_time":36.839,"end_time":36.999},{"word":"route.","start_time":37.019,"end_time":37.12}],"alternatives":[],"language":"en"},{"transcript":" First, you need to load the script into the application.","confidence":0.6628000000000001,"words":[{"word":"First,","start_time":37.983,"end_time":38.265},{"word":"you","start_time":38.507,"end_time":38.607},{"word":"need","start_time":38.647,"end_time":38.808},{"word":"to","start_time":38.849,"end_time":38.969},{"word":"load","start_time":39.13,"end_time":39.392},{"word":"the","start_time":39.432,"end_time":39.533},{"word":"script","start_time":39.553,"end_time":39.875},{"word":"into","start_time":40.076,"end_time":40.197},{"word":"the","start_time":40.237,"end_time":40.358},{"word":"application.","start_time":40.418,"end_time":40.66}],"alternatives":[],"language":"en"},{"transcript":" The widget code and the documentation link can be found in the description below.","confidence":0.7403571428571427,"words":[{"word":"The","start_time":41.482,"end_time":41.602},{"word":"widget","start_time":41.663,"end_time":42.024},{"word":"code","start_time":42.125,"end_time":42.446},{"word":"and","start_time":42.687,"end_time":42.868},{"word":"the","start_time":42.908,"end_time":42.968},{"word":"documentation","start_time":43.008,"end_time":43.611},{"word":"link","start_time":43.671,"end_time":43.892},{"word":"can","start_time":44.133,"end_time":44.294},{"word":"be","start_time":44.314,"end_time":44.414},{"word":"found","start_time":44.515,"end_time":44.836},{"word":"in","start_time":45.017,"end_time":45.117},{"word":"the","start_time":45.137,"end_time":45.238},{"word":"description","start_time":45.278,"end_time":45.679},{"word":"below.","start_time":45.7,"end_time":45.8}],"alternatives":[],"language":"en"},{"transcript":" Go to the sidebar and navigate to the how to set up and integrate the upload widget section.","confidence":0.8008888888888888,"words":[{"word":"Go","start_time":46.542,"end_time":46.682},{"word":"to","start_time":46.742,"end_time":46.822},{"word":"the","start_time":46.863,"end_time":46.943},{"word":"sidebar","start_time":47.103,"end_time":47.605},{"word":"and","start_time":47.926,"end_time":48.046},{"word":"navigate","start_time":48.127,"end_time":48.668},{"word":"to","start_time":48.748,"end_time":48.909},{"word":"the","start_time":48.949,"end_time":49.13},{"word":"how","start_time":49.21,"end_time":49.431},{"word":"to","start_time":49.491,"end_time":49.591},{"word":"set","start_time":49.651,"end_time":49.892},{"word":"up","start_time":49.952,"end_time":50.053},{"word":"and","start_time":50.213,"end_time":50.293},{"word":"integrate","start_time":50.474,"end_time":51.036},{"word":"the","start_time":51.316,"end_time":51.457},{"word":"upload","start_time":51.617,"end_time":51.938},{"word":"widget","start_time":51.979,"end_time":52.279},{"word":"section.","start_time":52.3,"end_time":52.44}],"alternatives":[],"language":"en"},{"transcript":" Scroll down and you'll find the script you need to include into your application.","confidence":0.6658571428571429,"words":[{"word":"Scroll","start_time":53.402,"end_time":53.743},{"word":"down","start_time":53.783,"end_time":54.084},{"word":"and","start_time":54.526,"end_time":54.606},{"word":"you'll","start_time":54.646,"end_time":54.867},{"word":"find","start_time":54.907,"end_time":55.148},{"word":"the","start_time":55.208,"end_time":55.369},{"word":"script","start_time":55.409,"end_time":55.75},{"word":"you","start_time":56.132,"end_time":56.212},{"word":"need","start_time":56.252,"end_time":56.393},{"word":"to","start_time":56.433,"end_time":56.493},{"word":"include","start_time":56.533,"end_time":57.055},{"word":"into","start_time":57.858,"end_time":58.079},{"word":"your","start_time":58.099,"end_time":58.239},{"word":"application.","start_time":58.259,"end_time":58.48}],"alternatives":[],"language":"en"},{"transcript":" you're going to open the main entry point the root.jsx file here you'll find the body","confidence":0.7863125000000001,"words":[{"word":"you're","start_time":62.581,"end_time":62.741},{"word":"going","start_time":62.781,"end_time":62.922},{"word":"to","start_time":62.982,"end_time":63.122},{"word":"open","start_time":63.383,"end_time":63.644},{"word":"the","start_time":63.744,"end_time":63.964},{"word":"main","start_time":64.105,"end_time":64.386},{"word":"entry","start_time":64.546,"end_time":64.827},{"word":"point","start_time":64.887,"end_time":65.188},{"word":"the","start_time":65.308,"end_time":65.509},{"word":"root.jsx","start_time":65.689,"end_time":67.013},{"word":"file","start_time":67.053,"end_time":67.374},{"word":"here","start_time":67.895,"end_time":68.176},{"word":"you'll","start_time":68.577,"end_time":68.818},{"word":"find","start_time":68.918,"end_time":69.179},{"word":"the","start_time":69.219,"end_time":69.299},{"word":"body","start_time":69.36,"end_time":69.52}],"alternatives":[],"language":"en"},{"transcript":" of the document and you're going to paste the script you copied right there so now","confidence":0.7279375,"words":[{"word":"of","start_time":69.741,"end_time":69.821},{"word":"the","start_time":69.861,"end_time":69.942},{"word":"document","start_time":69.962,"end_time":70.404},{"word":"and","start_time":70.564,"end_time":70.665},{"word":"you're","start_time":70.685,"end_time":70.845},{"word":"going","start_time":70.865,"end_time":70.966},{"word":"to","start_time":70.986,"end_time":71.066},{"word":"paste","start_time":71.106,"end_time":71.388},{"word":"the","start_time":71.428,"end_time":71.528},{"word":"script","start_time":71.568,"end_time":71.91},{"word":"you","start_time":72.01,"end_time":72.151},{"word":"copied","start_time":72.211,"end_time":72.713},{"word":"right","start_time":73.114,"end_time":73.315},{"word":"there","start_time":73.335,"end_time":73.496},{"word":"so","start_time":73.516,"end_time":73.556},{"word":"now","start_time":73.817,"end_time":73.998}],"alternatives":[],"language":"en"},{"transcript":" anytime the application loads you're going to be loading the upload widget code","confidence":0.5870769230769232,"words":[{"word":"anytime","start_time":74.821,"end_time":75.143},{"word":"the","start_time":75.163,"end_time":75.223},{"word":"application","start_time":75.243,"end_time":75.745},{"word":"loads","start_time":75.825,"end_time":76.227},{"word":"you're","start_time":76.649,"end_time":76.99},{"word":"going","start_time":77.03,"end_time":77.231},{"word":"to","start_time":77.251,"end_time":77.332},{"word":"be","start_time":77.372,"end_time":77.492},{"word":"loading","start_time":77.552,"end_time":77.994},{"word":"the","start_time":78.215,"end_time":78.376},{"word":"upload","start_time":78.617,"end_time":78.918},{"word":"widget","start_time":78.978,"end_time":79.179},{"word":"code","start_time":79.199,"end_time":79.28}],"alternatives":[],"language":"en"},{"transcript":" the widget requires some configuration data this can be loaded as environment variables","confidence":0.7356153846153846,"words":[{"word":"the","start_time":80.508,"end_time":80.629},{"word":"widget","start_time":80.689,"end_time":81.09},{"word":"requires","start_time":81.21,"end_time":81.731},{"word":"some","start_time":81.811,"end_time":82.052},{"word":"configuration","start_time":82.092,"end_time":82.754},{"word":"data","start_time":82.794,"end_time":83.054},{"word":"this","start_time":83.355,"end_time":83.495},{"word":"can","start_time":83.535,"end_time":83.696},{"word":"be","start_time":83.736,"end_time":83.836},{"word":"loaded","start_time":83.936,"end_time":84.397},{"word":"as","start_time":84.618,"end_time":84.698},{"word":"environment","start_time":84.778,"end_time":85.339},{"word":"variables","start_time":85.38,"end_time":85.56}],"alternatives":[],"language":"en"},{"transcript":" for that let's create a loader function at the root this loader function will return the process.env","confidence":0.7996470588235293,"words":[{"word":"for","start_time":86.401,"end_time":86.541},{"word":"that","start_time":86.641,"end_time":86.902},{"word":"let's","start_time":87.102,"end_time":87.323},{"word":"create","start_time":87.423,"end_time":87.804},{"word":"a","start_time":87.965,"end_time":88.005},{"word":"loader","start_time":88.105,"end_time":88.446},{"word":"function","start_time":88.506,"end_time":88.927},{"word":"at","start_time":89.148,"end_time":89.228},{"word":"the","start_time":89.268,"end_time":89.389},{"word":"root","start_time":89.429,"end_time":89.689},{"word":"this","start_time":89.97,"end_time":90.211},{"word":"loader","start_time":90.331,"end_time":90.632},{"word":"function","start_time":90.672,"end_time":91.053},{"word":"will","start_time":91.133,"end_time":91.354},{"word":"return","start_time":91.414,"end_time":92.056},{"word":"the","start_time":92.316,"end_time":92.617},{"word":"process.env","start_time":92.757,"end_time":93.339}],"alternatives":[],"language":"en"},{"transcript":" Cloudinary cloud name and Cloudinary upload preset create a .env file and add both variables","confidence":0.77,"words":[{"word":"Cloudinary","start_time":93.941,"end_time":94.682},{"word":"cloud","start_time":94.823,"end_time":95.163},{"word":"name","start_time":95.203,"end_time":95.444},{"word":"and","start_time":95.985,"end_time":96.106},{"word":"Cloudinary","start_time":96.206,"end_time":96.907},{"word":"upload","start_time":97.168,"end_time":97.489},{"word":"preset","start_time":97.609,"end_time":98.03},{"word":"create","start_time":98.411,"end_time":98.972},{"word":"a","start_time":99.233,"end_time":99.353},{"word":".env","start_time":99.574,"end_time":100.035},{"word":"file","start_time":100.135,"end_time":100.456},{"word":"and","start_time":100.837,"end_time":100.937},{"word":"add","start_time":101.177,"end_time":101.358},{"word":"both","start_time":101.618,"end_time":101.879},{"word":"variables","start_time":102.039,"end_time":102.28}],"alternatives":[],"language":"en"},{"transcript":" head over to the Cloudinary dashboard and under your account details you can see the cloud name","confidence":0.8028823529411764,"words":[{"word":"head","start_time":102.882,"end_time":103.022},{"word":"over","start_time":103.082,"end_time":103.263},{"word":"to","start_time":103.343,"end_time":103.463},{"word":"the","start_time":103.484,"end_time":103.564},{"word":"Cloudinary","start_time":103.604,"end_time":104.226},{"word":"dashboard","start_time":104.286,"end_time":104.828},{"word":"and","start_time":105.008,"end_time":105.108},{"word":"under","start_time":105.409,"end_time":105.67},{"word":"your","start_time":105.77,"end_time":105.991},{"word":"account","start_time":106.192,"end_time":106.613},{"word":"details","start_time":106.673,"end_time":107.134},{"word":"you","start_time":107.496,"end_time":107.636},{"word":"can","start_time":107.676,"end_time":107.877},{"word":"see","start_time":107.977,"end_time":108.278},{"word":"the","start_time":108.358,"end_time":108.478},{"word":"cloud","start_time":108.559,"end_time":108.84},{"word":"name","start_time":108.86,"end_time":108.94}],"alternatives":[],"language":"en"},{"transcript":" click the button right next to it to copy then paste that value into the env file","confidence":0.8017058823529412,"words":[{"word":"click","start_time":109.442,"end_time":109.682},{"word":"the","start_time":109.723,"end_time":109.803},{"word":"button","start_time":109.883,"end_time":110.264},{"word":"right","start_time":110.545,"end_time":110.766},{"word":"next","start_time":110.806,"end_time":110.987},{"word":"to","start_time":111.027,"end_time":111.147},{"word":"it","start_time":111.208,"end_time":111.308},{"word":"to","start_time":111.348,"end_time":111.469},{"word":"copy","start_time":111.569,"end_time":111.95},{"word":"then","start_time":112.271,"end_time":112.472},{"word":"paste","start_time":112.613,"end_time":112.873},{"word":"that","start_time":112.934,"end_time":113.114},{"word":"value","start_time":113.195,"end_time":113.556},{"word":"into","start_time":113.837,"end_time":114.017},{"word":"the","start_time":114.037,"end_time":114.138},{"word":"env","start_time":114.258,"end_time":114.479},{"word":"file","start_time":114.519,"end_time":114.64}],"alternatives":[],"language":"en"},{"transcript":" In order to create an upload preset you can head over the settings page then navigate over to the","confidence":0.8043684210526314,"words":[{"word":"In","start_time":115.491,"end_time":115.591},{"word":"order","start_time":115.671,"end_time":115.912},{"word":"to","start_time":115.972,"end_time":116.092},{"word":"create","start_time":116.172,"end_time":116.674},{"word":"an","start_time":116.834,"end_time":116.894},{"word":"upload","start_time":117.015,"end_time":117.436},{"word":"preset","start_time":117.536,"end_time":118.037},{"word":"you","start_time":118.498,"end_time":118.679},{"word":"can","start_time":118.719,"end_time":118.919},{"word":"head","start_time":119.02,"end_time":119.28},{"word":"over","start_time":119.441,"end_time":119.621},{"word":"the","start_time":119.701,"end_time":119.842},{"word":"settings","start_time":120.002,"end_time":120.323},{"word":"page","start_time":120.403,"end_time":120.724},{"word":"then","start_time":121.486,"end_time":121.726},{"word":"navigate","start_time":122.027,"end_time":122.488},{"word":"over","start_time":122.629,"end_time":122.829},{"word":"to","start_time":122.909,"end_time":123.01},{"word":"the","start_time":123.03,"end_time":123.09}],"alternatives":[],"language":"en"},{"transcript":" upload tab and scroll down until you can see upload presets you can create a new one by","confidence":0.7859444444444442,"words":[{"word":"upload","start_time":123.491,"end_time":123.872},{"word":"tab","start_time":123.932,"end_time":124.253},{"word":"and","start_time":124.794,"end_time":124.915},{"word":"scroll","start_time":125.015,"end_time":125.396},{"word":"down","start_time":125.456,"end_time":125.777},{"word":"until","start_time":126.138,"end_time":126.459},{"word":"you","start_time":126.519,"end_time":126.639},{"word":"can","start_time":126.679,"end_time":126.86},{"word":"see","start_time":127.04,"end_time":127.321},{"word":"upload","start_time":127.682,"end_time":128.203},{"word":"presets","start_time":128.284,"end_time":128.785},{"word":"you","start_time":129.066,"end_time":129.226},{"word":"can","start_time":129.286,"end_time":129.487},{"word":"create","start_time":129.587,"end_time":129.988},{"word":"a","start_time":130.169,"end_time":130.209},{"word":"new","start_time":130.269,"end_time":130.429},{"word":"one","start_time":130.53,"end_time":130.61},{"word":"by","start_time":130.63,"end_time":130.67}],"alternatives":[],"language":"en"},{"transcript":" clicking the add upload preset link here you have a new name for the preset you can change it or","confidence":0.7701999999999999,"words":[{"word":"clicking","start_time":130.891,"end_time":131.272},{"word":"the","start_time":131.332,"end_time":131.553},{"word":"add","start_time":131.573,"end_time":132.054},{"word":"upload","start_time":132.215,"end_time":132.536},{"word":"preset","start_time":132.596,"end_time":133.017},{"word":"link","start_time":133.097,"end_time":133.378},{"word":"here","start_time":133.92,"end_time":134.181},{"word":"you","start_time":134.261,"end_time":134.401},{"word":"have","start_time":134.441,"end_time":134.582},{"word":"a","start_time":134.622,"end_time":134.662},{"word":"new","start_time":134.742,"end_time":134.923},{"word":"name","start_time":134.983,"end_time":135.204},{"word":"for","start_time":135.244,"end_time":135.384},{"word":"the","start_time":135.424,"end_time":135.505},{"word":"preset","start_time":135.585,"end_time":136.006},{"word":"you","start_time":136.147,"end_time":136.287},{"word":"can","start_time":136.347,"end_time":136.508},{"word":"change","start_time":136.628,"end_time":136.949},{"word":"it","start_time":137.009,"end_time":137.049},{"word":"or","start_time":137.069,"end_time":137.11}],"alternatives":[],"language":"en"},{"transcript":" paste the new upload preset name into the env file in your code instead of writing all of the","confidence":0.752,"words":[{"word":"paste","start_time":142.29,"end_time":142.571},{"word":"the","start_time":142.651,"end_time":142.832},{"word":"new","start_time":142.972,"end_time":143.133},{"word":"upload","start_time":143.293,"end_time":143.594},{"word":"preset","start_time":143.654,"end_time":144.076},{"word":"name","start_time":144.116,"end_time":144.356},{"word":"into","start_time":144.517,"end_time":144.778},{"word":"the","start_time":144.818,"end_time":144.938},{"word":"env","start_time":145.139,"end_time":145.46},{"word":"file","start_time":145.58,"end_time":145.921},{"word":"in","start_time":146.282,"end_time":146.342},{"word":"your","start_time":146.382,"end_time":146.563},{"word":"code","start_time":146.623,"end_time":146.924},{"word":"instead","start_time":147.626,"end_time":147.867},{"word":"of","start_time":147.887,"end_time":147.947},{"word":"writing","start_time":148.047,"end_time":148.368},{"word":"all","start_time":148.388,"end_time":148.83},{"word":"of","start_time":148.85,"end_time":148.89},{"word":"the","start_time":148.91,"end_time":148.97}],"alternatives":[],"language":"en"},{"transcript":" widget code inside of the primary route you're going to create a component to hold all of the","confidence":0.6554444444444444,"words":[{"word":"widget","start_time":149.131,"end_time":149.452},{"word":"code","start_time":149.532,"end_time":149.813},{"word":"inside","start_time":150.014,"end_time":150.575},{"word":"of","start_time":150.716,"end_time":150.796},{"word":"the","start_time":150.856,"end_time":150.937},{"word":"primary","start_time":151.037,"end_time":151.458},{"word":"route","start_time":151.579,"end_time":151.9},{"word":"you're","start_time":152.121,"end_time":152.321},{"word":"going","start_time":152.341,"end_time":152.482},{"word":"to","start_time":152.502,"end_time":152.582},{"word":"create","start_time":152.642,"end_time":153.004},{"word":"a","start_time":153.024,"end_time":153.044},{"word":"component","start_time":153.084,"end_time":153.746},{"word":"to","start_time":153.867,"end_time":153.987},{"word":"hold","start_time":154.107,"end_time":154.388},{"word":"all","start_time":154.629,"end_time":154.71},{"word":"of","start_time":154.73,"end_time":154.77},{"word":"the","start_time":154.79,"end_time":154.85}],"alternatives":[],"language":"en"},{"transcript":" required logic for the upload widget to work so you can reuse that in every place in your","confidence":0.7396111111111111,"words":[{"word":"required","start_time":155.071,"end_time":155.512},{"word":"logic","start_time":155.572,"end_time":155.974},{"word":"for","start_time":156.074,"end_time":156.234},{"word":"the","start_time":156.275,"end_time":156.395},{"word":"upload","start_time":156.576,"end_time":156.897},{"word":"widget","start_time":156.917,"end_time":157.238},{"word":"to","start_time":157.258,"end_time":157.378},{"word":"work","start_time":157.438,"end_time":157.699},{"word":"so","start_time":157.96,"end_time":158.161},{"word":"you","start_time":158.221,"end_time":158.361},{"word":"can","start_time":158.421,"end_time":158.622},{"word":"reuse","start_time":158.662,"end_time":159.124},{"word":"that","start_time":159.184,"end_time":159.445},{"word":"in","start_time":159.786,"end_time":159.886},{"word":"every","start_time":160.107,"end_time":160.328},{"word":"place","start_time":160.588,"end_time":160.869},{"word":"in","start_time":160.889,"end_time":160.929},{"word":"your","start_time":160.95,"end_time":161.05}],"alternatives":[],"language":"en"},{"transcript":" application create a new folder to hold the components under app slash components slash","confidence":0.7431428571428571,"words":[{"word":"application","start_time":161.21,"end_time":161.772},{"word":"create","start_time":162.073,"end_time":162.434},{"word":"a","start_time":162.454,"end_time":162.474},{"word":"new","start_time":162.494,"end_time":162.635},{"word":"folder","start_time":162.735,"end_time":163.237},{"word":"to","start_time":163.337,"end_time":163.457},{"word":"hold","start_time":163.578,"end_time":163.819},{"word":"the","start_time":163.859,"end_time":163.959},{"word":"components","start_time":163.979,"end_time":164.581},{"word":"under","start_time":164.782,"end_time":165.103},{"word":"app","start_time":165.544,"end_time":165.705},{"word":"slash","start_time":165.885,"end_time":166.387},{"word":"components","start_time":166.547,"end_time":167.189},{"word":"slash","start_time":167.209,"end_time":167.43}],"alternatives":[],"language":"en"},{"transcript":" and create the index.jsx file inside this file you'll define the required widget code","confidence":0.7581428571428572,"words":[{"word":"and","start_time":169.551,"end_time":169.651},{"word":"create","start_time":169.711,"end_time":170.152},{"word":"the","start_time":170.192,"end_time":170.273},{"word":"index.jsx","start_time":170.453,"end_time":172.238},{"word":"file","start_time":172.278,"end_time":172.599},{"word":"inside","start_time":172.98,"end_time":173.381},{"word":"this","start_time":173.401,"end_time":173.542},{"word":"file","start_time":173.622,"end_time":173.943},{"word":"you'll","start_time":174.244,"end_time":174.524},{"word":"define","start_time":174.565,"end_time":175.026},{"word":"the","start_time":175.066,"end_time":175.186},{"word":"required","start_time":175.226,"end_time":175.828},{"word":"widget","start_time":176.069,"end_time":176.249},{"word":"code","start_time":176.269,"end_time":176.41}],"alternatives":[],"language":"en"},{"transcript":" you'll start by defining the component function it will return an empty string for now and will","confidence":0.7880588235294119,"words":[{"word":"you'll","start_time":177.011,"end_time":177.232},{"word":"start","start_time":177.252,"end_time":177.633},{"word":"by","start_time":177.774,"end_time":177.954},{"word":"defining","start_time":178.034,"end_time":178.676},{"word":"the","start_time":178.737,"end_time":178.837},{"word":"component","start_time":178.877,"end_time":179.479},{"word":"function","start_time":179.539,"end_time":179.96},{"word":"it","start_time":180.201,"end_time":180.261},{"word":"will","start_time":180.321,"end_time":180.522},{"word":"return","start_time":180.582,"end_time":181.023},{"word":"an","start_time":181.184,"end_time":181.284},{"word":"empty","start_time":181.365,"end_time":181.665},{"word":"string","start_time":181.706,"end_time":182.006},{"word":"for","start_time":182.067,"end_time":182.207},{"word":"now","start_time":182.267,"end_time":182.468},{"word":"and","start_time":182.488,"end_time":182.548},{"word":"will","start_time":182.909,"end_time":183.09}],"alternatives":[],"language":"en"},{"transcript":" be exported as default at this point you can import the new component into the main route","confidence":0.8490588235294119,"words":[{"word":"be","start_time":183.431,"end_time":183.551},{"word":"exported","start_time":183.651,"end_time":184.333},{"word":"as","start_time":184.554,"end_time":184.654},{"word":"default","start_time":184.695,"end_time":185.156},{"word":"at","start_time":185.778,"end_time":185.858},{"word":"this","start_time":185.898,"end_time":186.039},{"word":"point","start_time":186.159,"end_time":186.44},{"word":"you","start_time":186.881,"end_time":187.062},{"word":"can","start_time":187.142,"end_time":187.423},{"word":"import","start_time":187.603,"end_time":188.005},{"word":"the","start_time":188.025,"end_time":188.125},{"word":"new","start_time":188.165,"end_time":188.306},{"word":"component","start_time":188.366,"end_time":189.008},{"word":"into","start_time":189.148,"end_time":189.349},{"word":"the","start_time":189.389,"end_time":189.469},{"word":"main","start_time":189.529,"end_time":189.65},{"word":"route","start_time":189.69,"end_time":189.79}],"alternatives":[],"language":"en"},{"transcript":" back into the component code the first step will be to retrieve the environment variables","confidence":0.8514666666666667,"words":[{"word":"back","start_time":190.593,"end_time":190.753},{"word":"into","start_time":190.793,"end_time":191.014},{"word":"the","start_time":191.034,"end_time":191.094},{"word":"component","start_time":191.134,"end_time":191.716},{"word":"code","start_time":191.796,"end_time":192.097},{"word":"the","start_time":192.458,"end_time":192.579},{"word":"first","start_time":192.639,"end_time":192.88},{"word":"step","start_time":192.96,"end_time":193.301},{"word":"will","start_time":193.722,"end_time":193.903},{"word":"be","start_time":193.923,"end_time":194.063},{"word":"to","start_time":194.083,"end_time":194.224},{"word":"retrieve","start_time":194.284,"end_time":194.725},{"word":"the","start_time":194.886,"end_time":195.006},{"word":"environment","start_time":195.247,"end_time":195.889},{"word":"variables","start_time":195.969,"end_time":196.17}],"alternatives":[],"language":"en"},{"transcript":" For that, you can use the useMatches hook to get the data from the root loader.","confidence":0.8842500000000002,"words":[{"word":"For","start_time":197.031,"end_time":197.171},{"word":"that,","start_time":197.272,"end_time":197.512},{"word":"you","start_time":197.653,"end_time":197.773},{"word":"can","start_time":197.813,"end_time":197.954},{"word":"use","start_time":198.135,"end_time":198.275},{"word":"the","start_time":198.315,"end_time":198.476},{"word":"useMatches","start_time":198.797,"end_time":199.6},{"word":"hook","start_time":199.66,"end_time":199.901},{"word":"to","start_time":200.443,"end_time":200.563},{"word":"get","start_time":200.623,"end_time":200.804},{"word":"the","start_time":200.844,"end_time":200.904},{"word":"data","start_time":200.984,"end_time":201.386},{"word":"from","start_time":201.587,"end_time":201.807},{"word":"the","start_time":201.847,"end_time":201.948},{"word":"root","start_time":201.988,"end_time":202.209},{"word":"loader.","start_time":202.249,"end_time":202.55}],"alternatives":[],"language":"en"},{"transcript":" Now, let's create a function that will take care of creating the widget.","confidence":0.6788461538461539,"words":[{"word":"Now,","start_time":203.212,"end_time":203.453},{"word":"let's","start_time":203.915,"end_time":204.136},{"word":"create","start_time":204.216,"end_time":204.638},{"word":"a","start_time":204.658,"end_time":204.678},{"word":"function","start_time":204.778,"end_time":205.22},{"word":"that","start_time":205.581,"end_time":205.722},{"word":"will","start_time":205.782,"end_time":205.983},{"word":"take","start_time":206.083,"end_time":206.304},{"word":"care","start_time":206.384,"end_time":206.665},{"word":"of","start_time":206.886,"end_time":206.986},{"word":"creating","start_time":207.107,"end_time":207.589},{"word":"the","start_time":207.629,"end_time":207.709},{"word":"widget.","start_time":207.769,"end_time":207.93}],"alternatives":[],"language":"en"},{"transcript":" The function will check if the Cloudinary object is available in the global scope.","confidence":0.8256428571428571,"words":[{"word":"The","start_time":209.213,"end_time":209.313},{"word":"function","start_time":209.373,"end_time":209.815},{"word":"will","start_time":209.955,"end_time":210.176},{"word":"check","start_time":210.296,"end_time":210.577},{"word":"if","start_time":210.778,"end_time":210.858},{"word":"the","start_time":210.918,"end_time":210.999},{"word":"Cloudinary","start_time":211.059,"end_time":211.761},{"word":"object","start_time":211.902,"end_time":212.263},{"word":"is","start_time":212.724,"end_time":212.825},{"word":"available","start_time":212.905,"end_time":213.447},{"word":"in","start_time":213.607,"end_time":213.688},{"word":"the","start_time":213.708,"end_time":213.808},{"word":"global","start_time":213.848,"end_time":214.189},{"word":"scope.","start_time":214.21,"end_time":214.31}],"alternatives":[],"language":"en"},{"transcript":" If so, it will return the result of executing the createUploadWidget method","confidence":0.8138333333333333,"words":[{"word":"If","start_time":215.396,"end_time":215.456},{"word":"so,","start_time":215.577,"end_time":215.817},{"word":"it","start_time":216.218,"end_time":216.278},{"word":"will","start_time":216.318,"end_time":216.499},{"word":"return","start_time":216.559,"end_time":216.96},{"word":"the","start_time":217.441,"end_time":217.581},{"word":"result","start_time":217.621,"end_time":218.203},{"word":"of","start_time":218.323,"end_time":218.403},{"word":"executing","start_time":218.563,"end_time":219.185},{"word":"the","start_time":219.646,"end_time":219.866},{"word":"createUploadWidget","start_time":220.007,"end_time":221.33},{"word":"method","start_time":221.39,"end_time":221.51}],"alternatives":[],"language":"en"},{"transcript":" the configuration options that includes the env variables and a second argument as a callback","confidence":0.7734000000000001,"words":[{"word":"the","start_time":225.461,"end_time":225.621},{"word":"configuration","start_time":225.701,"end_time":226.403},{"word":"options","start_time":226.624,"end_time":227.005},{"word":"that","start_time":227.326,"end_time":227.566},{"word":"includes","start_time":227.827,"end_time":228.349},{"word":"the","start_time":228.469,"end_time":228.629},{"word":"env","start_time":228.77,"end_time":229.151},{"word":"variables","start_time":229.191,"end_time":229.672},{"word":"and","start_time":230.414,"end_time":230.575},{"word":"a","start_time":230.735,"end_time":230.775},{"word":"second","start_time":230.836,"end_time":231.136},{"word":"argument","start_time":231.277,"end_time":231.718},{"word":"as","start_time":231.878,"end_time":231.979},{"word":"a","start_time":232.039,"end_time":232.059},{"word":"callback","start_time":232.139,"end_time":232.42}],"alternatives":[],"language":"en"},{"transcript":" that for now will just console.log the error and result.","confidence":0.8799000000000001,"words":[{"word":"that","start_time":232.881,"end_time":233.102},{"word":"for","start_time":233.182,"end_time":233.322},{"word":"now","start_time":233.382,"end_time":233.623},{"word":"will","start_time":233.743,"end_time":233.964},{"word":"just","start_time":234.004,"end_time":234.245},{"word":"console.log","start_time":234.305,"end_time":235.007},{"word":"the","start_time":235.127,"end_time":235.247},{"word":"error","start_time":235.408,"end_time":235.688},{"word":"and","start_time":235.989,"end_time":236.11},{"word":"result.","start_time":236.19,"end_time":236.631}],"alternatives":[],"language":"en"},{"transcript":"Now you'll want to hold a reference","confidence":0.6291428571428571,"words":[{"word":"Now","start_time":238.095,"end_time":238.315},{"word":"you'll","start_time":238.696,"end_time":238.897},{"word":"want","start_time":238.917,"end_time":239.057},{"word":"to","start_time":239.097,"end_time":239.198},{"word":"hold","start_time":239.338,"end_time":239.599},{"word":"a","start_time":239.619,"end_time":239.639},{"word":"reference","start_time":239.659,"end_time":240.14}],"alternatives":[],"language":"en"},{"transcript":" to the widget after it's created by using useRef.","confidence":0.7966666666666666,"words":[{"word":"to","start_time":240.541,"end_time":240.681},{"word":"the","start_time":240.701,"end_time":240.802},{"word":"widget","start_time":240.862,"end_time":241.243},{"word":"after","start_time":241.483,"end_time":241.744},{"word":"it's","start_time":241.764,"end_time":242.005},{"word":"created","start_time":242.105,"end_time":242.606},{"word":"by","start_time":243.108,"end_time":243.248},{"word":"using","start_time":243.549,"end_time":243.87},{"word":"useRef.","start_time":244.23,"end_time":244.792}],"alternatives":[],"language":"en"},{"transcript":"The widget creation is a side effect","confidence":0.6725714285714286,"words":[{"word":"The","start_time":246.035,"end_time":246.135},{"word":"widget","start_time":246.175,"end_time":246.496},{"word":"creation","start_time":246.556,"end_time":247.118},{"word":"is","start_time":247.318,"end_time":247.399},{"word":"a","start_time":247.459,"end_time":247.479},{"word":"side","start_time":247.579,"end_time":247.8},{"word":"effect","start_time":247.82,"end_time":247.94}],"alternatives":[],"language":"en"},{"transcript":" you'll use the useEffect hook without any dependency to better the performance of the","confidence":0.7536428571428572,"words":[{"word":"you'll","start_time":254.981,"end_time":255.221},{"word":"use","start_time":255.341,"end_time":255.502},{"word":"the","start_time":255.542,"end_time":255.722},{"word":"useEffect","start_time":256.023,"end_time":256.625},{"word":"hook","start_time":256.705,"end_time":256.965},{"word":"without","start_time":257.427,"end_time":257.928},{"word":"any","start_time":258.168,"end_time":258.289},{"word":"dependency","start_time":258.329,"end_time":258.87},{"word":"to","start_time":260.194,"end_time":260.474},{"word":"better","start_time":260.635,"end_time":260.975},{"word":"the","start_time":261.757,"end_time":261.878},{"word":"performance","start_time":261.938,"end_time":262.62},{"word":"of","start_time":262.64,"end_time":262.68},{"word":"the","start_time":262.7,"end_time":262.76}],"alternatives":[],"language":"en"},{"transcript":" widget creation you can use a little trick that is executing the function whenever the browser is idle","confidence":0.7890555555555556,"words":[{"word":"widget","start_time":262.96,"end_time":263.362},{"word":"creation","start_time":263.422,"end_time":263.943},{"word":"you","start_time":264.023,"end_time":264.144},{"word":"can","start_time":264.184,"end_time":264.324},{"word":"use","start_time":264.505,"end_time":264.665},{"word":"a","start_time":264.866,"end_time":264.906},{"word":"little","start_time":264.946,"end_time":265.187},{"word":"trick","start_time":265.307,"end_time":265.608},{"word":"that","start_time":266.049,"end_time":266.189},{"word":"is","start_time":266.27,"end_time":266.37},{"word":"executing","start_time":266.57,"end_time":267.152},{"word":"the","start_time":267.192,"end_time":267.292},{"word":"function","start_time":267.353,"end_time":267.754},{"word":"whenever","start_time":268.195,"end_time":268.696},{"word":"the","start_time":268.716,"end_time":268.777},{"word":"browser","start_time":269.037,"end_time":269.479},{"word":"is","start_time":269.619,"end_time":269.679},{"word":"idle","start_time":269.699,"end_time":269.94}],"alternatives":[],"language":"en"},{"transcript":" let's create a function named onIdle this function will just check the widget reference","confidence":0.7437142857142858,"words":[{"word":"let's","start_time":271.544,"end_time":271.725},{"word":"create","start_time":271.765,"end_time":272.126},{"word":"a","start_time":272.326,"end_time":272.426},{"word":"function","start_time":272.527,"end_time":272.927},{"word":"named","start_time":273.248,"end_time":273.669},{"word":"onIdle","start_time":273.889,"end_time":274.471},{"word":"this","start_time":275.813,"end_time":275.954},{"word":"function","start_time":275.994,"end_time":276.355},{"word":"will","start_time":276.715,"end_time":276.956},{"word":"just","start_time":277.116,"end_time":277.357},{"word":"check","start_time":277.457,"end_time":277.738},{"word":"the","start_time":278.158,"end_time":278.259},{"word":"widget","start_time":278.319,"end_time":278.519},{"word":"reference","start_time":278.559,"end_time":278.84}],"alternatives":[],"language":"en"},{"transcript":" if it's not present it will call the create widget function","confidence":0.7796363636363636,"words":[{"word":"if","start_time":279.483,"end_time":279.543},{"word":"it's","start_time":279.603,"end_time":279.724},{"word":"not","start_time":279.764,"end_time":279.885},{"word":"present","start_time":280.005,"end_time":280.448},{"word":"it","start_time":280.89,"end_time":280.97},{"word":"will","start_time":281.01,"end_time":281.211},{"word":"call","start_time":281.272,"end_time":281.573},{"word":"the","start_time":281.633,"end_time":281.774},{"word":"create","start_time":281.834,"end_time":282.297},{"word":"widget","start_time":282.457,"end_time":282.779},{"word":"function","start_time":282.799,"end_time":283.02}],"alternatives":[],"language":"en"},{"transcript":" Now, check if the request idle callback function is available.","confidence":0.7806,"words":[{"word":"Now,","start_time":284.262,"end_time":284.483},{"word":"check","start_time":285.146,"end_time":285.387},{"word":"if","start_time":285.447,"end_time":285.528},{"word":"the","start_time":285.588,"end_time":285.749},{"word":"request","start_time":285.809,"end_time":286.311},{"word":"idle","start_time":286.573,"end_time":286.814},{"word":"callback","start_time":286.894,"end_time":287.376},{"word":"function","start_time":287.416,"end_time":287.798},{"word":"is","start_time":287.919,"end_time":287.979},{"word":"available.","start_time":287.999,"end_time":288.18}],"alternatives":[],"language":"en"},{"transcript":" If so, use that to execute the unidle function.","confidence":0.768,"words":[{"word":"If","start_time":289.144,"end_time":289.225},{"word":"so,","start_time":289.365,"end_time":289.646},{"word":"use","start_time":290.43,"end_time":290.61},{"word":"that","start_time":290.691,"end_time":290.932},{"word":"to","start_time":291.032,"end_time":291.173},{"word":"execute","start_time":291.374,"end_time":291.856},{"word":"the","start_time":291.916,"end_time":292.037},{"word":"unidle","start_time":292.217,"end_time":292.358},{"word":"function.","start_time":292.378,"end_time":292.719}],"alternatives":[],"language":"en"},{"transcript":" If not, fall back to use setTimeout.","confidence":0.8724285714285714,"words":[{"word":"If","start_time":293.944,"end_time":294.045},{"word":"not,","start_time":294.186,"end_time":294.487},{"word":"fall","start_time":295.07,"end_time":295.312},{"word":"back","start_time":295.352,"end_time":295.573},{"word":"to","start_time":295.613,"end_time":295.734},{"word":"use","start_time":295.915,"end_time":296.096},{"word":"setTimeout.","start_time":296.377,"end_time":296.92}],"alternatives":[],"language":"en"},{"transcript":" Last but not least, change the component return to render a button.","confidence":0.7273333333333333,"words":[{"word":"Last","start_time":298.643,"end_time":298.863},{"word":"but","start_time":298.924,"end_time":299.104},{"word":"not","start_time":299.145,"end_time":299.345},{"word":"least,","start_time":299.386,"end_time":299.687},{"word":"change","start_time":300.048,"end_time":300.35},{"word":"the","start_time":300.39,"end_time":300.49},{"word":"component","start_time":300.51,"end_time":301.093},{"word":"return","start_time":301.173,"end_time":301.695},{"word":"to","start_time":301.916,"end_time":302.097},{"word":"render","start_time":302.217,"end_time":302.559},{"word":"a","start_time":302.579,"end_time":302.599},{"word":"button.","start_time":302.759,"end_time":302.9}],"alternatives":[],"language":"en"},{"transcript":" When this button is clicked, we'll call an event handler named open.","confidence":0.7080833333333333,"words":[{"word":"When","start_time":303.943,"end_time":304.063},{"word":"this","start_time":304.103,"end_time":304.244},{"word":"button","start_time":304.304,"end_time":304.605},{"word":"is","start_time":304.746,"end_time":304.846},{"word":"clicked,","start_time":304.946,"end_time":305.368},{"word":"we'll","start_time":305.87,"end_time":306.111},{"word":"call","start_time":306.171,"end_time":306.432},{"word":"an","start_time":306.452,"end_time":306.492},{"word":"event","start_time":306.713,"end_time":306.934},{"word":"handler","start_time":307.034,"end_time":307.516},{"word":"named","start_time":307.838,"end_time":308.159},{"word":"open.","start_time":308.179,"end_time":308.48}],"alternatives":[],"language":"en"},{"transcript":" The open function will check if the widget is present.","confidence":0.8426,"words":[{"word":"The","start_time":309.445,"end_time":309.565},{"word":"open","start_time":309.746,"end_time":310.007},{"word":"function","start_time":310.067,"end_time":310.509},{"word":"will","start_time":310.71,"end_time":310.911},{"word":"check","start_time":311.012,"end_time":311.273},{"word":"if","start_time":311.454,"end_time":311.554},{"word":"the","start_time":311.615,"end_time":311.715},{"word":"widget","start_time":311.755,"end_time":312.177},{"word":"is","start_time":312.318,"end_time":312.418},{"word":"present.","start_time":312.539,"end_time":312.76}],"alternatives":[],"language":"en"},{"transcript":" and we'll call the open method now you can try it out go to the browser you'll see the button","confidence":0.78225,"words":[{"word":"and","start_time":313.511,"end_time":313.611},{"word":"we'll","start_time":313.671,"end_time":313.892},{"word":"call","start_time":313.972,"end_time":314.293},{"word":"the","start_time":314.554,"end_time":314.674},{"word":"open","start_time":314.835,"end_time":315.115},{"word":"method","start_time":315.156,"end_time":315.436},{"word":"now","start_time":316.279,"end_time":316.439},{"word":"you","start_time":316.499,"end_time":316.6},{"word":"can","start_time":316.64,"end_time":316.76},{"word":"try","start_time":316.82,"end_time":317.021},{"word":"it","start_time":317.041,"end_time":317.101},{"word":"out","start_time":317.202,"end_time":317.322},{"word":"go","start_time":317.703,"end_time":317.843},{"word":"to","start_time":317.904,"end_time":317.984},{"word":"the","start_time":318.024,"end_time":318.104},{"word":"browser","start_time":318.144,"end_time":318.626},{"word":"you'll","start_time":319.087,"end_time":319.348},{"word":"see","start_time":319.448,"end_time":319.709},{"word":"the","start_time":319.869,"end_time":319.95},{"word":"button","start_time":319.97,"end_time":320.09}],"alternatives":[],"language":"en"},{"transcript":" if you click it you can see that a new model opens here you can browse your files and select a","confidence":0.7933809523809523,"words":[{"word":"if","start_time":320.772,"end_time":320.852},{"word":"you","start_time":320.872,"end_time":320.992},{"word":"click","start_time":321.012,"end_time":321.213},{"word":"it","start_time":321.293,"end_time":321.373},{"word":"you","start_time":321.814,"end_time":321.935},{"word":"can","start_time":321.975,"end_time":322.175},{"word":"see","start_time":322.255,"end_time":322.516},{"word":"that","start_time":322.757,"end_time":323.017},{"word":"a","start_time":323.198,"end_time":323.238},{"word":"new","start_time":323.298,"end_time":323.418},{"word":"model","start_time":323.458,"end_time":323.839},{"word":"opens","start_time":324.0,"end_time":324.3},{"word":"here","start_time":325.223,"end_time":325.504},{"word":"you","start_time":325.604,"end_time":325.724},{"word":"can","start_time":325.764,"end_time":325.985},{"word":"browse","start_time":326.045,"end_time":326.386},{"word":"your","start_time":326.426,"end_time":326.606},{"word":"files","start_time":326.827,"end_time":327.268},{"word":"and","start_time":327.468,"end_time":327.589},{"word":"select","start_time":327.709,"end_time":328.07},{"word":"a","start_time":328.09,"end_time":328.11}],"alternatives":[],"language":"en"},{"transcript":" picture of your choice you can see a check mark at the top of the model that let you know that the","confidence":0.8164090909090909,"words":[{"word":"picture","start_time":328.25,"end_time":328.632},{"word":"of","start_time":328.672,"end_time":328.732},{"word":"your","start_time":328.772,"end_time":328.913},{"word":"choice","start_time":328.993,"end_time":329.314},{"word":"you","start_time":330.016,"end_time":330.096},{"word":"can","start_time":330.136,"end_time":330.277},{"word":"see","start_time":330.357,"end_time":330.618},{"word":"a","start_time":330.899,"end_time":330.979},{"word":"check","start_time":331.14,"end_time":331.36},{"word":"mark","start_time":331.38,"end_time":331.581},{"word":"at","start_time":331.681,"end_time":331.762},{"word":"the","start_time":331.782,"end_time":331.862},{"word":"top","start_time":331.902,"end_time":332.062},{"word":"of","start_time":332.103,"end_time":332.183},{"word":"the","start_time":332.223,"end_time":332.484},{"word":"model","start_time":332.765,"end_time":333.126},{"word":"that","start_time":333.487,"end_time":333.647},{"word":"let","start_time":333.688,"end_time":333.848},{"word":"you","start_time":333.868,"end_time":333.989},{"word":"know","start_time":334.049,"end_time":334.209},{"word":"that","start_time":334.229,"end_time":334.31},{"word":"the","start_time":334.33,"end_time":334.41}],"alternatives":[],"language":"en"},{"transcript":" file was successfully uploaded and if you open the devtools you can see the results of the upload","confidence":0.8397777777777778,"words":[{"word":"file","start_time":334.711,"end_time":335.072},{"word":"was","start_time":335.192,"end_time":335.353},{"word":"successfully","start_time":335.513,"end_time":336.175},{"word":"uploaded","start_time":336.276,"end_time":336.717},{"word":"and","start_time":337.459,"end_time":337.54},{"word":"if","start_time":337.6,"end_time":337.66},{"word":"you","start_time":337.68,"end_time":337.881},{"word":"open","start_time":337.961,"end_time":338.182},{"word":"the","start_time":338.222,"end_time":338.302},{"word":"devtools","start_time":338.362,"end_time":338.783},{"word":"you","start_time":338.803,"end_time":338.904},{"word":"can","start_time":338.944,"end_time":339.064},{"word":"see","start_time":339.144,"end_time":339.385},{"word":"the","start_time":339.486,"end_time":339.646},{"word":"results","start_time":339.807,"end_time":340.348},{"word":"of","start_time":340.489,"end_time":340.569},{"word":"the","start_time":340.629,"end_time":340.729},{"word":"upload","start_time":340.749,"end_time":340.93}],"alternatives":[],"language":"en"},{"transcript":" that you just logged, here you can see the secure URL and open it in another tab.","confidence":0.8230588235294117,"words":[{"word":"that","start_time":341.781,"end_time":341.981},{"word":"you","start_time":342.062,"end_time":342.282},{"word":"just","start_time":342.363,"end_time":342.623},{"word":"logged,","start_time":342.724,"end_time":343.065},{"word":"here","start_time":343.627,"end_time":343.827},{"word":"you","start_time":343.887,"end_time":344.008},{"word":"can","start_time":344.068,"end_time":344.269},{"word":"see","start_time":344.409,"end_time":344.65},{"word":"the","start_time":344.69,"end_time":344.851},{"word":"secure","start_time":344.911,"end_time":345.332},{"word":"URL","start_time":345.513,"end_time":345.994},{"word":"and","start_time":346.215,"end_time":346.315},{"word":"open","start_time":346.516,"end_time":346.757},{"word":"it","start_time":346.797,"end_time":346.877},{"word":"in","start_time":347.038,"end_time":347.138},{"word":"another","start_time":347.319,"end_time":347.599},{"word":"tab.","start_time":347.619,"end_time":347.72}],"alternatives":[],"language":"en"},{"transcript":" This was a simple example of using a dropping solution to upload images to your Cloudinary Cloud.","confidence":0.791764705882353,"words":[{"word":"This","start_time":349.088,"end_time":349.229},{"word":"was","start_time":349.289,"end_time":349.449},{"word":"a","start_time":349.489,"end_time":349.509},{"word":"simple","start_time":349.67,"end_time":350.05},{"word":"example","start_time":350.09,"end_time":350.672},{"word":"of","start_time":351.032,"end_time":351.112},{"word":"using","start_time":351.253,"end_time":351.553},{"word":"a","start_time":351.593,"end_time":351.634},{"word":"dropping","start_time":351.734,"end_time":352.034},{"word":"solution","start_time":352.074,"end_time":352.475},{"word":"to","start_time":352.535,"end_time":352.696},{"word":"upload","start_time":352.896,"end_time":353.257},{"word":"images","start_time":353.357,"end_time":353.698},{"word":"to","start_time":353.758,"end_time":353.898},{"word":"your","start_time":353.938,"end_time":354.099},{"word":"Cloudinary","start_time":354.159,"end_time":354.68},{"word":"Cloud.","start_time":354.7,"end_time":354.8}],"alternatives":[],"language":"en"},{"transcript":" You can perform more advanced tasks like passing a callback function to the component to allow the","confidence":0.7688823529411762,"words":[{"word":"You","start_time":355.708,"end_time":355.848},{"word":"can","start_time":355.909,"end_time":356.069},{"word":"perform","start_time":356.129,"end_time":356.65},{"word":"more","start_time":356.93,"end_time":357.171},{"word":"advanced","start_time":357.231,"end_time":357.752},{"word":"tasks","start_time":357.812,"end_time":358.233},{"word":"like","start_time":358.653,"end_time":358.934},{"word":"passing","start_time":359.375,"end_time":359.795},{"word":"a","start_time":360.096,"end_time":360.176},{"word":"callback","start_time":360.296,"end_time":360.657},{"word":"function","start_time":360.717,"end_time":361.037},{"word":"to","start_time":361.077,"end_time":361.178},{"word":"the","start_time":361.198,"end_time":361.258},{"word":"component","start_time":361.318,"end_time":361.859},{"word":"to","start_time":362.199,"end_time":362.3},{"word":"allow","start_time":362.34,"end_time":362.48},{"word":"the","start_time":362.5,"end_time":362.58}],"alternatives":[],"language":"en"},{"transcript":" parent component to handle the error and result.","confidence":0.887875,"words":[{"word":"parent","start_time":362.761,"end_time":363.102},{"word":"component","start_time":363.122,"end_time":363.623},{"word":"to","start_time":363.663,"end_time":363.744},{"word":"handle","start_time":363.824,"end_time":364.205},{"word":"the","start_time":364.245,"end_time":364.346},{"word":"error","start_time":364.526,"end_time":364.767},{"word":"and","start_time":364.968,"end_time":365.068},{"word":"result.","start_time":365.128,"end_time":365.57}],"alternatives":[],"language":"en"},{"transcript":"To, for example, render the image in place","confidence":0.7715000000000001,"words":[{"word":"To,","start_time":366.091,"end_time":366.292},{"word":"for","start_time":366.392,"end_time":366.513},{"word":"example,","start_time":366.593,"end_time":367.115},{"word":"render","start_time":367.436,"end_time":367.797},{"word":"the","start_time":367.837,"end_time":367.917},{"word":"image","start_time":368.078,"end_time":368.379},{"word":"in","start_time":368.519,"end_time":368.619},{"word":"place","start_time":368.64,"end_time":368.78}],"alternatives":[],"language":"en"},{"transcript":" after a successful upload.","confidence":0.67525,"words":[{"word":"after","start_time":369.564,"end_time":369.867},{"word":"a","start_time":369.968,"end_time":370.09},{"word":"successful","start_time":370.11,"end_time":370.697},{"word":"upload.","start_time":370.717,"end_time":370.98}],"alternatives":[],"language":"en"},{"transcript":" If you want to see and try the code for this advanced example,","confidence":0.7777692307692307,"words":[{"word":"If","start_time":371.923,"end_time":371.983},{"word":"you","start_time":372.004,"end_time":372.104},{"word":"want","start_time":372.144,"end_time":372.285},{"word":"to","start_time":372.345,"end_time":372.446},{"word":"see","start_time":372.567,"end_time":372.868},{"word":"and","start_time":373.049,"end_time":373.15},{"word":"try","start_time":373.23,"end_time":373.451},{"word":"the","start_time":373.492,"end_time":373.592},{"word":"code","start_time":373.632,"end_time":373.914},{"word":"for","start_time":373.994,"end_time":374.135},{"word":"this","start_time":374.175,"end_time":374.336},{"word":"advanced","start_time":374.356,"end_time":374.799},{"word":"example,","start_time":374.819,"end_time":374.98}],"alternatives":[],"language":"en"},{"transcript":" check out the link inside the description below.","confidence":0.69475,"words":[{"word":"check","start_time":376.085,"end_time":376.306},{"word":"out","start_time":376.367,"end_time":376.488},{"word":"the","start_time":376.528,"end_time":376.629},{"word":"link","start_time":376.689,"end_time":376.951},{"word":"inside","start_time":377.092,"end_time":377.515},{"word":"the","start_time":377.535,"end_time":377.596},{"word":"description","start_time":377.636,"end_time":378.099},{"word":"below.","start_time":378.119,"end_time":378.22}],"alternatives":[],"language":"en"},{"transcript":" So, in review, in order to take advantage of Cloudinary,","confidence":0.7572,"words":[{"word":"So,","start_time":378.882,"end_time":379.063},{"word":"in","start_time":379.203,"end_time":379.264},{"word":"review,","start_time":379.304,"end_time":379.666},{"word":"in","start_time":380.188,"end_time":380.289},{"word":"order","start_time":380.369,"end_time":380.63},{"word":"to","start_time":380.671,"end_time":380.771},{"word":"take","start_time":380.872,"end_time":381.093},{"word":"advantage","start_time":381.153,"end_time":381.816},{"word":"of","start_time":381.977,"end_time":382.058},{"word":"Cloudinary,","start_time":382.218,"end_time":382.54}],"alternatives":[],"language":"en"},{"transcript":" you need a way to easily upload images and videos to your media library.","confidence":0.7807142857142859,"words":[{"word":"you","start_time":383.363,"end_time":383.463},{"word":"need","start_time":383.503,"end_time":383.644},{"word":"a","start_time":383.684,"end_time":383.744},{"word":"way","start_time":383.784,"end_time":383.985},{"word":"to","start_time":384.006,"end_time":384.126},{"word":"easily","start_time":384.287,"end_time":384.669},{"word":"upload","start_time":384.869,"end_time":385.271},{"word":"images","start_time":385.372,"end_time":385.653},{"word":"and","start_time":385.774,"end_time":385.834},{"word":"videos","start_time":385.894,"end_time":386.276},{"word":"to","start_time":386.316,"end_time":386.417},{"word":"your","start_time":386.457,"end_time":386.617},{"word":"media","start_time":386.718,"end_time":386.979},{"word":"library.","start_time":386.999,"end_time":387.16}],"alternatives":[],"language":"en"},{"transcript":" To do this, you can use the Cloudinary upload widget,","confidence":0.7894,"words":[{"word":"To","start_time":388.163,"end_time":388.284},{"word":"do","start_time":388.344,"end_time":388.445},{"word":"this,","start_time":388.485,"end_time":388.686},{"word":"you","start_time":389.048,"end_time":389.189},{"word":"can","start_time":389.209,"end_time":389.33},{"word":"use","start_time":389.451,"end_time":389.571},{"word":"the","start_time":389.591,"end_time":389.692},{"word":"Cloudinary","start_time":389.732,"end_time":390.376},{"word":"upload","start_time":390.617,"end_time":390.919},{"word":"widget,","start_time":390.939,"end_time":391.08}],"alternatives":[],"language":"en"},{"transcript":" which is an easy drop-in solution","confidence":0.7498333333333335,"words":[{"word":"which","start_time":391.643,"end_time":391.866},{"word":"is","start_time":392.169,"end_time":392.27},{"word":"an","start_time":392.31,"end_time":392.391},{"word":"easy","start_time":392.451,"end_time":392.714},{"word":"drop-in","start_time":392.795,"end_time":393.098},{"word":"solution","start_time":393.118,"end_time":393.32}],"alternatives":[],"language":"en"},{"transcript":" to get the full experience inside of a remix application.","confidence":0.6806,"words":[{"word":"to","start_time":393.4,"end_time":393.581},{"word":"get","start_time":394.265,"end_time":394.446},{"word":"the","start_time":394.486,"end_time":394.567},{"word":"full","start_time":394.647,"end_time":394.848},{"word":"experience","start_time":394.889,"end_time":395.532},{"word":"inside","start_time":395.733,"end_time":396.216},{"word":"of","start_time":396.276,"end_time":396.337},{"word":"a","start_time":396.397,"end_time":396.437},{"word":"remix","start_time":396.498,"end_time":396.598},{"word":"application.","start_time":396.618,"end_time":396.92}],"alternatives":[],"language":"en"},{"transcript":" With this video, now you are able to create and import a new upload widget component that makes use of the upload widget from Cloudinary inside your application.","confidence":0.7601785714285716,"words":[{"word":"With","start_time":397.86,"end_time":398.001},{"word":"this","start_time":398.021,"end_time":398.161},{"word":"video,","start_time":398.221,"end_time":398.602},{"word":"now","start_time":398.762,"end_time":398.922},{"word":"you","start_time":398.982,"end_time":399.062},{"word":"are","start_time":399.102,"end_time":399.203},{"word":"able","start_time":399.383,"end_time":399.563},{"word":"to","start_time":399.663,"end_time":399.804},{"word":"create","start_time":399.944,"end_time":400.364},{"word":"and","start_time":400.385,"end_time":400.705},{"word":"import","start_time":400.925,"end_time":401.286},{"word":"a","start_time":401.807,"end_time":401.847},{"word":"new","start_time":401.907,"end_time":402.127},{"word":"upload","start_time":402.408,"end_time":402.728},{"word":"widget","start_time":402.769,"end_time":403.049},{"word":"component","start_time":403.089,"end_time":403.69},{"word":"that","start_time":403.951,"end_time":404.131},{"word":"makes","start_time":404.191,"end_time":404.391},{"word":"use","start_time":404.652,"end_time":404.832},{"word":"of","start_time":405.233,"end_time":405.333},{"word":"the","start_time":405.413,"end_time":405.573},{"word":"upload","start_time":406.194,"end_time":406.475},{"word":"widget","start_time":406.515,"end_time":406.895},{"word":"from","start_time":406.956,"end_time":407.176},{"word":"Cloudinary","start_time":407.216,"end_time":407.917},{"word":"inside","start_time":408.398,"end_time":408.879},{"word":"your","start_time":408.999,"end_time":409.259},{"word":"application.","start_time":409.279,"end_time":409.62}],"alternatives":[],"language":"en"}]