{"id":3874,"date":"2017-05-10T00:00:00","date_gmt":"2017-05-10T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis"},"modified":"2025-06-19T02:37:33","modified_gmt":"2025-06-19T09:37:33","slug":"at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/","title":{"rendered":"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>This blog post was authored by the Microsoft Cognitive Services Team.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of communication.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Today at the Build 2017 conference, we are excited to announce the next big wave of innovation for Microsoft Cognitive Services, significantly increasing the value for developers looking to embrace AI and build the next generation of applications.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><strong>Customizable:<\/strong> With the addition of <a href=\"https:\/\/aka.ms\/bcsearch\">Bing Custom Search<\/a>, <a href=\"https:\/\/aka.ms\/cvisionservice\">Custom Vision Service<\/a> and <a href=\"https:\/\/aka.ms\/cdservice\">Custom Decision Service<\/a> on top of Custom Speech and Language Understanding Intelligent Service, we now have a broader set of custom AI APIs available, allowing customers to use their own data with algorithms that are customized for their specific needs.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Cutting edge technologies:<\/strong> Today we are launching <a href=\"https:\/\/aka.ms\/cslabs\">Microsoft\u2019s Cognitive Services Labs<\/a>, which allow any developer to take part in the broader research community\u2019s quest to better understand the future of cognitive computing, by experimenting with new services still in the early stages of development. One of the first AI services being made available via our Cognitive Services Labs is Project Prague,\u00a0 which lets you use gestures to control and interact with technologies to have more intuitive and natural experiences.\u00a0 This cutting edge and easy to use SDK is in private preview.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>High pace of innovation:<\/strong> We\u2019re expanding our Cognitive Services portfolio to 29 intelligent APIs with the addition of <a href=\"https:\/\/aka.ms\/vindexer\">Video Indexer<\/a>, <a href=\"https:\/\/aka.ms\/cdservice\">Custom Decision Service<\/a>, <a href=\"https:\/\/aka.ms\/bcsearch\">Bing Custom Search<\/a>, and <a href=\"https:\/\/aka.ms\/cvisionservice\">Custom Vision Service<\/a>, along with the new Cognitive Services Lab Project Prague, for gestures, and updates to our existing Cognitive Services, such as Bing Search, Microsoft Translator and Language Understanding Intelligent Service.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Today, 568,000+ developers from more than 60 of countries are using Microsoft Cognitive Services that allow systems to see, hear, speak, understand and interpret our needs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-are-the-capabilities-of-these-new-services\">What are the capabilities of these new services?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/aka.ms\/cvisionservice\">Custom Vision Service<\/a>, available today in free public preview, is an easy-to-use, customizable web service that learns to recognize specific content in imagery, powered by state-of-the-art machine learning neural networks that become smarter with training. You can train it to recognize whatever you choose, whether that be animals, objects, or abstract symbols. This technology could easily apply to retail environments for machine-assisted product identification, or in digital space to automatically help sorting categories of pictures.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/aka.ms\/vindexer\">Video Indexer<\/a>, available today in free public preview, is one of the industry\u2019s most comprehensive video AI services. It helps you unlock insights from any video by indexing and enabling you to search spoken audio that is transcribed and translated, sentiment, faces that appeared and objects. With these insights, you can improve discoverability of videos in your applications or increase user engagement by embedding this capability in sites. All of these capabilities are available through a simple set of APIs, ready to use widgets and a management portal.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/aka.ms\/cdservice\">Custom Decision Service<\/a>, available today in free public preview, is a service that helps you create intelligent systems with a cloud-based contextual decision-making API that adapts with experience. Custom Decision service uses reinforcement learning in a new approach for personalizing content; it\u2019s able to plug into your application and helps to make decisions in real time as it automatically adapts to optimize your metrics over time.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/aka.ms\/bcsearch\">Bing Custom Search<\/a>, available today in free public preview, lets you create a highly-customized web search experience, which delivers better and more relevant results from your targeted web space. Featuring a straightforward User Interface, Bing Custom Search enables you to create your own web search service without a line of code. Specify the slices of the web that you want to draw from and explore site suggestions to intelligently expand the scope of your search domain. Bing Custom Search can empower businesses of any size, hobbyists and entrepreneurs to design and deploy web search applications for any possible scenario.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/aka.ms\/cslabs\">Microsoft\u2019s Cognitive Services Labs<\/a> allow any developer to experiment with new services still in the early stages of development. Among them, <strong>Project Prague<\/strong> is one of the services currently in private preview. This SDK is built from an intensive library of hand poses that creates more intuitive experiences by allowing users to control and interact with technologies through typical hand movements. Using a special camera to record the gestures, the API then recognizes the formation of the hand and allows the developer to tie in-app actions to each gesture.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Next version of Bing APIs,<\/strong> available in public preview, allowing developers to bring the vast knowledge of the web to their users and benefit from improved performance, new sorting and filtering options, robust documentation, and easy Quick Start guides. This release includes the full suite of Bing Search APIs (Bing Web Search API Preview, Bing News Search API Preview, Bing Video Search API Preview, and Bing Image Search API Preview), Bing Autosuggest API Preview, and Bing Spell Check API Preview. Please find more information in the <a href=\"https:\/\/aka.ms\/bingbuildblog\">announcement blog<\/a>.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Presentation Translator, a Microsoft Garage project<\/strong> provides presenters the ability to add subtitles to their presentations, in the same language for accessibility scenarios or in another language for multi-language situations. Audience members get subtitles in their desired language on their own device through the Microsoft Translator app, <a href=\"https:\/\/na01.safelinks.protection.outlook.com\/?url=http%3A%2F%2Ftranslate.it%2F&amp;data=02%7C01%7Cv-canmo%40microsoft.com%7C79faae908fd84fac957b08d497368268%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636299707768069177&amp;sdata=l0HwSpcNMD2dss9XtKPbgMZT1bcikXJThiiTZhinp7s%3D&amp;reserved=0\">in a browser<\/a> and (optionally) translate the slides while preserving their formatting. <a href=\"https:\/\/www.aka.ms\/TranslatorPowerPoint\">Click here<\/a> to be notified when it\u2019s available.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Language Understanding Intelligent Service (LUIS)<\/strong> improvements &#8211; helps developers integrate language models that understand users quickly and easily, using either prebuilt or customized models. Updates to LUIS include increased intents and entities, introduction of new powerful developer tools for productivity, additional ways for the community to use and contribute, improved speech recognition with Microsoft Bot Framework, and more global availability.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s take a closer look at what these new APIs and Services can do for you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bring-custom-vision-to-your-app\">Bring custom vision to your app<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Thank to Custom Vision Service, it becomes pretty easy to create your own image recognition service. You can use the\u00a0<a href=\"https:\/\/www.customvision.ai\/\">Custom Vision Service Portal<\/a>\u00a0to upload a series of images to train your classifier and a few images to test it after the classifier is trained.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.webp\" alt=\"graphical user interface, text, application, chat or text message\" class=\"wp-image-10607 webp-format\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s also possible to code each step: let\u2019s say I need to quickly create my image classifier for a specific need, this can be products my users are uploading on my website, retail merchandize or even animal images in a forest.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">To get started, I would need the Custom Vision API, which can be found with this SDK. I need to create a console application and prepare the training key &amp; the images needed for the example<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">I can start with Visual Studio to create a new Console Application, and replace the contents of Program.cs with the following code. This code defines and calls two helper methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">The method called GetTrainingKey prepares the training key.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">The one called LoadImagesFromDisk loads two sets of images that this example uses to train the project, and one test image that the example loads to demonstrate the use of the default prediction endpoint.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Threading;\nusing Microsoft.Cognitive.CustomVision;\n\nnamespace SmokeTester\n{\n    class Program\n    {\n        private static List hemlockImages;\n\n        private static List japaneseCherryImages;\n\n        private static MemoryStream testImage;\n\n        static void Main(string[] args)\n        {\n            \/\/ You can either add your training key here, pass it on the command line, or type it in when the program runs\n            string trainingKey = GetTrainingKey(\"\", args);\n\n            \/\/ Create the Api, passing in a credentials object that contains the training key\n            TrainingApiCredentials trainingCredentials = new TrainingApiCredentials(trainingKey);\n            TrainingApi trainingApi = new TrainingApi(trainingCredentials);\n\n            \/\/ Upload the images we need for training and the test image\n            Console.WriteLine(\"tUploading images\");\n            LoadImagesFromDisk();\n        }\n\n        private static string GetTrainingKey(string trainingKey, string[] args)\n        {\n            if (string.IsNullOrWhiteSpace(trainingKey) || trainingKey.Equals(\"\"))\n            {\n                if (args.Length >= 1)\n                {\n                    trainingKey = args[0];\n                }\n\n                while (string.IsNullOrWhiteSpace(trainingKey) || trainingKey.Length != 32)\n                {\n                    Console.Write(\"Enter your training key: \");\n                    trainingKey = Console.ReadLine();\n                }\n                Console.WriteLine();\n            }\n\n            return trainingKey;\n        }\n\n        private static void LoadImagesFromDisk()\n        {\n            \/\/ this loads the images to be uploaded from disk into memory\n            hemlockImages = Directory.GetFiles(@\"..........SampleImagesHemlock\").Select(f => new MemoryStream(File.ReadAllBytes(f))).ToList();\n            japaneseCherryImages = Directory.GetFiles(@\"..........SampleImagesJapanese Cherry\").Select(f => new MemoryStream(File.ReadAllBytes(f))).ToList();\n            testImage = new MemoryStream(File.ReadAllBytes(@\"..........SampleImagesTesttest_image.jpg\"));\n\n        }\n    }\n}\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">As next step, I would need to Create a Custom Vision Service project, adding the following code in the Main() method after the call to\u00a0<strong>LoadImagesFromDisk().<\/strong><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\/\/ Create a new project\n            Console.WriteLine(\"Creating new project:\");\n            var project = trainingApi.CreateProject(\"My New Project\");\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Next, I need to add tags to my project by insert the following code after the call to\u00a0<strong>CreateProject()<\/strong><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\/\/ Make two tags in the new project\n            var hemlockTag = trainingApi.CreateTag(project.Id, \"Hemlock\");\n            var japaneseCherryTag = trainingApi.CreateTag(project.Id, \"Japanese Cherry\");\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Then, I need to Upload images in memory to the project, by inserting the following code at the end of the\u00a0<strong>Main()\u00a0<\/strong>method:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\/\/ Images can be uploaded one at a time\n            foreach (var image in hemlockImages)\n            {\n                trainingApi.CreateImagesFromData(project.Id, image, new List() { hemlockTag.Id.ToString() });\n            }\n\n            \/\/ Or uploaded in a single batch \n            trainingApi.CreateImagesFromData(project.Id, japaneseCherryImages, new List() { japaneseCherryTag.Id });\n \n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Now that I\u2019ve added tags and images to the project, I can train it. I would need to insert the following code at the end of\u00a0<strong>Main().<\/strong>\u00a0This creates the first iteration in the project. I can then mark this iteration as the default iteration.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\/\/ Now there are images with tags start training the project\n            Console.WriteLine(\"tTraining\");\n            var iteration = trainingApi.TrainProject(project.Id);\n\n            \/\/ The returned iteration will be in progress, and can be queried periodically to see when it has completed\n            while (iteration.Status == \"Training\")\n            {\n                Thread.Sleep(1000);\n\n                \/\/ Re-query the iteration to get it's updated status\n                iteration = trainingApi.GetIteration(project.Id, iteration.Id);\n            }\n\n            \/\/ The iteration is now trained. Make it the default project endpoint\n            iteration.IsDefault = true;\n            trainingApi.UpdateIteration(project.Id, iteration.Id, iteration);\n            Console.WriteLine(\"Done!n\");\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">As I\u2019m now ready to use the model for prediction, I first obtain the endpoint associated with the default iteration; then I send a test image to the project using that endpoint. Insert the code below at the end of\u00a0<strong>Main().<\/strong><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\/\/ Now there is a trained endpoint, it can be used to make a prediction\n\n            \/\/ Get the prediction key, which is used in place of the training key when making predictions\n            var account = trainingApi.GetAccountInfo();\n            var predictionKey = account.Keys.PredictionKeys.PrimaryKey;\n\n            \/\/ Create a prediction endpoint, passing in a prediction credentials object that contains the obtained prediction key\n            PredictionEndpointCredentials predictionEndpointCredentials = new PredictionEndpointCredentials(predictionKey);\n            PredictionEndpoint endpoint = new PredictionEndpoint(predictionEndpointCredentials);\n\n            \/\/ Make a prediction against the new project\n            Console.WriteLine(\"Making a prediction:\");\n            var result = endpoint.PredictImage(project.Id, testImage);\n\n            \/\/ Loop over each prediction and write out the results\n            foreach (var c in result.Predictions)\n            {\n                Console.WriteLine($\"t{c.Tag}: {c.Probability:P1}\");\n            }\n\n            Console.ReadKey();\n\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Last step, let\u2019s build and run the solution: the prediction results appear on the console.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For more information about&nbsp;<strong>Custom Vision Service<\/strong>, please take a look at the following resources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">The Custom Vision Service\u00a0<a href=\"https:\/\/www.customvision.ai\/\">portal<\/a>\u00a0and\u00a0<a href=\"https:\/\/aka.ms\/cvisionservice\">webpage<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\">The full\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/custom-vision-service\/home#custom-vision-service-brings-the-power-of-machine-learning-to-your-apps\">get started guides<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"personalization-of-your-site-with-custom-decision-service\">Personalization of your site with Custom Decision Service<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With Custom Decision Service, you can personalize content on your website, so that users see the most engaging content for them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s say I own a&nbsp;<strong>news website<\/strong>, with a front page with links to several articles. As the page loads, I want to request&nbsp;<strong>Custom Decision Serv<\/strong>ice to provide a ranking of articles to include on the page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When one of my users clicks on an article, a second request is going to be sent to the Custom Decision Service to log the outcome of the decision. The easiest integration mode requires just an RSS feed for the content and a few lines of javascript to be added into the application. Let\u2019s get started!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">First, I need to register on the\u00a0<strong>Decision Service Portal<\/strong>\u00a0by clicking on My Portal menu item in the top ribbon, then I can register the application, choosing a unique identifier. It\u2019s also possible to create a name for an action set feed, along with an RSS or Atom end point currently.<br><br><img loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"388\" class=\"wp-image-10609\" style=\"width: 600px\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/e992aaef-089c-483b-b050-532f02e451b9.png\" alt=\"graphical user interface, website\"><\/li>\n\n\n\n<li class=\"wp-block-list-item\">The basic use of Custom Decision Service is fairly straightforward: the front page will use Custom Decision Service to specify the ordering of the article pages. I just need to insert the following code into the HTML head of the front page.<br><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n\/\/ Define the \"callback function\" to render UI\n\n\n\/\/ call to Ranking API\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The order matters as the callback function should be defined before the call to Ranking API. The data argument contains the ranking of URLs to be rendered. For more information, see the tutorial and API reference.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">For each article page, I need to make sure the canonical URL is set and matches the URLs provided your RSS feed, and insert the following code into the HTML head to call Reward API:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n<script src=\"https:\/\/ds.microsoft.com\/DecisionService.js\"><\/script>\n<script> window.DecisionService.trackPageView(); <\/script>\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Finally, I need to provide the Action Set API, which returns the list of articles (a.k.a., actions) to be considered by Custom Decision Service. I can implement this API as an RSS feed, as shown here:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n<rss version=\"2.0\">\n<channel>\n   <item>\n      <title><![CDATA[title (possibly with url) ]]><\/title>\n      <link>url<\/link>\n      <pubDate>Thu, 27 Apr 2017 16:30:52 GMT<\/pubDate>\n    <\/item>\n   <item>\n       ....\n   <\/item>\n<\/channel>\n<\/rss>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">For more information about Custom Decision Service, please take a look at the following resources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">The Custom Decision Service portal and\u00a0<a href=\"https:\/\/aka.ms\/cdservice\">webpage<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\">The\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/custom-decision-service\/custom-decision-service-overview\">technical guides<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"unlock-video-insights\">Unlock video insights<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With&nbsp;<a href=\"https:\/\/aka.ms\/vindexer\">Video Indexer<\/a>, it\u2019s now possible to process and extract lots of insights from video files, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Face detection and identification (finds, identifies, and tracks human faces within a video)<\/li>\n\n\n\n<li class=\"wp-block-list-item\">OCR (optical character recognition, extracting text content from videos and generates searchable digital text)<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Transcript (converting audio to text based on specified language)<\/li>\n\n\n\n<li class=\"wp-block-list-item\">One of my favorites, differentiation of speakers (maps and understands each speaker and identifies when each speaker is present in the video)<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Voice\/sound detection (separating background noise\/voice activity from silence)<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Sentiment analysis (performing analysis based on multiple emotional attributes \u2013 currently, Positive, Neutral, Negative options are supported)<br><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"359\" class=\"wp-image-10611\" style=\"width: 700px\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/d8b180e5-1da0-421e-b796-ff8af1f9480f.jpg\" alt=\"graphical user interface\"><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>From one video to multiple insights<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s say I\u2019m a news agency with a video library that my users need to search against: I need to easily extract metadata on the videos to enhance the search experience with indexed spoken words and faces.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">The easiest first step is the simply go to the\u00a0<a href=\"https:\/\/vi.microsoft.com\/\">Video Indexer Web Portal<\/a>: I can sign-in, upload a video and let Video Indexer start indexing and analyzing the video. Once it\u2019s done, I will receive a notification with a link to my video and a short description of what was found in your video (people, topics, OCRs,..).<\/li>\n\n\n\n<li class=\"wp-block-list-item\">If I want to use the Video Indexer APIs, I also need to sign-in to the Video Indexer Web Portal, select production and subscribe. This sends the Video Indexer team a subscription request, which will be approved shortly. Once approved, I will be able to see my subscription and my keys.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The following C# code snippet demonstrates the usage of all the Video Indexer APIs together.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\nvar apiUrl = \"https:\/\/videobreakdown.azure-api.net\/Breakdowns\/Api\/Partner\/Breakdowns\";\n    var client = new HttpClient();\n    client.DefaultRequestHeaders.Add(\"Ocp-Apim-Subscription-Key\", \"InsertYourKey\");\n\n    var content = new MultipartFormDataContent();\n\n    Console.WriteLine(\"Uploading...\");\n    var videoUrl = \"https:\/...\";\n    var result = client.PostAsync(apiUrl + \"?name=some_name&description=some_description&privacy=private&partition=some_partition&videoUrl=\" + videoUrl, content).Result;\n    var json = result.Content.ReadAsStringAsync().Result;\n\n    Console.WriteLine();\n    Console.WriteLine(\"Uploaded:\");\n    Console.WriteLine(json);\n\n    var id = JsonConvert.DeserializeObject(json);\n\n    while (true)\n    {\n        Thread.Sleep(10000);\n\n        result = client.GetAsync(string.Format(apiUrl + \"\/{0}\/State\", id)).Result;\n        json = result.Content.ReadAsStringAsync().Result;\n\n        Console.WriteLine();\n        Console.WriteLine(\"State:\");\n        Console.WriteLine(json);\n\n        dynamic state = JsonConvert.DeserializeObject(json);\n        if (state.state != \"Uploaded\" && state.state != \"Processing\")\n        {\n            break;\n        }\n    }\n\n    result = client.GetAsync(string.Format(apiUrl + \"\/{0}\", id)).Result;\n    json = result.Content.ReadAsStringAsync().Result;\n    Console.WriteLine();\n    Console.WriteLine(\"Full JSON:\");\n    Console.WriteLine(json);\n\n    result = client.GetAsync(string.Format(apiUrl + \"\/Search?id={0}\", id)).Result;\n    json = result.Content.ReadAsStringAsync().Result;\n    Console.WriteLine();\n    Console.WriteLine(\"Search:\");\n    Console.WriteLine(json);\n\n    result = client.GetAsync(string.Format(apiUrl + \"\/{0}\/InsightsWidgetUrl\", id)).Result;\n    json = result.Content.ReadAsStringAsync().Result;\n    Console.WriteLine();\n    Console.WriteLine(\"Insights Widget url:\");\n    Console.WriteLine(json);\n\n    result = client.GetAsync(string.Format(apiUrl + \"\/{0}\/PlayerWidgetUrl\", id)).Result;\n    json = result.Content.ReadAsStringAsync().Result;\n    Console.WriteLine();\n    Console.WriteLine(\"Player token:\");\n    Console.WriteLine(json);\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">When I make an API call and the response status is OK, I will get a detailed JSON output containing details of the specified video insights including keywords (topics), faces, blocks. Each block includes time ranges, transcript lines, OCR lines, sentiments, faces, and block thumbnails.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For more information, please take a look at:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">The Video Indexer\u00a0<a href=\"https:\/\/vi.microsoft.com\/\">portal<\/a>\u00a0and\u00a0<a href=\"https:\/\/aka.ms\/vindexer\">webpage<\/a>\u00a0<\/li>\n\n\n\n<li class=\"wp-block-list-item\">The\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/video-indexer\/video-indexer-overview\">full list of technical resources<\/a>\u00a0in the Get started guide<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-a-highly-targeted-search-for-your-users\">Create a highly targeted search for your users<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With Bing Custom Search, I can create a highly-customized web search experience for my targeted web space: there are a lot of integration scenarios and end-user entry points for a custom search solution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, Amicus is building an app that changes the way global aid is funded and delivered by providing donors with full transparency. Amicus needed to help donors learn, find and fund projects specifically related to global aid that were of interest and relevant to them. With Bing Custom Search, Amicus has been able to identify its own set of&nbsp; relevant web pages in advance: when users have a single concept of interest (like \u2018water\u2019, \u2018education\u2019 or \u2018India\u2019), Bing Custom Search is able to deliver highly relevant results in the context of global aid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For more information about Bing Custom Search, don\u2019t hesitate to look at the&nbsp;<a href=\"https:\/\/blogs.bing.com\/search-quality-insights\/2017-05\/build-your-own-web-search-engine-with-bing-custom-search\">Bing Custom Search Blog announcement<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s imagine that I need to build a customized search for my public website on \u2018bike touring\u2019 \u2013 a very important activity in Seattle area.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">I can get started by signing up on the\u00a0<a href=\"https:\/\/customsearch.ai\/\">Bing Custom Search Portal<\/a>\u00a0and get my free trial key.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Once logged in, I can start creating a custom search instance: it contains all the settings that are required to define a custom search tailored towards a scenario of my choice. Here, I want to create a search to find bike touring related content, in that case, I\u2019d create a custom search instance called \u2018BikeTouring\u2019.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Then, I need to define the slices of the web that I want to search over for my scenario and add them to my search instance. The custom slices can include domains, subdomains, or web-pages.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">I can now adjust the default order of the results based on my needs. For example, for a specific query I can pin a specific web-page to the top. Or I can boost and demote sites, or web pages so that they show up higher or lower, respectively, in the set of results that my custom search service returns.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">After this, I can track my ranking adjustments in the tabs \u2018Active\u2019, \u2018Blocked\u2019, and \u2018Pinned\u2019. Also, I can revisit my adjustments at any time.<br><br><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"337\" class=\"wp-image-10613\" style=\"width: 700px\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/eeed5398-4cfe-4878-b94f-dfa7f35abc01.png\" alt=\"graphical user interface\"><\/li>\n\n\n\n<li class=\"wp-block-list-item\">Then, I publish my settings. Before calling Bing Web Search API directly and programmatically, I can try out my custom search service in the UI directly. For that, I specify a query and click \u2018Test API\u2019. I can then see the algorithmic results from my custom search service on the right-hand side.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">To call and retrieve the results for my custom search service programmatically, I can call Bing Web Search API. In that case, I\u2019d augment the standard Bing Web Search API call with a custom configuration parameter called costumconfig. Below is the API request URL with the costumconfig parameter:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\nhttps:\/\/api.cognitive.microsoft.com\/bingcustomsearch\/v5.0\/search[?q][&customconfig][&count][&offset][&mkt][&safesearch]\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Below is a JSON response of a Bing Web Search API call with a customconfig parameter.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n{\n    \"_type\" : \"SearchResponse\",\n    \"queryContext\" : {...},\n    \"webPages\" : {...},\n    \"spellSuggestion\" : {...},\n    \"rankingResponse\" : {...}\n}\n \n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">For more information, please take a look at the dedicated blog announcement as well as the following resources:<br>\u2022\u00a0\u00a0\u00a0 Bing Custom Search\u00a0<a href=\"https:\/\/customsearch.ai\/\">portal<\/a><br>\u2022\u00a0\u00a0\u00a0 The\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/bing-custom-search\/overview\">full list of resources<\/a>\u00a0in the Get started guide<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"new-ai-mvp-award-category\">New AI MVP Award Category<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you for reaching this far! As a reward, we\u2019re pleased to inform you about our new AI MVP Program!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As you know, the world of data and AI is evolving at an unprecedented pace, and so is its community of experts.&nbsp; The Microsoft MVP Award Program is pleased to announce the launch of the new AI Award Category for recognizing outstanding community leadership among AI experts. Potential \u201cAI MVPs\u201d include developers creating intelligent apps and bots, modeling human interaction (voice, text, speech,\u2026), writing AI algorithms, training data sets and sharing this expertise with their technical communities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An AI MVP will be award based on contributions in the follow technology contribution areas:<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/b4bf37db-bfed-4f40-b188-58bd7376c3cd.webp\" alt=\"table\" class=\"wp-image-10615 webp-format\" style=\"width:630px;height:auto\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/b4bf37db-bfed-4f40-b188-58bd7376c3cd.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The AI Award Category will be a new addition to the&nbsp;<a href=\"https:\/\/mvp.microsoft.com\/en-us\/Pages\/mvp-award-update\">current award categories<\/a>. If you or someone you know may qualify,&nbsp;<a href=\"https:\/\/aka.ms\/AIMVP\">submit a nomination<\/a>!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you again and happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1454],"tags":[],"audience":[3057,3055,3056],"content-type":[1465],"product":[3164],"tech-community":[],"topic":[],"coauthors":[97],"class_list":["post-3874","post","type-post","status-publish","format-standard","hentry","category-ai-machine-learning","audience-data-professionals","audience-developers","audience-it-implementors","content-type-announcements","product-microsoft-foundry","review-flag-1680286585-433","review-flag-1680286581-295","review-flag-1680286581-56","review-flag-1680286581-364","review-flag-1680286584-658","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-click-1680286584-659","review-flag-free-1680286579-836","review-flag-ice-1680286582-666","review-flag-integ-1680286579-214","review-flag-machi-1680286585-314","review-flag-microsofts","review-flag-new-1680286579-546","review-flag-partn-1680286579-901","review-flag-priva-1680286584-258","review-flag-publi-1680286584-566"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>At Build, Microsoft expands its Cognitive Services collection of intelligent APIs | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-10T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-19T09:37:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.png\" \/>\n<meta name=\"author\" content=\"Microsoft Azure\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Azure\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Azure\"}],\"headline\":\"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs\",\"datePublished\":\"2017-05-10T00:00:00+00:00\",\"dateModified\":\"2025-06-19T09:37:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\"},\"wordCount\":2758,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.png\",\"articleSection\":[\"AI + machine learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\",\"name\":\"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.png\",\"datePublished\":\"2017-05-10T00:00:00+00:00\",\"dateModified\":\"2025-06-19T09:37:33+00:00\",\"description\":\"Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.webp\",\"width\":612,\"height\":301,\"caption\":\"graphical user interface, text, application, chat or text message\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI + machine learning\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs | Microsoft Azure Blog","description":"Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026","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:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/","og_locale":"en_US","og_type":"article","og_title":"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs | Microsoft Azure Blog","og_description":"Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2017-05-10T00:00:00+00:00","article_modified_time":"2025-06-19T09:37:33+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.png","type":"","width":"","height":""}],"author":"Microsoft Azure","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Microsoft Azure","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/","@type":"Person","@name":"Microsoft Azure"}],"headline":"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs","datePublished":"2017-05-10T00:00:00+00:00","dateModified":"2025-06-19T09:37:33+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/"},"wordCount":2758,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.png","articleSection":["AI + machine learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/","name":"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.png","datePublished":"2017-05-10T00:00:00+00:00","dateModified":"2025-06-19T09:37:33+00:00","description":"Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of\u2026","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2017\/05\/afda52eb-3a3f-4efa-8967-aae79fa6ce03.webp","width":612,"height":301,"caption":"graphical user interface, text, application, chat or text message"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/at-build-microsoft-expands-its-cognitive-services-collection-of-intelligent-apis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"AI + machine learning","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/"},{"@type":"ListItem","position":3,"name":"At Build, Microsoft expands its Cognitive Services collection of intelligent APIs"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/3874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=3874"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/3874\/revisions"}],"predecessor-version":[{"id":42427,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/3874\/revisions\/42427"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=3874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=3874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=3874"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=3874"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=3874"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=3874"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=3874"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=3874"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=3874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}