[{"transcript":" Cloudinary is a powerful image and video platform but to harness all of that power","confidence":0.7494,"words":[{"word":"Cloudinary","start_time":0.08,"end_time":0.603},{"word":"is","start_time":0.763,"end_time":0.864},{"word":"a","start_time":0.944,"end_time":0.984},{"word":"powerful","start_time":1.045,"end_time":1.446},{"word":"image","start_time":1.627,"end_time":1.848},{"word":"and","start_time":1.908,"end_time":1.989},{"word":"video","start_time":2.009,"end_time":2.31},{"word":"platform","start_time":2.37,"end_time":2.832},{"word":"but","start_time":3.074,"end_time":3.214},{"word":"to","start_time":3.254,"end_time":3.335},{"word":"harness","start_time":3.375,"end_time":3.676},{"word":"all","start_time":3.897,"end_time":4.038},{"word":"of","start_time":4.058,"end_time":4.118},{"word":"that","start_time":4.178,"end_time":4.319},{"word":"power","start_time":4.399,"end_time":4.52}],"alternatives":[],"language":"en"},{"transcript":" you need to start at the beginning.","confidence":0.8738571428571428,"words":[{"word":"you","start_time":4.921,"end_time":5.022},{"word":"need","start_time":5.042,"end_time":5.202},{"word":"to","start_time":5.222,"end_time":5.262},{"word":"start","start_time":5.323,"end_time":5.624},{"word":"at","start_time":5.824,"end_time":5.884},{"word":"the","start_time":5.925,"end_time":6.005},{"word":"beginning.","start_time":6.045,"end_time":6.386}],"alternatives":[],"language":"en"},{"transcript":"Let's explore how to upload files using Svelte Cloudinary library","confidence":0.6857,"words":[{"word":"Let's","start_time":6.787,"end_time":6.948},{"word":"explore","start_time":7.028,"end_time":7.349},{"word":"how","start_time":7.55,"end_time":7.751},{"word":"to","start_time":7.791,"end_time":7.931},{"word":"upload","start_time":8.092,"end_time":8.393},{"word":"files","start_time":8.493,"end_time":8.834},{"word":"using","start_time":9.095,"end_time":9.316},{"word":"Svelte","start_time":9.456,"end_time":9.818},{"word":"Cloudinary","start_time":9.898,"end_time":10.339},{"word":"library","start_time":10.359,"end_time":10.52}],"alternatives":[],"language":"en"},{"transcript":" Cloudinary provides a lot of ways to upload files including server-side methods via Node.js, SDK","confidence":0.7548666666666667,"words":[{"word":"Cloudinary","start_time":15.201,"end_time":15.803},{"word":"provides","start_time":15.903,"end_time":16.345},{"word":"a","start_time":16.545,"end_time":16.585},{"word":"lot","start_time":16.686,"end_time":16.866},{"word":"of","start_time":16.906,"end_time":16.986},{"word":"ways","start_time":17.047,"end_time":17.247},{"word":"to","start_time":17.287,"end_time":17.428},{"word":"upload","start_time":17.588,"end_time":17.929},{"word":"files","start_time":17.989,"end_time":18.31},{"word":"including","start_time":18.832,"end_time":19.313},{"word":"server-side","start_time":19.373,"end_time":19.935},{"word":"methods","start_time":19.955,"end_time":20.376},{"word":"via","start_time":20.537,"end_time":20.838},{"word":"Node.js,","start_time":20.898,"end_time":21.339},{"word":"SDK","start_time":21.44,"end_time":21.54}],"alternatives":[],"language":"en"},{"transcript":" or directly through the client but today we're focusing on Svelte Cloudinary this tool","confidence":0.8179285714285713,"words":[{"word":"or","start_time":22.521,"end_time":22.621},{"word":"directly","start_time":22.681,"end_time":23.103},{"word":"through","start_time":23.163,"end_time":23.384},{"word":"the","start_time":23.404,"end_time":23.464},{"word":"client","start_time":23.484,"end_time":23.845},{"word":"but","start_time":24.307,"end_time":24.487},{"word":"today","start_time":24.547,"end_time":24.929},{"word":"we're","start_time":25.39,"end_time":25.611},{"word":"focusing","start_time":25.731,"end_time":26.152},{"word":"on","start_time":26.453,"end_time":26.554},{"word":"Svelte","start_time":26.795,"end_time":27.276},{"word":"Cloudinary","start_time":27.376,"end_time":27.998},{"word":"this","start_time":28.179,"end_time":28.359},{"word":"tool","start_time":28.42,"end_time":28.52}],"alternatives":[],"language":"en"},{"transcript":" Not only streamlines the upload process, but it also offers components for image optimization","confidence":0.7607142857142858,"words":[{"word":"Not","start_time":29.081,"end_time":29.241},{"word":"only","start_time":29.442,"end_time":29.743},{"word":"streamlines","start_time":29.763,"end_time":30.365},{"word":"the","start_time":30.465,"end_time":30.586},{"word":"upload","start_time":30.846,"end_time":31.208},{"word":"process,","start_time":31.248,"end_time":31.669},{"word":"but","start_time":31.93,"end_time":32.05},{"word":"it","start_time":32.11,"end_time":32.151},{"word":"also","start_time":32.411,"end_time":32.732},{"word":"offers","start_time":32.933,"end_time":33.234},{"word":"components","start_time":33.314,"end_time":33.956},{"word":"for","start_time":34.037,"end_time":34.217},{"word":"image","start_time":34.398,"end_time":34.679},{"word":"optimization","start_time":34.819,"end_time":35.08}],"alternatives":[],"language":"en"},{"transcript":" and transformation, and the CLD Upload Widget, a drop-in solution for easy uploads.","confidence":0.8086923076923078,"words":[{"word":"and","start_time":35.682,"end_time":35.802},{"word":"transformation,","start_time":35.842,"end_time":36.464},{"word":"and","start_time":36.625,"end_time":36.745},{"word":"the","start_time":36.806,"end_time":36.946},{"word":"CLD","start_time":37.066,"end_time":37.648},{"word":"Upload","start_time":37.889,"end_time":38.23},{"word":"Widget,","start_time":38.25,"end_time":38.632},{"word":"a","start_time":38.912,"end_time":38.953},{"word":"drop-in","start_time":38.993,"end_time":39.374},{"word":"solution","start_time":39.414,"end_time":39.896},{"word":"for","start_time":40.177,"end_time":40.317},{"word":"easy","start_time":40.538,"end_time":40.819},{"word":"uploads.","start_time":41.059,"end_time":41.24}],"alternatives":[],"language":"en"},{"transcript":" Svelte Cloudinary offers a simple way to implement the Cloudinary Upload Widget by using the","confidence":0.8198,"words":[{"word":"Svelte","start_time":41.821,"end_time":42.182},{"word":"Cloudinary","start_time":42.222,"end_time":42.804},{"word":"offers","start_time":43.145,"end_time":43.426},{"word":"a","start_time":43.586,"end_time":43.607},{"word":"simple","start_time":43.667,"end_time":43.968},{"word":"way","start_time":44.008,"end_time":44.209},{"word":"to","start_time":44.269,"end_time":44.389},{"word":"implement","start_time":44.57,"end_time":45.111},{"word":"the","start_time":45.372,"end_time":45.473},{"word":"Cloudinary","start_time":45.513,"end_time":46.054},{"word":"Upload","start_time":46.275,"end_time":46.576},{"word":"Widget","start_time":46.616,"end_time":46.957},{"word":"by","start_time":47.278,"end_time":47.379},{"word":"using","start_time":47.499,"end_time":47.68},{"word":"the","start_time":47.7,"end_time":47.76}],"alternatives":[],"language":"en"},{"transcript":" CLD Upload Widget component.","confidence":0.6317499999999999,"words":[{"word":"CLD","start_time":47.922,"end_time":48.508},{"word":"Upload","start_time":48.731,"end_time":49.054},{"word":"Widget","start_time":49.095,"end_time":49.378},{"word":"component.","start_time":49.398,"end_time":49.58}],"alternatives":[],"language":"en"},{"transcript":" Just import it into your code and then add it to the template.","confidence":0.767,"words":[{"word":"Just","start_time":50.201,"end_time":50.443},{"word":"import","start_time":50.684,"end_time":50.965},{"word":"it","start_time":51.006,"end_time":51.086},{"word":"into","start_time":51.287,"end_time":51.488},{"word":"your","start_time":51.548,"end_time":51.709},{"word":"code","start_time":51.79,"end_time":52.111},{"word":"and","start_time":52.373,"end_time":52.473},{"word":"then","start_time":52.554,"end_time":52.775},{"word":"add","start_time":53.036,"end_time":53.177},{"word":"it","start_time":53.217,"end_time":53.298},{"word":"to","start_time":53.338,"end_time":53.458},{"word":"the","start_time":53.479,"end_time":53.559},{"word":"template.","start_time":53.599,"end_time":53.76}],"alternatives":[],"language":"en"},{"transcript":" the upload preset, and a slot prop, named open.","confidence":0.7566666666666667,"words":[{"word":"the","start_time":58.842,"end_time":59.023},{"word":"upload","start_time":59.224,"end_time":59.526},{"word":"preset,","start_time":59.586,"end_time":59.988},{"word":"and","start_time":60.45,"end_time":60.571},{"word":"a","start_time":60.712,"end_time":60.752},{"word":"slot","start_time":60.772,"end_time":61.074},{"word":"prop,","start_time":61.094,"end_time":61.375},{"word":"named","start_time":61.657,"end_time":61.959},{"word":"open.","start_time":61.979,"end_time":62.24}],"alternatives":[],"language":"en"},{"transcript":" The CLD upload widget component doesn't render any element into the screen.","confidence":0.7458333333333332,"words":[{"word":"The","start_time":63.902,"end_time":64.003},{"word":"CLD","start_time":64.043,"end_time":64.445},{"word":"upload","start_time":64.605,"end_time":64.846},{"word":"widget","start_time":64.886,"end_time":65.208},{"word":"component","start_time":65.248,"end_time":65.73},{"word":"doesn't","start_time":65.951,"end_time":66.332},{"word":"render","start_time":66.453,"end_time":66.814},{"word":"any","start_time":67.035,"end_time":67.176},{"word":"element","start_time":67.376,"end_time":67.698},{"word":"into","start_time":67.798,"end_time":67.999},{"word":"the","start_time":68.019,"end_time":68.099},{"word":"screen.","start_time":68.119,"end_time":68.28}],"alternatives":[],"language":"en"},{"transcript":" Instead of that, it's used through composition by using a slot.","confidence":0.6626363636363637,"words":[{"word":"Instead","start_time":68.962,"end_time":69.244},{"word":"of","start_time":69.284,"end_time":69.344},{"word":"that,","start_time":69.364,"end_time":69.726},{"word":"it's","start_time":69.746,"end_time":70.007},{"word":"used","start_time":70.188,"end_time":70.349},{"word":"through","start_time":70.47,"end_time":70.711},{"word":"composition","start_time":70.791,"end_time":71.455},{"word":"by","start_time":71.756,"end_time":71.877},{"word":"using","start_time":72.017,"end_time":72.218},{"word":"a","start_time":72.238,"end_time":72.259},{"word":"slot.","start_time":72.279,"end_time":72.46}],"alternatives":[],"language":"en"},{"transcript":" You can pass anything you want into the slot.","confidence":0.826111111111111,"words":[{"word":"You","start_time":73.062,"end_time":73.183},{"word":"can","start_time":73.223,"end_time":73.364},{"word":"pass","start_time":73.425,"end_time":73.667},{"word":"anything","start_time":73.949,"end_time":74.272},{"word":"you","start_time":74.312,"end_time":74.453},{"word":"want","start_time":74.493,"end_time":74.755},{"word":"into","start_time":74.876,"end_time":75.058},{"word":"the","start_time":75.098,"end_time":75.199},{"word":"slot.","start_time":75.219,"end_time":75.3}],"alternatives":[],"language":"en"},{"transcript":" In this case, you'll use a simple button.","confidence":0.76475,"words":[{"word":"In","start_time":75.661,"end_time":75.722},{"word":"this","start_time":75.762,"end_time":75.883},{"word":"case,","start_time":75.964,"end_time":76.266},{"word":"you'll","start_time":76.588,"end_time":76.85},{"word":"use","start_time":77.052,"end_time":77.213},{"word":"a","start_time":77.455,"end_time":77.495},{"word":"simple","start_time":77.556,"end_time":77.919},{"word":"button.","start_time":77.939,"end_time":78.1}],"alternatives":[],"language":"en"},{"transcript":" The slot prop open is a function that can be called by the element or component you add into the slot.","confidence":0.8652857142857144,"words":[{"word":"The","start_time":78.46,"end_time":78.581},{"word":"slot","start_time":78.621,"end_time":78.902},{"word":"prop","start_time":78.962,"end_time":79.223},{"word":"open","start_time":79.504,"end_time":79.825},{"word":"is","start_time":80.106,"end_time":80.206},{"word":"a","start_time":80.266,"end_time":80.306},{"word":"function","start_time":80.366,"end_time":80.687},{"word":"that","start_time":80.888,"end_time":81.048},{"word":"can","start_time":81.109,"end_time":81.289},{"word":"be","start_time":81.329,"end_time":81.43},{"word":"called","start_time":81.49,"end_time":81.791},{"word":"by","start_time":81.871,"end_time":81.991},{"word":"the","start_time":82.052,"end_time":82.132},{"word":"element","start_time":82.272,"end_time":82.613},{"word":"or","start_time":82.814,"end_time":82.874},{"word":"component","start_time":82.934,"end_time":83.456},{"word":"you","start_time":83.616,"end_time":83.797},{"word":"add","start_time":83.998,"end_time":84.138},{"word":"into","start_time":84.319,"end_time":84.539},{"word":"the","start_time":84.559,"end_time":84.64},{"word":"slot.","start_time":84.68,"end_time":84.8}],"alternatives":[],"language":"en"},{"transcript":" Let's add the button here.","confidence":0.6146,"words":[{"word":"Let's","start_time":85.705,"end_time":85.948},{"word":"add","start_time":86.15,"end_time":86.272},{"word":"the","start_time":86.353,"end_time":86.434},{"word":"button","start_time":86.474,"end_time":86.738},{"word":"here.","start_time":86.758,"end_time":86.839}],"alternatives":[],"language":"en"},{"transcript":" And when clicked, it will trigger the open function from the slot prop.","confidence":0.7853846153846156,"words":[{"word":"And","start_time":87.781,"end_time":87.882},{"word":"when","start_time":88.022,"end_time":88.203},{"word":"clicked,","start_time":88.304,"end_time":88.645},{"word":"it","start_time":89.087,"end_time":89.188},{"word":"will","start_time":89.248,"end_time":89.469},{"word":"trigger","start_time":89.549,"end_time":89.991},{"word":"the","start_time":90.072,"end_time":90.192},{"word":"open","start_time":90.353,"end_time":90.614},{"word":"function","start_time":90.674,"end_time":91.056},{"word":"from","start_time":91.237,"end_time":91.458},{"word":"the","start_time":91.498,"end_time":91.578},{"word":"slot","start_time":91.619,"end_time":91.799},{"word":"prop.","start_time":91.82,"end_time":91.9}],"alternatives":[],"language":"en"},{"transcript":" Let's see the result.","confidence":0.916,"words":[{"word":"Let's","start_time":93.261,"end_time":93.542},{"word":"see","start_time":93.803,"end_time":94.004},{"word":"the","start_time":94.044,"end_time":94.124},{"word":"result.","start_time":94.185,"end_time":94.546}],"alternatives":[],"language":"en"},{"transcript":"The widget opens and you can choose an image to upload.","confidence":0.7604545454545455,"words":[{"word":"The","start_time":94.867,"end_time":95.007},{"word":"widget","start_time":95.048,"end_time":95.449},{"word":"opens","start_time":95.67,"end_time":96.011},{"word":"and","start_time":96.372,"end_time":96.473},{"word":"you","start_time":96.553,"end_time":96.734},{"word":"can","start_time":96.794,"end_time":97.035},{"word":"choose","start_time":97.095,"end_time":97.416},{"word":"an","start_time":97.657,"end_time":97.717},{"word":"image","start_time":97.777,"end_time":98.058},{"word":"to","start_time":98.119,"end_time":98.299},{"word":"upload.","start_time":98.319,"end_time":98.52}],"alternatives":[],"language":"en"},{"transcript":" But after it's done, nothing happens in the application.","confidence":0.5567777777777778,"words":[{"word":"But","start_time":100.003,"end_time":100.285},{"word":"after","start_time":100.526,"end_time":100.747},{"word":"it's","start_time":100.807,"end_time":100.888},{"word":"done,","start_time":100.948,"end_time":101.27},{"word":"nothing","start_time":101.953,"end_time":102.315},{"word":"happens","start_time":102.456,"end_time":102.878},{"word":"in","start_time":102.898,"end_time":102.998},{"word":"the","start_time":103.018,"end_time":103.079},{"word":"application.","start_time":103.099,"end_time":103.32}],"alternatives":[],"language":"en"},{"transcript":" Let's change that behavior by using another prop of the CLD upload widget component,","confidence":0.7472857142857142,"words":[{"word":"Let's","start_time":104.582,"end_time":104.823},{"word":"change","start_time":104.943,"end_time":105.224},{"word":"that","start_time":105.265,"end_time":105.425},{"word":"behavior","start_time":105.445,"end_time":105.947},{"word":"by","start_time":106.108,"end_time":106.268},{"word":"using","start_time":106.509,"end_time":106.75},{"word":"another","start_time":106.951,"end_time":107.373},{"word":"prop","start_time":107.473,"end_time":107.694},{"word":"of","start_time":107.774,"end_time":107.855},{"word":"the","start_time":107.875,"end_time":107.975},{"word":"CLD","start_time":108.015,"end_time":108.397},{"word":"upload","start_time":108.497,"end_time":108.778},{"word":"widget","start_time":108.818,"end_time":108.999},{"word":"component,","start_time":109.019,"end_time":109.26}],"alternatives":[],"language":"en"},{"transcript":" the unupload callback.","confidence":0.8353333333333334,"words":[{"word":"the","start_time":110.142,"end_time":110.302},{"word":"unupload","start_time":110.543,"end_time":111.306},{"word":"callback.","start_time":111.406,"end_time":111.868}],"alternatives":[],"language":"en"},{"transcript":"This is a function that will be called when the upload process","confidence":0.7247499999999999,"words":[{"word":"This","start_time":112.048,"end_time":112.249},{"word":"is","start_time":112.349,"end_time":112.41},{"word":"a","start_time":112.49,"end_time":112.53},{"word":"function","start_time":112.55,"end_time":112.911},{"word":"that","start_time":113.273,"end_time":113.433},{"word":"will","start_time":113.473,"end_time":113.654},{"word":"be","start_time":113.694,"end_time":113.815},{"word":"called","start_time":113.895,"end_time":114.196},{"word":"when","start_time":114.397,"end_time":114.577},{"word":"the","start_time":114.597,"end_time":114.698},{"word":"upload","start_time":114.858,"end_time":115.139},{"word":"process","start_time":115.179,"end_time":115.38}],"alternatives":[],"language":"en"},{"transcript":" Finish.","confidence":0.018,"words":[{"word":"Finish.","start_time":115.839,"end_time":115.968}],"alternatives":[],"language":"en"},{"transcript":" Let's back to the code and create two state variables,","confidence":0.7481,"words":[{"word":"Let's","start_time":116.452,"end_time":116.653},{"word":"back","start_time":116.713,"end_time":116.894},{"word":"to","start_time":116.955,"end_time":117.055},{"word":"the","start_time":117.076,"end_time":117.156},{"word":"code","start_time":117.216,"end_time":117.498},{"word":"and","start_time":117.78,"end_time":117.901},{"word":"create","start_time":118.001,"end_time":118.344},{"word":"two","start_time":118.505,"end_time":118.686},{"word":"state","start_time":118.787,"end_time":119.088},{"word":"variables,","start_time":119.129,"end_time":119.31}],"alternatives":[],"language":"en"},{"transcript":" info and error.","confidence":0.5986666666666667,"words":[{"word":"info","start_time":120.057,"end_time":120.483},{"word":"and","start_time":120.646,"end_time":120.747},{"word":"error.","start_time":120.767,"end_time":120.95}],"alternatives":[],"language":"en"},{"transcript":" Now let's create the unupload callback function","confidence":0.6927142857142857,"words":[{"word":"Now","start_time":121.993,"end_time":122.195},{"word":"let's","start_time":122.517,"end_time":122.738},{"word":"create","start_time":122.798,"end_time":123.18},{"word":"the","start_time":123.241,"end_time":123.382},{"word":"unupload","start_time":123.583,"end_time":124.066},{"word":"callback","start_time":124.146,"end_time":124.589},{"word":"function","start_time":124.609,"end_time":124.77}],"alternatives":[],"language":"en"},{"transcript":" and check the data that has come back","confidence":0.7909999999999999,"words":[{"word":"and","start_time":125.294,"end_time":125.415},{"word":"check","start_time":125.496,"end_time":125.758},{"word":"the","start_time":125.798,"end_time":125.919},{"word":"data","start_time":125.98,"end_time":126.363},{"word":"that","start_time":126.444,"end_time":126.605},{"word":"has","start_time":126.665,"end_time":126.827},{"word":"come","start_time":126.907,"end_time":127.109},{"word":"back","start_time":127.149,"end_time":127.23}],"alternatives":[],"language":"en"},{"transcript":" into the result parameter.","confidence":0.66475,"words":[{"word":"into","start_time":127.535,"end_time":127.779},{"word":"the","start_time":127.82,"end_time":127.901},{"word":"result","start_time":127.962,"end_time":128.226},{"word":"parameter.","start_time":128.247,"end_time":128.45}],"alternatives":[],"language":"en"},{"transcript":" If it succeeds, then change the state of info variable.","confidence":0.7156,"words":[{"word":"If","start_time":129.473,"end_time":129.574},{"word":"it","start_time":129.634,"end_time":129.674},{"word":"succeeds,","start_time":129.734,"end_time":130.157},{"word":"then","start_time":130.458,"end_time":130.68},{"word":"change","start_time":131.002,"end_time":131.283},{"word":"the","start_time":131.323,"end_time":131.404},{"word":"state","start_time":131.444,"end_time":131.786},{"word":"of","start_time":131.927,"end_time":131.967},{"word":"info","start_time":131.987,"end_time":132.067},{"word":"variable.","start_time":132.208,"end_time":132.53}],"alternatives":[],"language":"en"},{"transcript":" If error, set the state of the error variable.","confidence":0.7754444444444444,"words":[{"word":"If","start_time":133.513,"end_time":133.593},{"word":"error,","start_time":133.795,"end_time":133.976},{"word":"set","start_time":134.419,"end_time":134.621},{"word":"the","start_time":134.661,"end_time":134.742},{"word":"state","start_time":134.762,"end_time":135.104},{"word":"of","start_time":135.225,"end_time":135.286},{"word":"the","start_time":135.326,"end_time":135.407},{"word":"error","start_time":135.527,"end_time":135.689},{"word":"variable.","start_time":135.709,"end_time":135.87}],"alternatives":[],"language":"en"},{"transcript":" At the end, using the widget reference, let's close it.","confidence":0.6555,"words":[{"word":"At","start_time":136.773,"end_time":136.834},{"word":"the","start_time":136.854,"end_time":136.954},{"word":"end,","start_time":137.035,"end_time":137.196},{"word":"using","start_time":137.578,"end_time":137.799},{"word":"the","start_time":137.839,"end_time":137.94},{"word":"widget","start_time":138.02,"end_time":138.362},{"word":"reference,","start_time":138.443,"end_time":138.825},{"word":"let's","start_time":139.187,"end_time":139.408},{"word":"close","start_time":139.529,"end_time":139.69},{"word":"it.","start_time":139.71,"end_time":139.77}],"alternatives":[],"language":"en"},{"transcript":" Now let's add the unupload prop","confidence":0.677,"words":[{"word":"Now","start_time":140.072,"end_time":140.314},{"word":"let's","start_time":140.576,"end_time":140.819},{"word":"add","start_time":141.041,"end_time":141.182},{"word":"the","start_time":141.263,"end_time":141.404},{"word":"unupload","start_time":141.545,"end_time":141.949},{"word":"prop","start_time":141.969,"end_time":142.05}],"alternatives":[],"language":"en"},{"transcript":" using the shortcut syntax here.","confidence":0.6075999999999999,"words":[{"word":"using","start_time":142.794,"end_time":143.036},{"word":"the","start_time":143.077,"end_time":143.158},{"word":"shortcut","start_time":143.219,"end_time":143.624},{"word":"syntax","start_time":143.644,"end_time":143.948},{"word":"here.","start_time":143.968,"end_time":144.049}],"alternatives":[],"language":"en"},{"transcript":" Let's make use of the state variables you just created.","confidence":0.6871,"words":[{"word":"Let's","start_time":145.193,"end_time":145.374},{"word":"make","start_time":145.414,"end_time":145.575},{"word":"use","start_time":145.716,"end_time":145.897},{"word":"of","start_time":146.018,"end_time":146.099},{"word":"the","start_time":146.159,"end_time":146.26},{"word":"state","start_time":146.28,"end_time":146.521},{"word":"variables","start_time":146.562,"end_time":146.964},{"word":"you","start_time":147.145,"end_time":147.306},{"word":"just","start_time":147.347,"end_time":147.568},{"word":"created.","start_time":147.608,"end_time":147.87}],"alternatives":[],"language":"en"},{"transcript":" If error is not null, then render the error.","confidence":0.6627777777777778,"words":[{"word":"If","start_time":148.654,"end_time":148.734},{"word":"error","start_time":148.936,"end_time":149.177},{"word":"is","start_time":149.298,"end_time":149.398},{"word":"not","start_time":149.459,"end_time":149.579},{"word":"null,","start_time":149.64,"end_time":149.881},{"word":"then","start_time":150.203,"end_time":150.445},{"word":"render","start_time":150.807,"end_time":151.109},{"word":"the","start_time":151.129,"end_time":151.189},{"word":"error.","start_time":151.209,"end_time":151.31}],"alternatives":[],"language":"en"},{"transcript":" If info is not null, then render the image.","confidence":0.8184444444444444,"words":[{"word":"If","start_time":152.234,"end_time":152.314},{"word":"info","start_time":152.515,"end_time":152.817},{"word":"is","start_time":152.938,"end_time":153.038},{"word":"not","start_time":153.099,"end_time":153.26},{"word":"null,","start_time":153.32,"end_time":153.541},{"word":"then","start_time":153.863,"end_time":154.064},{"word":"render","start_time":154.507,"end_time":154.788},{"word":"the","start_time":154.829,"end_time":154.889},{"word":"image.","start_time":154.909,"end_time":155.05}],"alternatives":[],"language":"en"},{"transcript":" For that, let's use the image HTML tag,","confidence":0.730125,"words":[{"word":"For","start_time":155.814,"end_time":155.995},{"word":"that,","start_time":156.075,"end_time":156.317},{"word":"let's","start_time":156.438,"end_time":156.659},{"word":"use","start_time":156.78,"end_time":156.901},{"word":"the","start_time":156.921,"end_time":157.022},{"word":"image","start_time":157.163,"end_time":157.626},{"word":"HTML","start_time":157.666,"end_time":158.029},{"word":"tag,","start_time":158.089,"end_time":158.17}],"alternatives":[],"language":"en"},{"transcript":" accessing the information of the image","confidence":0.7748333333333332,"words":[{"word":"accessing","start_time":158.573,"end_time":158.996},{"word":"the","start_time":159.037,"end_time":159.097},{"word":"information","start_time":159.259,"end_time":159.884},{"word":"of","start_time":160.106,"end_time":160.207},{"word":"the","start_time":160.247,"end_time":160.328},{"word":"image","start_time":160.469,"end_time":160.57}],"alternatives":[],"language":"en"},{"transcript":" and the secure URL as source of it.","confidence":0.58275,"words":[{"word":"and","start_time":161.234,"end_time":161.355},{"word":"the","start_time":161.416,"end_time":161.536},{"word":"secure","start_time":161.577,"end_time":162.04},{"word":"URL","start_time":162.261,"end_time":162.624},{"word":"as","start_time":162.906,"end_time":163.047},{"word":"source","start_time":163.188,"end_time":163.429},{"word":"of","start_time":163.449,"end_time":163.49},{"word":"it.","start_time":163.51,"end_time":163.55}],"alternatives":[],"language":"en"},{"transcript":" Don't forget to set an alt text in your image tags.","confidence":0.8234545454545456,"words":[{"word":"Don't","start_time":164.793,"end_time":164.974},{"word":"forget","start_time":165.014,"end_time":165.316},{"word":"to","start_time":165.356,"end_time":165.457},{"word":"set","start_time":165.578,"end_time":165.839},{"word":"an","start_time":166.02,"end_time":166.101},{"word":"alt","start_time":166.181,"end_time":166.322},{"word":"text","start_time":166.342,"end_time":166.644},{"word":"in","start_time":166.845,"end_time":166.906},{"word":"your","start_time":166.946,"end_time":167.107},{"word":"image","start_time":167.208,"end_time":167.449},{"word":"tags.","start_time":167.509,"end_time":167.59}],"alternatives":[],"language":"en"},{"transcript":" Finally, let's also render the secure URL as text.","confidence":0.7694444444444444,"words":[{"word":"Finally,","start_time":168.011,"end_time":168.433},{"word":"let's","start_time":168.715,"end_time":168.916},{"word":"also","start_time":169.097,"end_time":169.398},{"word":"render","start_time":169.539,"end_time":169.961},{"word":"the","start_time":170.001,"end_time":170.142},{"word":"secure","start_time":170.162,"end_time":170.725},{"word":"URL","start_time":170.886,"end_time":171.187},{"word":"as","start_time":171.368,"end_time":171.469},{"word":"text.","start_time":171.569,"end_time":171.67}],"alternatives":[],"language":"en"},{"transcript":" Let's try this out.","confidence":0.63375,"words":[{"word":"Let's","start_time":172.197,"end_time":172.401},{"word":"try","start_time":172.421,"end_time":172.625},{"word":"this","start_time":172.666,"end_time":172.788},{"word":"out.","start_time":172.809,"end_time":172.87}],"alternatives":[],"language":"en"},{"transcript":" After a successful upload, the widget closed and the image is rendered.","confidence":0.7464166666666666,"words":[{"word":"After","start_time":173.882,"end_time":174.163},{"word":"a","start_time":174.224,"end_time":174.264},{"word":"successful","start_time":174.344,"end_time":174.887},{"word":"upload,","start_time":175.068,"end_time":175.409},{"word":"the","start_time":175.57,"end_time":175.691},{"word":"widget","start_time":175.731,"end_time":176.032},{"word":"closed","start_time":176.072,"end_time":176.414},{"word":"and","start_time":176.655,"end_time":176.756},{"word":"the","start_time":176.796,"end_time":176.876},{"word":"image","start_time":177.017,"end_time":177.298},{"word":"is","start_time":177.399,"end_time":177.479},{"word":"rendered.","start_time":177.499,"end_time":177.68}],"alternatives":[],"language":"en"},{"transcript":" At this point, you already know how to use the CLD Upload Widget component,","confidence":0.7775,"words":[{"word":"At","start_time":178.121,"end_time":178.202},{"word":"this","start_time":178.242,"end_time":178.383},{"word":"point,","start_time":178.483,"end_time":178.704},{"word":"you","start_time":178.905,"end_time":179.026},{"word":"already","start_time":179.066,"end_time":179.448},{"word":"know","start_time":179.528,"end_time":179.73},{"word":"how","start_time":179.79,"end_time":179.931},{"word":"to","start_time":180.011,"end_time":180.112},{"word":"use","start_time":180.252,"end_time":180.353},{"word":"the","start_time":180.393,"end_time":180.453},{"word":"CLD","start_time":180.494,"end_time":180.936},{"word":"Upload","start_time":180.976,"end_time":181.237},{"word":"Widget","start_time":181.278,"end_time":181.519},{"word":"component,","start_time":181.539,"end_time":181.72}],"alternatives":[],"language":"en"},{"transcript":" but there is a second use case.","confidence":0.6911428571428572,"words":[{"word":"but","start_time":182.605,"end_time":182.807},{"word":"there","start_time":183.21,"end_time":183.331},{"word":"is","start_time":183.352,"end_time":183.432},{"word":"a","start_time":183.473,"end_time":183.493},{"word":"second","start_time":183.594,"end_time":183.937},{"word":"use","start_time":184.078,"end_time":184.199},{"word":"case.","start_time":184.239,"end_time":184.32}],"alternatives":[],"language":"en"},{"transcript":" The first one was for unsigned uploads, but you can also upload signed assets.","confidence":0.7604285714285715,"words":[{"word":"The","start_time":184.761,"end_time":184.881},{"word":"first","start_time":184.901,"end_time":185.102},{"word":"one","start_time":185.202,"end_time":185.303},{"word":"was","start_time":185.704,"end_time":185.905},{"word":"for","start_time":185.965,"end_time":186.126},{"word":"unsigned","start_time":186.326,"end_time":186.808},{"word":"uploads,","start_time":186.868,"end_time":187.25},{"word":"but","start_time":187.812,"end_time":187.932},{"word":"you","start_time":187.972,"end_time":188.053},{"word":"can","start_time":188.093,"end_time":188.233},{"word":"also","start_time":188.394,"end_time":188.755},{"word":"upload","start_time":189.016,"end_time":189.377},{"word":"signed","start_time":189.618,"end_time":189.899},{"word":"assets.","start_time":189.959,"end_time":190.08}],"alternatives":[],"language":"en"},{"transcript":" For that, you need to use another prop of the component, Signature Endpoint.","confidence":0.8284615384615386,"words":[{"word":"For","start_time":191.268,"end_time":191.409},{"word":"that,","start_time":191.509,"end_time":191.749},{"word":"you","start_time":192.17,"end_time":192.311},{"word":"need","start_time":192.351,"end_time":192.531},{"word":"to","start_time":192.571,"end_time":192.671},{"word":"use","start_time":192.872,"end_time":193.012},{"word":"another","start_time":193.213,"end_time":193.613},{"word":"prop","start_time":193.714,"end_time":193.994},{"word":"of","start_time":194.095,"end_time":194.195},{"word":"the","start_time":194.215,"end_time":194.315},{"word":"component,","start_time":194.355,"end_time":194.876},{"word":"Signature","start_time":195.598,"end_time":196.139},{"word":"Endpoint.","start_time":196.32,"end_time":196.52}],"alternatives":[],"language":"en"},{"transcript":" This prop...","confidence":0.7585,"words":[{"word":"This","start_time":197.491,"end_time":197.675},{"word":"prop...","start_time":197.736,"end_time":197.94}],"alternatives":[],"language":"en"},{"transcript":" It's just a string that references the URL or location of an API endpoint that will perform","confidence":0.7296470588235294,"words":[{"word":"It's","start_time":198.411,"end_time":198.511},{"word":"just","start_time":198.611,"end_time":198.852},{"word":"a","start_time":198.932,"end_time":198.972},{"word":"string","start_time":199.013,"end_time":199.434},{"word":"that","start_time":199.675,"end_time":199.835},{"word":"references","start_time":199.976,"end_time":200.377},{"word":"the","start_time":200.417,"end_time":200.517},{"word":"URL","start_time":200.638,"end_time":200.999},{"word":"or","start_time":201.179,"end_time":201.26},{"word":"location","start_time":201.3,"end_time":201.821},{"word":"of","start_time":201.982,"end_time":202.062},{"word":"an","start_time":202.122,"end_time":202.182},{"word":"API","start_time":202.343,"end_time":202.804},{"word":"endpoint","start_time":202.945,"end_time":203.306},{"word":"that","start_time":203.828,"end_time":204.008},{"word":"will","start_time":204.088,"end_time":204.289},{"word":"perform","start_time":204.329,"end_time":204.63}],"alternatives":[],"language":"en"},{"transcript":" the Cloudinary signature process before uploading the asset.","confidence":0.8036250000000001,"words":[{"word":"the","start_time":205.337,"end_time":205.457},{"word":"Cloudinary","start_time":205.497,"end_time":206.1},{"word":"signature","start_time":206.14,"end_time":206.582},{"word":"process","start_time":206.622,"end_time":206.983},{"word":"before","start_time":207.264,"end_time":207.606},{"word":"uploading","start_time":207.686,"end_time":208.168},{"word":"the","start_time":208.349,"end_time":208.449},{"word":"asset.","start_time":208.469,"end_time":208.65}],"alternatives":[],"language":"en"},{"transcript":" For this demo, the endpoint is slash API slash sign Cloudinary params.","confidence":0.7698333333333333,"words":[{"word":"For","start_time":209.051,"end_time":209.191},{"word":"this","start_time":209.231,"end_time":209.392},{"word":"demo,","start_time":209.432,"end_time":209.753},{"word":"the","start_time":209.894,"end_time":210.014},{"word":"endpoint","start_time":210.155,"end_time":210.536},{"word":"is","start_time":210.737,"end_time":210.857},{"word":"slash","start_time":211.138,"end_time":211.459},{"word":"API","start_time":211.62,"end_time":212.122},{"word":"slash","start_time":212.342,"end_time":212.664},{"word":"sign","start_time":213.005,"end_time":213.346},{"word":"Cloudinary","start_time":213.466,"end_time":214.129},{"word":"params.","start_time":214.249,"end_time":214.47}],"alternatives":[],"language":"en"},{"transcript":" If you wonder how the endpoint looks, this is the code.","confidence":0.8059999999999999,"words":[{"word":"If","start_time":215.694,"end_time":215.774},{"word":"you","start_time":215.794,"end_time":215.935},{"word":"wonder","start_time":215.975,"end_time":216.317},{"word":"how","start_time":216.558,"end_time":216.8},{"word":"the","start_time":216.86,"end_time":216.981},{"word":"endpoint","start_time":217.142,"end_time":217.483},{"word":"looks,","start_time":217.524,"end_time":217.765},{"word":"this","start_time":218.187,"end_time":218.348},{"word":"is","start_time":218.408,"end_time":218.469},{"word":"the","start_time":218.509,"end_time":218.589},{"word":"code.","start_time":218.629,"end_time":218.73}],"alternatives":[],"language":"en"},{"transcript":" It's a plus server file inside the SvelteKit application that accepts POST requests.","confidence":0.6294615384615384,"words":[{"word":"It's","start_time":219.131,"end_time":219.211},{"word":"a","start_time":219.272,"end_time":219.312},{"word":"plus","start_time":219.392,"end_time":219.633},{"word":"server","start_time":219.673,"end_time":219.974},{"word":"file","start_time":219.994,"end_time":220.296},{"word":"inside","start_time":220.476,"end_time":220.858},{"word":"the","start_time":220.878,"end_time":220.958},{"word":"SvelteKit","start_time":220.978,"end_time":221.38},{"word":"application","start_time":221.4,"end_time":221.902},{"word":"that","start_time":222.424,"end_time":222.685},{"word":"accepts","start_time":222.825,"end_time":223.227},{"word":"POST","start_time":223.628,"end_time":223.769},{"word":"requests.","start_time":223.789,"end_time":223.949}],"alternatives":[],"language":"en"},{"transcript":" The code of this is out of the scope of this video.","confidence":0.7666666666666666,"words":[{"word":"The","start_time":225.094,"end_time":225.195},{"word":"code","start_time":225.235,"end_time":225.456},{"word":"of","start_time":225.496,"end_time":225.557},{"word":"this","start_time":225.617,"end_time":225.838},{"word":"is","start_time":226.342,"end_time":226.422},{"word":"out","start_time":226.684,"end_time":226.804},{"word":"of","start_time":226.845,"end_time":226.925},{"word":"the","start_time":226.945,"end_time":227.026},{"word":"scope","start_time":227.046,"end_time":227.307},{"word":"of","start_time":227.348,"end_time":227.408},{"word":"this","start_time":227.428,"end_time":227.549},{"word":"video.","start_time":227.589,"end_time":227.73}],"alternatives":[],"language":"en"},{"transcript":" but you can find the source code of this in the repository in github","confidence":0.7906428571428572,"words":[{"word":"but","start_time":228.271,"end_time":228.391},{"word":"you","start_time":228.412,"end_time":228.512},{"word":"can","start_time":228.552,"end_time":228.673},{"word":"find","start_time":228.753,"end_time":228.994},{"word":"the","start_time":229.015,"end_time":229.115},{"word":"source","start_time":229.195,"end_time":229.457},{"word":"code","start_time":229.497,"end_time":229.718},{"word":"of","start_time":229.798,"end_time":229.899},{"word":"this","start_time":230.02,"end_time":230.261},{"word":"in","start_time":230.723,"end_time":230.823},{"word":"the","start_time":230.864,"end_time":230.984},{"word":"repository","start_time":231.045,"end_time":231.708},{"word":"in","start_time":231.828,"end_time":231.889},{"word":"github","start_time":231.909,"end_time":232.15}],"alternatives":[],"language":"en"},{"transcript":" check the link down below with that ready time to test it","confidence":0.82025,"words":[{"word":"check","start_time":232.19,"end_time":232.814},{"word":"the","start_time":232.854,"end_time":232.954},{"word":"link","start_time":233.015,"end_time":233.216},{"word":"down","start_time":233.256,"end_time":233.437},{"word":"below","start_time":233.477,"end_time":233.718},{"word":"with","start_time":233.96,"end_time":234.141},{"word":"that","start_time":234.181,"end_time":234.342},{"word":"ready","start_time":234.462,"end_time":234.764},{"word":"time","start_time":235.287,"end_time":235.488},{"word":"to","start_time":235.528,"end_time":235.608},{"word":"test","start_time":235.669,"end_time":235.85},{"word":"it","start_time":235.87,"end_time":235.91}],"alternatives":[],"language":"en"},{"transcript":" let's go back to the browser and open the network panel","confidence":0.7195454545454545,"words":[{"word":"let's","start_time":236.596,"end_time":236.777},{"word":"go","start_time":236.818,"end_time":236.958},{"word":"back","start_time":237.039,"end_time":237.28},{"word":"to","start_time":237.36,"end_time":237.481},{"word":"the","start_time":237.501,"end_time":237.581},{"word":"browser","start_time":237.621,"end_time":238.064},{"word":"and","start_time":238.385,"end_time":238.486},{"word":"open","start_time":238.646,"end_time":238.867},{"word":"the","start_time":238.888,"end_time":238.968},{"word":"network","start_time":239.008,"end_time":239.169},{"word":"panel","start_time":239.189,"end_time":239.29}],"alternatives":[],"language":"en"},{"transcript":" so you can see how the widget will first hit the signature endpoint","confidence":0.8145384615384615,"words":[{"word":"so","start_time":240.077,"end_time":240.177},{"word":"you","start_time":240.217,"end_time":240.318},{"word":"can","start_time":240.358,"end_time":240.518},{"word":"see","start_time":240.558,"end_time":240.739},{"word":"how","start_time":240.86,"end_time":241.02},{"word":"the","start_time":241.081,"end_time":241.161},{"word":"widget","start_time":241.261,"end_time":241.623},{"word":"will","start_time":241.683,"end_time":241.884},{"word":"first","start_time":241.924,"end_time":242.165},{"word":"hit","start_time":242.225,"end_time":242.506},{"word":"the","start_time":242.727,"end_time":242.847},{"word":"signature","start_time":242.868,"end_time":243.289},{"word":"endpoint","start_time":243.309,"end_time":243.49}],"alternatives":[],"language":"en"},{"transcript":" choose an image open it and check the network","confidence":0.5656666666666667,"words":[{"word":"choose","start_time":244.733,"end_time":244.975},{"word":"an","start_time":244.995,"end_time":245.055},{"word":"image","start_time":245.076,"end_time":245.378},{"word":"open","start_time":245.961,"end_time":246.183},{"word":"it","start_time":246.223,"end_time":246.364},{"word":"and","start_time":246.666,"end_time":246.767},{"word":"check","start_time":246.827,"end_time":247.008},{"word":"the","start_time":247.029,"end_time":247.089},{"word":"network","start_time":247.109,"end_time":247.25}],"alternatives":[],"language":"en"},{"transcript":" the first step is to get the cloudinary signature","confidence":0.7471111111111112,"words":[{"word":"the","start_time":247.895,"end_time":247.976},{"word":"first","start_time":248.016,"end_time":248.218},{"word":"step","start_time":248.258,"end_time":248.5},{"word":"is","start_time":248.742,"end_time":248.803},{"word":"to","start_time":248.843,"end_time":248.923},{"word":"get","start_time":248.964,"end_time":249.085},{"word":"the","start_time":249.105,"end_time":249.165},{"word":"cloudinary","start_time":249.186,"end_time":249.528},{"word":"signature","start_time":249.549,"end_time":249.73}],"alternatives":[],"language":"en"},{"transcript":" using the sign-in upload.","confidence":0.40425,"words":[{"word":"using","start_time":254.823,"end_time":255.068},{"word":"the","start_time":255.109,"end_time":255.19},{"word":"sign-in","start_time":255.231,"end_time":255.455},{"word":"upload.","start_time":255.496,"end_time":255.618}],"alternatives":[],"language":"en"},{"transcript":" Now that you learned how to upload files using the Spell","confidence":0.672090909090909,"words":[{"word":"Now","start_time":256.442,"end_time":256.643},{"word":"that","start_time":256.704,"end_time":256.885},{"word":"you","start_time":256.945,"end_time":257.126},{"word":"learned","start_time":257.146,"end_time":257.469},{"word":"how","start_time":257.609,"end_time":257.811},{"word":"to","start_time":257.871,"end_time":257.992},{"word":"upload","start_time":258.133,"end_time":258.394},{"word":"files","start_time":258.455,"end_time":258.757},{"word":"using","start_time":258.837,"end_time":259.018},{"word":"the","start_time":259.039,"end_time":259.099},{"word":"Spell","start_time":259.119,"end_time":259.26}],"alternatives":[],"language":"en"},{"transcript":" Cloudinary, let's take this further.","confidence":0.3818,"words":[{"word":"Cloudinary,","start_time":259.341,"end_time":259.888},{"word":"let's","start_time":260.192,"end_time":260.314},{"word":"take","start_time":260.354,"end_time":260.517},{"word":"this","start_time":260.537,"end_time":260.618},{"word":"further.","start_time":260.638,"end_time":260.78}],"alternatives":[],"language":"en"},{"transcript":" In our next video, you'll learn how","confidence":0.6287142857142858,"words":[{"word":"In","start_time":261.082,"end_time":261.183},{"word":"our","start_time":261.426,"end_time":261.567},{"word":"next","start_time":261.648,"end_time":261.81},{"word":"video,","start_time":261.83,"end_time":262.093},{"word":"you'll","start_time":262.235,"end_time":262.437},{"word":"learn","start_time":262.457,"end_time":262.619},{"word":"how","start_time":262.639,"end_time":262.7}],"alternatives":[],"language":"en"},{"transcript":" to optimize images using the Spell Cloudinary library.","confidence":0.694375,"words":[{"word":"to","start_time":262.982,"end_time":263.123},{"word":"optimize","start_time":263.243,"end_time":263.646},{"word":"images","start_time":263.807,"end_time":264.129},{"word":"using","start_time":264.532,"end_time":264.753},{"word":"the","start_time":264.774,"end_time":264.834},{"word":"Spell","start_time":264.874,"end_time":265.116},{"word":"Cloudinary","start_time":265.136,"end_time":265.579},{"word":"library.","start_time":265.599,"end_time":265.74}],"alternatives":[],"language":"en"}]