{"id":53341,"date":"2025-05-01T14:26:27","date_gmt":"2025-05-01T04:26:27","guid":{"rendered":"https:\/\/www.cloudproinc.com.au\/?p=53341"},"modified":"2025-05-02T08:30:47","modified_gmt":"2025-05-01T22:30:47","slug":"building-a-blazor-net-app-that-recognizes-images-with-openai","status":"publish","type":"post","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/","title":{"rendered":"Building a Blazor .NET App that Recognizes Images with OpenAI"},"content":{"rendered":"\n<p>In this blog post, we\u2019ll show you how to Build a Blazor .NET App that Recognizes Images with OpenAI.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>You\u2019ll see how we securely upload image files, send them to OpenAI\u2019s API, and return a natural-language response\u2014seamlessly integrated into a modern web interface. This example highlights how CPI Consulting applies advanced AI to solve real-world business challenges through scalable, production-ready .NET solutions.<\/p>\n\n\n\n<p>At CPI Consulting, we specialize in building modern <a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/category\/net\/\">.NET<\/a> applications integrated with cutting-edge AI. In this post, we\u2019ll walk through how our internal Blazor Server app uses <a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/category\/openai\/\">OpenAI\u2019s<\/a> new GPT-4o model to describe image content\u2014demonstrating what&#8217;s possible when AI meets enterprise-grade development.<\/p>\n\n\n\n<p>This solution uploads an image, sends it to OpenAI, and returns a natural-language description of what\u2019s inside\u2014all from a user-friendly web interface.<\/p>\n\n\n\n<p>To see this application in action watch the<a href=\"https:\/\/www.youtube.com\/@CPIConsultingPtyLtd\" target=\"_blank\" rel=\"noreferrer noopener\"> YouTube<\/a> video of this post, <a href=\"https:\/\/www.youtube.com\/watch?v=6k7fFSV-tZo\">Building a Blazor .NET App that Recognizes Images with OpenAI<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Blazor  NET App that Recognizes Images with OpenAI\" width=\"1080\" height=\"810\" data-src=\"https:\/\/www.youtube.com\/embed\/6k7fFSV-tZo?feature=oembed\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-it-works\">\ud83e\udde0 How It Works<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A user selects an image in the Blazor UI.<\/li>\n\n\n\n<li>The C# code uploads the image to OpenAI using the API.<\/li>\n\n\n\n<li>A GPT-4o model processes the image and returns descriptive text.<\/li>\n\n\n\n<li>The Blazor app displays the result.<\/li>\n<\/ol>\n\n\n\n<p>This is powered by OpenAI\u2019s multimodal capability\u2014GPT-4o can interpret both text and images together in one context window.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd27 Key Components and Code<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">File Upload to OpenAI<\/h2>\n\n\n\n<p>To handle file uploads, we use OpenAI\u2019s official .NET SDK and wrap it in a reusable service. The snippet below shows how a file stream is uploaded using the Vision-specific <code>FileUploadPurpose<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-767c2d906840563b6af7979783ebcf30\"><code>var fileUploadResult = await fileClient.UploadFileAsync(\n    imageStream,\n    \"image.jpg\",\n    FileUploadPurpose.Vision\n);\n<\/code><\/pre>\n\n\n\n<p>We make sure to validate the file before uploading and catch exceptions for resilience in production scenarios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sending Image to GPT-4o<\/h2>\n\n\n\n<p>After uploading, the image is passed to the GPT-4o model using <code>OpenAIResponseClient<\/code>. We combine both text and image inputs into the same request:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-848256105cf0e76f88ac2f215a4e2800\"><code>var inputItems = new List<ResponseItem>\n{\n    ResponseItem.CreateUserMessageItem(new[]\n    {\n        ResponseContentPart.CreateInputTextPart(\"What is in this image?\"),\n        ResponseContentPart.CreateInputImagePart(uploadedFile.Id)\n    })\n};\n<\/code><\/pre>\n\n\n\n<p>The model responds with structured content:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-0a194fe13d601adf9eb3d70f6393881f\"><code>foreach (var outputItem in response.OutputItems)\n{\n    if (outputItem is MessageResponseItem message)\n        return message.Content.FirstOrDefault()?.Text ?? \"No response.\";\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udca1 Blazor Integration<\/h2>\n\n\n\n<p>On the frontend, we use <code>InputFile<\/code> to handle user uploads. The selected image is streamed directly into memory and passed to the backend service:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-49f67ac168193fbb43502c33b9d18bd1\"><code><InputFile OnChange=\"OnInputFileChange\" \/><\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-62db8ef92943db96e4adb6946856d7b3\"><code>private async Task OnInputFileChange(InputFileChangeEventArgs e)\n{\n    using var stream = e.File.OpenReadStream();\n    ResponseText = await imageService.RecognizeImageAsync(stream);\n}\n<\/code><\/pre>\n\n\n\n<p>This approach keeps the app lightweight, scalable, and secure.  Below you can see the Blazor interface. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"864\" height=\"482\" data-src=\"\/wp-content\/uploads\/2025\/05\/image.png\" alt=\"\" class=\"wp-image-53342 lazyload\" data-srcset=\"\/wp-content\/uploads\/2025\/05\/image.png 864w, \/wp-content\/uploads\/2025\/05\/image-300x167.png 300w, \/wp-content\/uploads\/2025\/05\/image-768x428.png 768w, \/wp-content\/uploads\/2025\/05\/image-480x268.png 480w\" data-sizes=\"(max-width: 864px) 100vw, 864px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 864px; --smush-placeholder-aspect-ratio: 864\/482;\" \/><\/figure>\n\n\n\n<p>Once uploading an image OpenAI gpt-4o retunrs the object description<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"900\" height=\"209\" data-src=\"\/wp-content\/uploads\/2025\/05\/image-1.png\" alt=\"\" class=\"wp-image-53343 lazyload\" data-srcset=\"\/wp-content\/uploads\/2025\/05\/image-1.png 900w, \/wp-content\/uploads\/2025\/05\/image-1-300x70.png 300w, \/wp-content\/uploads\/2025\/05\/image-1-768x178.png 768w, \/wp-content\/uploads\/2025\/05\/image-1-480x111.png 480w\" data-sizes=\"(max-width: 900px) 100vw, 900px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 900px; --smush-placeholder-aspect-ratio: 900\/209;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf0d Use Cases<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Retail &amp; eCommerce<\/strong>: Automated product tagging.<\/li>\n\n\n\n<li><strong>Security &amp; Compliance<\/strong>: Flagging restricted content in uploads.<\/li>\n\n\n\n<li><strong>Accessibility<\/strong>: Generating alt-text for screen readers.<\/li>\n\n\n\n<li><strong>Legal<\/strong>: Describing evidence or document images.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-let-s-build-it-together\"><strong>Let\u2019s Build It Together<\/strong><\/h2>\n\n\n\n<p>Need to add vision capabilities to your .NET applications? Contact CPI Consulting and let\u2019s build something powerful.<\/p>\n\n\n<div class=\"wpforms-container wpforms-container-full wpforms-block wpforms-block-492f94fa-5fb3-4e21-bb3f-86fe28ee6702 wpforms-render-modern\" id=\"wpforms-53280\"><form id=\"wpforms-form-53280\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"53280\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/index.php\/wp-json\/wp\/v2\/posts\/53341\" data-token=\"5aefd7d372f035a985690b827bca6e91\" data-token-time=\"1775642654\"><noscript class=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/noscript><div id=\"wpforms-error-noscript\" style=\"display: none;\">Please enable JavaScript in your browser to complete this form.<\/div><div class=\"wpforms-field-container\"><div id=\"wpforms-53280-field_1-container\" class=\"wpforms-field wpforms-field-name\" data-field-id=\"1\"><fieldset><legend class=\"wpforms-field-label\">Name <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><div class=\"wpforms-field-row wpforms-field-medium\"><div class=\"wpforms-field-row-block wpforms-first wpforms-one-half\"><input type=\"text\" id=\"wpforms-53280-field_1\" class=\"wpforms-field-name-first wpforms-field-required\" name=\"wpforms[fields][1][first]\" aria-errormessage=\"wpforms-53280-field_1-error\" required><label for=\"wpforms-53280-field_1\" class=\"wpforms-field-sublabel after\">First<\/label><\/div><div class=\"wpforms-field-row-block wpforms-one-half\"><input type=\"text\" id=\"wpforms-53280-field_1-last\" class=\"wpforms-field-name-last wpforms-field-required\" name=\"wpforms[fields][1][last]\" aria-errormessage=\"wpforms-53280-field_1-last-error\" required><label for=\"wpforms-53280-field_1-last\" class=\"wpforms-field-sublabel after\">Last<\/label><\/div><\/div><\/fieldset><\/div>\t\t<div id=\"wpforms-53280-field_4-container\"\n\t\t\tclass=\"wpforms-field wpforms-field-text\"\n\t\t\tdata-field-type=\"text\"\n\t\t\tdata-field-id=\"4\"\n\t\t\t>\n\t\t\t<label class=\"wpforms-field-label\" for=\"wpforms-53280-field_4\" >Email Comment Message<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-53280-field_4\" class=\"wpforms-field-medium\" name=\"wpforms[fields][4]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-53280-field_2-container\" class=\"wpforms-field wpforms-field-email\" data-field-id=\"2\"><label class=\"wpforms-field-label\" for=\"wpforms-53280-field_2\">Email <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-53280-field_2\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][2]\" spellcheck=\"false\" aria-errormessage=\"wpforms-53280-field_2-error\" required><\/div><div id=\"wpforms-53280-field_3-container\" class=\"wpforms-field wpforms-field-textarea\" data-field-id=\"3\"><label class=\"wpforms-field-label\" for=\"wpforms-53280-field_3\">Comment or Message <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><textarea id=\"wpforms-53280-field_3\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][3]\" aria-errormessage=\"wpforms-53280-field_3-error\" required><\/textarea><\/div><script>\n\t\t\t\t( function() {\n\t\t\t\t\tconst style = document.createElement( 'style' );\n\t\t\t\t\tstyle.appendChild( document.createTextNode( '#wpforms-53280-field_4-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-53280-field_4-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-53280-field_4-container label { counter-increment: none; }' ) );\n\t\t\t\t\tdocument.head.appendChild( style );\n\t\t\t\t\tdocument.currentScript?.remove();\n\t\t\t\t} )();\n\t\t\t<\/script><\/div><!-- .wpforms-field-container --><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"53280\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/53341\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-53280\" class=\"wpforms-submit\" data-alt-text=\"Sending...\" data-submit-text=\"Submit\" aria-live=\"assertive\" value=\"wpforms-submit\">Submit<\/button><img decoding=\"async\" data-src=\"\/wp-content\/plugins\/wpforms-lite\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner lazyload\" style=\"--smush-placeholder-width: 26px; --smush-placeholder-aspect-ratio: 26\/26;display: none;\" width=\"26\" height=\"26\" alt=\"Loading\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/div><\/form><\/div>  <!-- .wpforms-container -->\n\n\n<ul class=\"wp-block-yoast-seo-related-links yoast-seo-related-links\">\n<li><a href=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/02\/15\/how-to-add-bootstrap-to-a-net-blazor-9-web-application\/\">How to Add Bootstrap to a .NET Blazor 9 Web Application<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2024\/07\/25\/deploy-azure-openai-gpt-4o-resource-and-model-using-bicep\/\">Deploy Azure OpenAI GPT-4o Resource and Model using Bicep<\/a><\/li>\n\n\n\n<li><a href=\"null\">Increase PHPMyAdmin Upload Size Limit on Azure Web App<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/01\/28\/running-c-net-applications-in-azure-devops-pipelines\/\">Running C# .NET Applications in Azure DevOps Pipelines<\/a><\/li>\n\n\n\n<li><a href=\"null\">Generate DALL-E Images with .NET C# Console Application<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post, we\u2019ll show you how to Build a Blazor .NET App that Recognizes Images with OpenAI.<\/p>\n","protected":false},"author":1,"featured_media":53344,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"Building a Blazor .NET App that Recognizes Images with OpenAI","_yoast_wpseo_title":"%%page%% %%sep%% %%sitename%% Building a Blazor .NET App that Recognizes Images with OpenAI","_yoast_wpseo_metadesc":"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[27,24,67,13,28,53],"tags":[],"class_list":["post-53341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net","category-ai","category-blazor","category-blog","category-c","category-openai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>- CPI Consulting Building a Blazor .NET App that Recognizes Images with OpenAI<\/title>\n<meta name=\"description\" content=\"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a Blazor .NET App that Recognizes Images with OpenAI\" \/>\n<meta property=\"og:description\" content=\"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/\" \/>\n<meta property=\"og:site_name\" content=\"CPI Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-01T04:26:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-01T22:30:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudproinc.azurewebsites.net\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"653\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"CPI Staff\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"CPI Staff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/\"},\"author\":{\"name\":\"CPI Staff\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\"},\"headline\":\"Building a Blazor .NET App that Recognizes Images with OpenAI\",\"datePublished\":\"2025-05-01T04:26:27+00:00\",\"dateModified\":\"2025-05-01T22:30:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/\"},\"wordCount\":474,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png\",\"articleSection\":[\".NET\",\"AI\",\"Blazor\",\"Blog\",\"C#\",\"OpenAI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/\",\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/\",\"name\":\"- CPI Consulting Building a Blazor .NET App that Recognizes Images with OpenAI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png\",\"datePublished\":\"2025-05-01T04:26:27+00:00\",\"dateModified\":\"2025-05-01T22:30:47+00:00\",\"description\":\"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#primaryimage\",\"url\":\"\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png\",\"width\":1020,\"height\":653},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/05\\\/01\\\/building-a-blazor-net-app-that-recognizes-images-with-openai\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Blazor .NET App that Recognizes Images with OpenAI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#website\",\"url\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\",\"name\":\"Cloud Pro Inc - CPI Consulting Pty Ltd\",\"description\":\"Cloud, AI &amp; Cybersecurity Consulting | Melbourne\",\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\",\"name\":\"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd\",\"url\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/favfinalfile.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/favfinalfile.png\",\"width\":500,\"height\":500,\"caption\":\"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\",\"name\":\"CPI Staff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"caption\":\"CPI Staff\"},\"sameAs\":[\"http:\\\/\\\/www.cloudproinc.com.au\"],\"url\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/index.php\\\/author\\\/cpiadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"- CPI Consulting Building a Blazor .NET App that Recognizes Images with OpenAI","description":"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/","og_locale":"en_US","og_type":"article","og_title":"Building a Blazor .NET App that Recognizes Images with OpenAI","og_description":"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.","og_url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/","og_site_name":"CPI Consulting","article_published_time":"2025-05-01T04:26:27+00:00","article_modified_time":"2025-05-01T22:30:47+00:00","og_image":[{"width":1020,"height":653,"url":"https:\/\/cloudproinc.azurewebsites.net\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png","type":"image\/png"}],"author":"CPI Staff","twitter_card":"summary_large_image","twitter_misc":{"Written by":"CPI Staff","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#article","isPartOf":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/"},"author":{"name":"CPI Staff","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e"},"headline":"Building a Blazor .NET App that Recognizes Images with OpenAI","datePublished":"2025-05-01T04:26:27+00:00","dateModified":"2025-05-01T22:30:47+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/"},"wordCount":474,"commentCount":0,"publisher":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization"},"image":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png","articleSection":[".NET","AI","Blazor","Blog","C#","OpenAI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/","url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/","name":"- CPI Consulting Building a Blazor .NET App that Recognizes Images with OpenAI","isPartOf":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#primaryimage"},"image":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png","datePublished":"2025-05-01T04:26:27+00:00","dateModified":"2025-05-01T22:30:47+00:00","description":"Learn to build a Blazor .NET app that recognizes images with OpenAI GPT-4o. Discover secure file uploads and API integration.","breadcrumb":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#primaryimage","url":"\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png","contentUrl":"\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png","width":1020,"height":653},{"@type":"BreadcrumbList","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/05\/01\/building-a-blazor-net-app-that-recognizes-images-with-openai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudproinc.azurewebsites.net\/"},{"@type":"ListItem","position":2,"name":"Building a Blazor .NET App that Recognizes Images with OpenAI"}]},{"@type":"WebSite","@id":"https:\/\/cloudproinc.azurewebsites.net\/#website","url":"https:\/\/cloudproinc.azurewebsites.net\/","name":"Cloud Pro Inc - CPI Consulting Pty Ltd","description":"Cloud, AI &amp; Cybersecurity Consulting | Melbourne","publisher":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudproinc.azurewebsites.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization","name":"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd","url":"https:\/\/cloudproinc.azurewebsites.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/logo\/image\/","url":"\/wp-content\/uploads\/2022\/01\/favfinalfile.png","contentUrl":"\/wp-content\/uploads\/2022\/01\/favfinalfile.png","width":500,"height":500,"caption":"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd"},"image":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e","name":"CPI Staff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","caption":"CPI Staff"},"sameAs":["http:\/\/www.cloudproinc.com.au"],"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/author\/cpiadmin\/"}]}},"jetpack_featured_media_url":"\/wp-content\/uploads\/2025\/05\/Building-a-Blazor-NET-App-that-Recognizes-Images-with-OpenAI-e1746073555343.png","jetpack-related-posts":[{"id":53293,"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/04\/25\/openai-gpt-image-1-blazor-net-image-generator-web-app\/","url_meta":{"origin":53341,"position":0},"title":"OpenAI GPT-Image-1 Blazor .NET Image Generator Web App","author":"CPI Staff","date":"April 25, 2025","format":false,"excerpt":"In this blog post, we will present the OpenAI GPT-Image-1 Blazor .NET Image Generator Web App, a tool designed to demonstrate the capabilities of OpenAI's latest image generation API. \u00a0What Does the Web App Do? This Blazor-based web application leverages OpenAI's GPT-Image-1 model to generate stunning, high-quality images based on\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/04\/OpenAI-GPT-image-1-image-API.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/04\/OpenAI-GPT-image-1-image-API.png 1x, \/wp-content\/uploads\/2025\/04\/OpenAI-GPT-image-1-image-API.png 1.5x, \/wp-content\/uploads\/2025\/04\/OpenAI-GPT-image-1-image-API.png 2x"},"classes":[]},{"id":53378,"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/05\/13\/publish-a-blazor-net-app-with-vs-code-to-azure\/","url_meta":{"origin":53341,"position":1},"title":"Publish a Blazor .NET App With VS Code to Azure","author":"CPI Staff","date":"May 13, 2025","format":false,"excerpt":"In this Microsoft Azure blog post, we\u2019ll walk through how to publish a Blazor .NET app using Visual Studio Code (VS Code) to Azure. VS Code, with its rich ecosystem of extensions and integrations, is more than just a code editor. It enables developers to build, test, integrate, and deploy\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png 1x, \/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png 1.5x, \/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png 2x"},"classes":[]},{"id":53420,"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/06\/25\/containerize-a-blazor-net-application\/","url_meta":{"origin":53341,"position":2},"title":"Containerize a Blazor .NET Application","author":"CPI Staff","date":"June 25, 2025","format":false,"excerpt":"In this blog post, we will show you how to containerize a Blazor .NET application using native tools\u2014without relying on third-party scripts or complex setups. Microsoft .NET is one of the most popular development frameworks today, offering a wide range of deployment options. Running applications in containers and adopting microservices\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 1x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 1.5x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 2x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 3x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 4x"},"classes":[]},{"id":53359,"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/05\/05\/customizing-a-blazor-9-web-app-add-a-logo-and-change-the-sidebar-color\/","url_meta":{"origin":53341,"position":3},"title":"Customizing a Blazor 9 Web App: Add a Logo and Change the Sidebar Color","author":"CPI Staff","date":"May 5, 2025","format":false,"excerpt":"Blazor 9 introduces a powerful, component-driven architecture that makes it easier than ever to build interactive and modern web applications using .NET. In this tutorial, we'll walk you through how to personalize your Blazor web app by adding a custom logo and changing the sidebar color to give your app\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 1x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 1.5x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 2x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 3x, \/wp-content\/uploads\/2025\/05\/Add-bootstrap-logo.png 4x"},"classes":[]},{"id":53240,"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/04\/22\/build-a-blazor-web-app-to-translate-text-with-openai-gpt-4o\/","url_meta":{"origin":53341,"position":4},"title":"Build a Blazor Web App to Translate Text with OpenAI GPT-4o","author":"CPI Staff","date":"April 22, 2025","format":false,"excerpt":"In this OpenAI .NET blog post, we will demonstrate how to create a web application running on Blazor that translates text using GPT-4o. With the official OpenAI .NET library, it is possible to leverage the entire OpenAI API, including the latest Responses API. This post will guide you in creating\u2026","rel":"","context":"In &quot;Blazor&quot;","block_context":{"text":"Blazor","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/category\/blazor\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/04\/Translate-Text-With-OpenAI-and-Blazor-.NET-WebApp.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/04\/Translate-Text-With-OpenAI-and-Blazor-.NET-WebApp.png 1x, \/wp-content\/uploads\/2025\/04\/Translate-Text-With-OpenAI-and-Blazor-.NET-WebApp.png 1.5x, \/wp-content\/uploads\/2025\/04\/Translate-Text-With-OpenAI-and-Blazor-.NET-WebApp.png 2x, \/wp-content\/uploads\/2025\/04\/Translate-Text-With-OpenAI-and-Blazor-.NET-WebApp.png 3x, \/wp-content\/uploads\/2025\/04\/Translate-Text-With-OpenAI-and-Blazor-.NET-WebApp.png 4x"},"classes":[]},{"id":53101,"url":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/02\/15\/how-to-add-bootstrap-to-a-net-blazor-9-web-application\/","url_meta":{"origin":53341,"position":5},"title":"How to Add Bootstrap to a .NET Blazor 9 Web Application","author":"CPI Staff","date":"February 15, 2025","format":false,"excerpt":"In this Blazor .NET blog post, we will show how to add Bootstrap to a .NET 9 Blazor application and leverage the most popular CSS framework. Adding Bootstrap to .NET Blazor 9 Web Application can enhance your development experience. What is Bootstrap? Bootstrap is a powerful, open-source front-end framework developed\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 1x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 1.5x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 2x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 3x, \/wp-content\/uploads\/2025\/02\/How-to-Add-Bootstrap-to-a-.NET-Blazor-9-Web-Application.webp 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/53341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/comments?post=53341"}],"version-history":[{"count":1,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/53341\/revisions"}],"predecessor-version":[{"id":53345,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/posts\/53341\/revisions\/53345"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/media\/53344"}],"wp:attachment":[{"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/media?parent=53341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/categories?post=53341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudproinc.azurewebsites.net\/index.php\/wp-json\/wp\/v2\/tags?post=53341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}