{"id":3713,"date":"2024-01-13T07:30:01","date_gmt":"2024-01-13T07:30:01","guid":{"rendered":"https:\/\/jamiemaguire.net\/?p=3713"},"modified":"2024-01-07T12:22:49","modified_gmt":"2024-01-07T12:22:49","slug":"bulk-alt-text-generation-using-azure-ai-services","status":"publish","type":"post","link":"https:\/\/jamiemaguire.net\/index.php\/2024\/01\/13\/bulk-alt-text-generation-using-azure-ai-services\/","title":{"rendered":"Bulk Alt Text Generation using Azure AI Services"},"content":{"rendered":"<p>I recently hacked together a solution using ASP.NET, Azure AI services, and some help from Chat GPT to refine JavaScript.<\/p>\n<p>Here is how to use it:<\/p>\n<p style=\"padding-left: 40px;\">1.\u00a0 Get your Computer Vision API Key and Endpoint URL from the Azure Portal.<\/p>\n<p style=\"padding-left: 40px;\">2.\u00a0 Plug API key and endpoint URL into the controller.<\/p>\n<p style=\"padding-left: 40px;\">3.\u00a0 Run the application.<\/p>\n<p style=\"padding-left: 40px;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3717 alignnone\" src=\"https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3.png\" width=\"564\" height=\"282\" srcset=\"https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3.png 1926w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3-750x375.png 750w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3-1400x701.png 1400w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3-768x384.png 768w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3-1536x769.png 1536w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3-816x408.png 816w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-3-400x200.png 400w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/p>\n<p style=\"padding-left: 40px;\">4.\u00a0 Add as many images as you want.<\/p>\n<p style=\"padding-left: 40px;\"><img loading=\"lazy\" decoding=\"async\" width=\"1926\" height=\"964\" class=\"alignnone wp-image-3718 size-full\" src=\"https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4.png\" srcset=\"https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4.png 1926w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4-750x375.png 750w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4-1400x701.png 1400w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4-768x384.png 768w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4-1536x769.png 1536w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4-816x408.png 816w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-4-400x200.png 400w\" sizes=\"auto, (max-width: 1926px) 100vw, 1926px\" \/><\/p>\n<p style=\"padding-left: 40px;\">5.\u00a0 Click upload and File containing alt-text for each is created:<\/p>\n<p style=\"padding-left: 40px;\"><img loading=\"lazy\" decoding=\"async\" width=\"1926\" height=\"964\" class=\"alignnone wp-image-3719 size-full\" src=\"https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5.png\" srcset=\"https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5.png 1926w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5-750x375.png 750w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5-1400x701.png 1400w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5-768x384.png 768w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5-1536x769.png 1536w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5-816x408.png 816w, https:\/\/jamiemaguire.net\/wp-content\/uploads\/2024\/01\/Pasted-5-400x200.png 400w\" sizes=\"auto, (max-width: 1926px) 100vw, 1926px\" \/><\/p>\n<p style=\"text-align: center;\">~<\/p>\n<p>That&#8217;s it.<\/p>\n<p>I had some issues with certain JS events not firing and occasionally the server side does not always fetch &gt; 1 file if the drag and drop feature is used.<\/p>\n<p>Using the file dialogue for multiple files behaves as expected.<\/p>\n<p>The code available over on GitHub <a href=\"https:\/\/github.com\/jamiemaguiredotnet\/AltTextGenerator\/tree\/master\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently hacked together a solution using ASP.NET, Azure AI services, and some help from Chat GPT to refine JavaScript. Here is how to use it: 1.\u00a0 Get your Computer Vision API Key and Endpoint&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3714,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[81,59,110,6,101,85],"tags":[],"class_list":["post-3713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-asp-net-core","category-azure-ai-services","category-c","category-chat-gpt","category-computer-vision"],"_links":{"self":[{"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/posts\/3713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/comments?post=3713"}],"version-history":[{"count":0,"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/posts\/3713\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/media\/3714"}],"wp:attachment":[{"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/media?parent=3713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/categories?post=3713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jamiemaguire.net\/index.php\/wp-json\/wp\/v2\/tags?post=3713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}