Taswar Bhatti
The synonyms of software simplicity
Azure 5 Highlights Thursday

This is the bonus content for the #120 edition of 5 Highlights Thursday — 7 highlights this week instead of 5. If you haven’t seen the main newsletter yet, check it out on LinkedIn.

1. Everything You Need to Know About the Latest in C#

A comprehensive walkthrough of what’s new in C# for 2026 — covering the latest language features and improvements relevant to .NET developers staying current with the platform.

2. Modernizing .NET Applications

Practical guidance on modernizing existing .NET applications — covering the tools, patterns, and strategies available for bringing legacy .NET code into the current platform era, including GitHub Copilot-assisted upgrade paths.

3. Explore the Future of ASP.NET Core & Blazor in .NET 11

A forward look at what’s coming in ASP.NET Core and Blazor in .NET 11 — covering new capabilities and the direction for server-side and client-side web development on the .NET platform.

4. SQL MCP Server: Bringing AI Agents to Your SQL Data

How the SQL MCP Server makes your SQL Server databases accessible to AI agents through the Model Context Protocol — letting agents query, reason over, and act on structured data without bespoke integrations.

5. .NET Developer Productivity with AI

How AI tooling — including GitHub Copilot and .NET AI Building Blocks — is being integrated into the everyday .NET developer workflow to accelerate coding, debugging, and app design tasks.

6. Building Intelligent .NET Applications: From AI Features to Production

End-to-end guidance on integrating AI capabilities into .NET applications — from choosing the right AI features to wiring them into production-ready .NET apps with proper tooling and patterns.

7. What’s new in vector indexing for Microsoft SQL | Data Exposed

An update on vector indexing improvements in Microsoft SQL for 2026 — relevant if you’re building semantic search or RAG applications that need to store and query embeddings at the database layer.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Download my Free Ebook Prompt Engineering for .NET Developers.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe to my newsletter

Have a wonderful Thursday 😉

Taswar

Every time Microsoft ships a new model into Foundry, I ask myself the same boring-but-important question: does this change anything for the way I actually write code? Most of the time the answer is “cool demo, doesn’t affect my day job.” This time it’s different.

MAI-Thinking-1 — Microsoft’s first reasoning model — just went into public preview in Microsoft Foundry. It’s not a chat model with a “think harder” flag bolted on. It’s built from the ground up for multi-step reasoning: the kind of work where the model has to plan, reconsider, call tools, and stitch together a long chain of context before it gives you an answer worth trusting.

If you’ve read anything else I’ve written, you know where this is going: no Python required, no notebook gymnastics, just Microsoft.Extensions.AI and a dotnet run.

What MAI-Thinking-1 Actually Is

A few things worth knowing before you touch any code:

  • Mixture-of-Experts (MoE) architecture. Instead of activating the entire model for every request, it only activates the parts it needs. Translation for us: you get reasoning depth without paying full-model compute cost on every call.
  • Trained from scratch, no distillation. Microsoft trained it on clean data rather than distilling from a third-party model — worth knowing if procurement ever asks “where did this model come from.”
  • Competitive on SWE-Bench Pro at a lower price point than other models in its weight class. Translation: it’s genuinely usable for coding-adjacent agent workloads, not just benchmark bragging rights.
  • Pricing: $2 per 1M input tokens, $8 per 1M output tokens through the Foundry Model Catalog. Cheap enough that “always-on reasoning agent” stops being a scary line item.

None of that matters if you can’t get it working in fifteen minutes, so let’s do that.

Why This Matters for .NET Developers Specifically

Most “reasoning model” content is written for people gluing together Python scripts and LangChain. That’s not how most of us ship software. If you’re building:

  • Agents that call tools — CRM lookups, ERP queries, ticketing systems — and need to reason across the results before responding
  • Long-document analysis — contracts, filings, transcripts — where the model needs to hold context and reason step-by-step instead of pattern-matching a summary
  • Decision-support features — root-cause analysis, recommendation generation, anything where “just guess the most likely next token” isn’t good enough

MAI-Thinking-1 is aimed squarely at you, and it slots into the same IChatClient interface you’re already using for GPT-4o or any other Foundry model. Swapping models is a config change, not a rewrite.

Getting Started: The Boring Setup Part

Deploy MAI-Thinking-1 from the Foundry Model Catalog to your Foundry project, same as you would any other model. Grab your endpoint and deployment name.

A Multi-Step Reasoning Example

Here’s the thing about reasoning models: the interesting part isn’t a single prompt/response, it’s giving the model something that actually requires reasoning across steps. Let’s build a small “contract risk triage” service — the kind of long-document, multi-step reasoning task MAI-Thinking-1 is designed for.

Notice what’s not here: no special “reasoning mode” flag, no separate SDK, no different message format. It’s the exact same IChatClient call you’d make against any Foundry model. The reasoning happens because of how the model was built, not because of extra plumbing you have to write.

Sample output

Tool-Augmented Reasoning (The Agentic Part)

The use case Microsoft calls out explicitly — connecting to CRM, ERP, and ticketing systems through native tool calling — is where reasoning models earn their keep. A non-reasoning model will happily call a tool with garbage arguments and move on. A reasoning model is far more likely to check its own work before it commits to a tool call.

Here’s a minimal tool-calling setup using Microsoft.Extensions.AI‘s function tools:

The model decides whether it needs to call GetTicketStatus based on its own reasoning about the request — not because you hardcoded “if the user mentions a ticket ID, call the tool.” That’s the actual value proposition here: less prompt-engineering gymnastics to force sensible tool use.

Output

Where This Fits (and Where It Doesn’t)

Be honest with yourself about when you need this:

Reach for MAI-Thinking-1 when:

  • The task genuinely requires multi-step reasoning — plan → check → revise → answer
  • You’re processing long documents where a shallow summary isn’t good enough
  • Your agent needs to reason about whether and how to call a tool, not just execute a fixed script

Don’t reach for it when:

  • You need a fast autocomplete-style response (use a smaller/cheaper model — reasoning models trade latency for depth)
  • The task is simple classification or extraction with no ambiguity to reason through
  • You’re cost-sensitive on high-volume, low-complexity calls — the MoE efficiency helps, but it’s still priced above a lightweight model

Structured output, defensive parsing, and resilience patterns all still apply here exactly like they do with any other Foundry model — if you’ve read the earlier chapters on that, nothing changes; you’re not throwing away any of the patterns you already have.

Wrapping Up

MAI-Thinking-1 is Microsoft’s first real swing at a reasoning model, and the fact that it drops straight into the same IChatClient abstraction as every other Foundry model is, frankly, the best part. No new SDK to learn, no separate reasoning-specific message format — just a model that’s better at the multi-step, tool-calling, long-context work that “just answer the prompt” models tend to fumble.

If you’ve been holding off on agentic workloads because the reasoning quality wasn’t there yet, this is worth a real evaluation — not just a demo.

Source code can be found at : https://github.com/taswar/MaiThinkingDemo


Building AI features in C#? I write about practical, no-hype prompt engineering and Azure AI patterns for .NET developers. Check out Prompt Engineering for .NET Developers — free, no Python required. Also subscibe to my mailing for latest blogs, tips and tricks I share.

Azure 5 Highlights Thursday

Published: 2026-08-06

This is the bonus content for the #119 edition of 5 Highlights Thursday – 7 highlights this week instead of 5. If you haven’t seen the main newsletter yet, check it out on LinkedIn.

1. QDK Tutorial: Learn Quantum Computing with GitHub Copilot in VS Code

A quick, hands-on look at the Quantum Development Kit (QDK) tutorial experience in VS Code, paired with GitHub Copilot to help you get oriented with quantum computing concepts and code faster. Good starting point if quantum has been on your “someday” learning list.

2. Azure Files: Simple, Secure, Cloud and AI Ready File Storage

A rundown of Azure Files as a simple, secure, cloud- and AI-ready file storage option — positioning it as the go-to for teams that need managed file shares without giving up the identity and governance controls (Microsoft Entra ID, FSLogix profile support) they already rely on.

3. Where Does AI Actually Add Value in This Build, and Where Is It Just Hype?

A short, blunt take separating real AI value from hype in a recent build — worth a minute if you want a grounded gut-check before you bolt AI onto your next project.

4. Microsoft Defender for Office 365 | Zero to Hero

A look at how Microsoft Defender’ enable key protections such as preset security policies, Safe Attachments, priority account protection, user reporting, and automated investigation and response (AIR), while explaining how these features strengthen an organization’s defense against email threats.

5. From Partners for Partners: Simplifying Customer Onboarding with Microsoft Defender

Partner-focused guidance on simplifying customer onboarding with Microsoft Defender — practical if you’re a partner or MSP looking to streamline how you bring new customers onto Defender.

6. How AMD and Azure Push the Boundaries of Compute

A look at the AMD and Azure partnership pushing the boundaries of compute — relevant if you’re evaluating VM SKUs or curious how silicon-level partnerships are shaping what’s available in Azure’s compute catalog.

7. How Does Using Real Pricing (Not Estimates) Change How You Architect an App?

A quick take on how designing with real Azure pricing — instead of rough estimates — changes architectural decisions early in a build. A good reminder to check the pricing calculator before you commit to a design.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Download my Free Ebook Prompt Engineering for .NET Developers.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe on LinkedIn

Have a wonderful Thursday 😉

Taswar

Azure 5 Highlights Thursday

Here is the Bonus #118 edition of 5 Highlights Thursday — a bit of a bonus edition this week with 7 highlights instead of 5. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. TypeScript 7 Is Here (And It’s 10× Faster)

TypeScript 7 has landed, and it’s a big one — a native, Go-based compiler rewrite delivers roughly 10x faster compilation, alongside new language features and some breaking changes from v6. If you or your team live in the TypeScript ecosystem, this is worth 10 minutes of your time to understand what changes before you upgrade.

2. What’s New in SQL MCP Server 2.0

SQL MCP Server 2.0 brings new capabilities that let AI agents and Copilot interact directly with your SQL Server data through the Model Context Protocol. If you’re building agentic apps on top of SQL, this positions MCP as the standard interface for agent-to-data access — worth watching if you care about Azure SQL and agent tooling.

3. Introducing Project Perception: The Next Evolution of Agentic Security

Microsoft’s official intro to Project Perception — the next generation of agentic security that uses AI agents to proactively detect and respond to threats before they materialize. This is part of a coordinated security push (see #4 below) and is directly relevant if you’re thinking about AI security governance.

4. How Nationwide Stays Ahead of Attackers with Project Perception

A real customer story: Nationwide (the insurance company) shares how they’re using Project Perception for proactive threat intelligence — staying ahead of attackers before incidents occur rather than just reacting after the fact. Good pairing with #3 if you want the product story plus the real-world proof point.

5. Inside Codename MDASH: Built to Protect

A behind-the-scenes look at Codename MDASH — a new Microsoft Defender capability built specifically to protect AI workloads, agents, and agentic systems from emerging threats. Released the same day as Project Perception, this rounds out Microsoft’s coordinated AI security announcement.

6. Data Streaming for Modern Applications in SQL Server 2025, Azure SQL, and Fabric SQL

Data Exposed walks through data streaming patterns across SQL Server 2025, Azure SQL, and Fabric SQL — useful if you’re architecting real-time data pipelines and want one consistent streaming story across on-prem, cloud, and Fabric.

7. Build Microsoft Foundry Agents with the New AI Gateway Tier of API Management

API Management’s new AI Gateway tier gives you governance, rate limiting, and observability in front of Microsoft Foundry agents — worth a look if you’re running agentic workloads in production and need enterprise-grade traffic control in front of them.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe to my newsletter

Have a wonderful Thursday 🙂

Taswar

MAI-Voice-2 Flash for .NET Developers

Every voice application I’ve ever built or reviewed has the same problem: latency. The model can sound as natural as you want, but if there’s a full second of dead air between the user finishing a sentence and the assistant responding, the whole thing feels broken. Users notice a pause before they notice voice quality.

Microsoft AI just shipped MAI-Voice-2 Flash, a text-to-speech model built specifically to fix that. It’s the low-latency sibling of MAI-Voice-2, now available through Azure Speech — not a separate SDK, not a new service to learn, just a new voice option inside the Speech service you may already be using.

Same day, Microsoft also shipped MAI-Image-2.5 Pro for high-fidelity image generation (I covered that one in a separate post if you’re building creative/image pipelines). This post is about the voice model, because if you’re building call center agents, IVR systems, or conversational assistants in .NET, this is the one that actually changes your architecture.


What MAI-Voice-2 Flash Actually Does

It’s a text-to-speech model, tuned for one specific tradeoff: speed over voice customization.

  • 2x faster than MAI-Voice-2, same natural voice quality
  • 32% more cost-efficient
  • 15+ languages supported — English (US/AU), Italian, Spanish (Mexico/Spain), Hindi, French, German, Portuguese (Brazil/Portugal), Korean, Chinese (Simplified), Turkish, Russian, Thai, Dutch, Romanian, Hungarian
  • Voice cloning from 5–60 second audio prompts — natural, conversational delivery with moderate energy gives the best results
  • SSML support for voice selection and pacing — see the SSML section below for what actually works today

MAI-Voice-2 Flash vs. MAI-Voice-2 — Which One Do You Actually Want?

Microsoft’s own guidance on this is refreshingly direct: it comes down to voice identity vs. responsiveness.

Choose MAI-Voice-2 Flash when:
– Low latency is the primary requirement
– You’re building conversational assistants, IVR systems, or call center experiences
– Users expect an immediate spoken response as part of a live interaction
– Cost efficiency matters as much as responsiveness

Choose MAI-Voice-2 instead when voice identity and higher-fidelity output matter more than raw speed — think narration, media production, or anything not happening in a live back-and-forth.

If your use case involves a human waiting on the other end of a phone call or a chat window, you want Flash.


Where This Fits — Real Use Cases

Microsoft calls out three scenarios, and all three map to things I’ve seen teams either build badly or avoid building entirely because of latency:

Call center agents. Spoken responses generated in real time, minimizing the delay between conversation turns. This is the difference between an AI agent that sounds like it’s thinking and one that sounds like it’s stalling.

Conversational voice assistants. Copilots and intelligent applications that respond nearly instantly — the fluid, interactive feel instead of the stilted turn-based one.

Modern IVR systems. Dynamic, context-aware phone experiences that respond to what the caller actually says instead of routing through a rigid menu tree.

If you’re maintaining a legacy IVR system held together with pre-recorded prompts and DTMF menus, or a support bot that has a noticeable pause before every response — this is worth a pilot.


Pricing

MAI-Voice-2 Flash pricing starts at $15 per 1M characters. For comparison, MAI-Image-2.5 Pro (the image model announced alongside it) starts at $5 per 1M input tokens and $106 per 1M output tokens — a completely different pricing shape, since one generates images and the other generates audio from text.

For a call center handling, say, 200-character average responses across 10,000 calls a day, that’s roughly 2M characters/day — a genuinely calculable cost before you commit to an architecture.


Setting Up Azure Speech — Full Instructions

Since MAI-Voice-2 Flash ships through Azure Speech rather than a standalone endpoint, you set it up exactly like any other Speech resource. Here’s the complete path from zero to a working API key.

Step 1: Create a Speech Resource in Azure

  1. Go to the Azure Portal
  2. Click Create a resource
  3. Search for Speech service (or Azure AI Foundry if you want the unified Foundry resource — both work for this)
  4. Click Create
  5. Fill in:
    Subscription — your Azure subscription
    Resource group — create new or use existing
    Region — pick a region that supports MAI-Voice-2 Flash (check the model catalog page for current regional availability — this is in public preview and region support is still expanding)
    Name — something like my-speech-resource
    Pricing tier — Standard (S0) for production use
  6. Click Review + Create, then Create

Step 2: Get Your Key and Region

  1. Once deployed, go to your Speech resource
  2. Click Keys and Endpoint in the left sidebar
  3. Copy KEY 1 and note your Region (e.g., eastus)

Step 3: Store Secrets Properly

Don’t hardcode the key. Use user-secrets for local development:

Step 4: Install the Speech SDK


Let’s Actually Call It from C#

Here’s a working console app that synthesizes speech using the Azure Speech SDK, configured for low-latency real-time output — the pattern you’d actually use for a conversational assistant.

Program.cs — Basic Synthesis

Sample code located at https://github.com/taswar/Mai-Voice-2-Flash-Sample

Expected Output

You should hear the response with noticeably less delay than a standard-tier voice model — that’s the “2x faster” claim showing up as an actual user experience difference, not just a benchmark number.


Streaming to a Web API Response (Real-Time Use Case)

For an actual call center or assistant integration, you’re not playing audio through a speaker — you’re streaming bytes back to a caller or a browser. Here’s the pattern for an ASP.NET Core minimal API endpoint that returns synthesized speech as a stream:

Call it with:

That is the shape of the endpoint sitting behind a real call center agent or IVR system — take text, return audio, keep the round trip fast.


Using SSML for Turn-Level Control — What Actually Works

Microsoft’s own materials describe MAI-Voice-2 Flash as supporting “turn-level control over tone, delivery, and emotion.” The obvious first move for anyone who’s used Azure Speech before is to reach for the classic mstts:express-as element — the same one you’d use with a standard Neural voice to say “make this line sound cheerful” or “empathetic.”

I tried it. It doesn’t work.

Here’s the SSML I first attempted, styled the same way you’d write it for any legacy Neural voice:

So what does “turn-level control over tone, delivery, and emotion” actually mean today? As of this public preview, it’s unclear. It may be a plain-text delivery cue baked into the prompt, or an MAI-specific SSML extension that isn’t documented yet. I could not find a combination that worked, and I’d treat that marketing line as aspirational until Microsoft publishes the actual mechanism.

What Does Work: Plain SSML for Voice, Pacing, and Pauses

Strip out express-as entirely and SSML still earns its place — you get voice selection, break for natural pauses, and prosody control, all of which the service accepts without complaint:

No emotion tags, no style attribute — just the voice name and a deliberate pause between the apology and the resolution. That pause alone does more for how “human” the response feels than most developers expect. It’s a smaller toolkit than advertised, but it’s a toolkit that actually ships a ResultReason.SynthesizingAudioCompleted instead of a canceled request.

Same Pattern in Turkish

MAI-Voice-2 Flash’s multilingual support means the same working SSML structure carries across languages — change xml:lang, the voice name, and the text:

Translation for reference: “I’m sorry to hear your order arrived damaged. I’m starting a return right away — it will just take a few seconds.”

This is the actual payoff of a multilingual low-latency voice model for a call center: one codebase, one SpeakSsmlAsync call, and the only thing that changes per market is the xml:lang, the voice name, and the translated text. You’re not maintaining a separate TTS integration per region.

📝 Note: Voice names and available express-as styles for MAI-Voice-2 Flash are still being finalized during public preview. Check the Foundry model catalog or Speech Studio’s voice gallery for the exact identifiers available in your region — including Turkish — before shipping this to production.


Why Run It Through Azure Speech (Not a Separate Vendor)

If you’re already using Azure Speech for any part of your stack, this is close to a zero-integration-cost upgrade:

  • Same SDK, same auth pattern — no new NuGet package beyond what you likely already have
  • Enterprise reliability and scale — the infrastructure Azure Speech already runs on
  • Same Responsible AI and governance guardrails as the rest of Foundry
  • Regional deployment options to keep voice data processing where compliance requires it

For teams already invested in Azure Speech for STT or existing TTS voices, swapping in MAI-Voice-2 Flash for your latency-sensitive scenarios is a configuration change, not a rewrite.


Final Thoughts

MAI-Voice-2 Flash is a narrow, well-aimed release. It’s not trying to be the most expressive or highest-fidelity voice model Microsoft ships — that’s what MAI-Voice-2 is for. It’s optimized for the one metric that actually breaks real-time voice experiences: the gap between “user stops talking” and “assistant starts responding.”

If you’re building or maintaining call center agents, IVR systems, or conversational assistants, and users have ever complained about the pause before the response — this is worth a pilot. Point it at your existing Azure Speech integration, swap the voice name, and measure the round-trip time yourself.

If your team already runs on Azure Speech and just wants faster responses without switching vendors, this is one worth wiring in this week. 🙂


Resources

MAI-Image-2.5 Pro for .NET Developers

Every time a new image model ships, my first question isn’t “how pretty are the demo images.” It’s “can I actually put this in a pipeline and get consistent, controllable output.” Most image models are great at one beautiful hero shot and terrible at the boring part — generating twelve consistent product variants, or fixing one object in an image without regenerating the whole thing.

Microsoft AI just shipped MAI-Image-2.5 Pro, now available in public preview in Microsoft Foundry as an Azure Direct Model. It’s Microsoft’s own image generation and image-editing model — not a third-party model hosted in the catalog, but one built in-house by Microsoft AI.

That is worth pausing on. Alongside it, MAI-Voice-2 Flash also shipped for real-time voice through Azure Speech. This post is about the image model (I will cover MAI-Voice-2 Flash in another post), because that is the one .NET developers building content pipelines, e-commerce catalogs, or design tools will actually reach for first.


What MAI-Image-2.5 Pro Actually Does

It’s a diffusion-based text-to-image and image-to-image model. Two capabilities matter more than the others:

  • Generation — natural language prompt in, high-fidelity image out
  • Precise editing — targeted object edits, layout changes, text updates, and cleanup of artifacts like motion blur, all while preserving visual consistency across iterations

That second bullet is the interesting one. “Precise, surgical edits with consistency” is the phrase Microsoft uses, and it’s the right framing. A lot of image models will happily regenerate an entire scene when you ask for one small change — swap the color of a shirt and the model quietly redraws the face too. MAI-Image-2.5 Pro is positioned specifically to avoid that.

Why It Matters

  • Professional creative quality — stronger object consistency, more accurate text rendering (a famously hard problem for diffusion models), closer alignment to what you actually asked for, and better visual/world reasoning
  • More model choice in Foundry — you can now pick a purpose-built Microsoft model for creative workflows alongside the rest of the Foundry catalog, the same way you’d pick Kimi K2.7 Code for coding tasks or Cohere Command A+ for enterprise agents
  • Enterprise-ready foundations — backed by Microsoft’s safety and Responsible AI practices, running on Azure infrastructure for reliability, scale, and governance

Honestly, that last point is the one enterprises actually care about. A lot of image models are impressive right up until legal asks about content provenance and data handling.


Where This Fits — Real Use Cases

Microsoft calls out two buckets, and both map to real backlog items I’ve seen teams carry for months:

Campaigns and product content. Consistent hero assets, social media variants, retail signage, digital ads, product photography, e-commerce catalogs. The “consistency across iterations” capability is exactly what you need when you’re generating fifteen size/color variants of the same product shot and they all need to look like the same product line.

Storyboarding and regulated-industry visuals. Consistent scenes, characters, and concepts with stronger real-world accuracy — relevant for creative production, but also healthcare, financial services, and manufacturing, where “close enough” visual accuracy isn’t good enough.

If your team maintains a product catalog, a marketing asset pipeline, or anything that currently involves a human manually generating fifty variants of one image in Photoshop — this is worth a pilot.


Let’s Actually Call It from C#

Source code can be found at https://github.com/taswar/MAI-Image-2.5-Pro-Sample

Prerequisites

Set your environment variables:

Program.cs — Generate a Product Image

Editing an Existing Image — Targeted, Not a Full Regeneration

This is the part that matters more than pure generation. Here’s how you make one precise change to an existing product shot — swap the bottle color without touching the background, lighting, or shadow:

Expected Output

Two files. Same lighting, same shadow, same camera angle. One bottle color changed. That is the workflow you’d wire into a service that generates every SKU variant overnight instead of a designer doing it by hand.

📝 Note: The exact SDK surface for Foundry image models is still settling as this model is in public preview — check the Foundry Model Catalog page for the current API reference before you wire this into production. The calling pattern above follows the standard Http Client image generation shape; MAI-Image models aren’t compatible with the Azure.AI.OpenAI SDK’s ImageClient — they require the raw REST call. Do confirmed against the latest docs, since things change very fast.


Why Run It Through Microsoft Foundry

Same reasoning as every other model I’ve covered in this series — Kimi K2.7 Code, Cohere Command A+ — but with one extra point specific to this model:

  • It’s a first-party Microsoft model. Support, roadmap, and Responsible AI documentation come from the same team building the platform you’re deploying on.
  • Entra ID auth — no separate API key management for yet another vendor.
  • Governance and safety tooling built into the platform, which matters more for image generation than most other model types — content policy and provenance questions come up fast in creative workflows.
  • Side-by-side evaluation against other Foundry models if you’re also experimenting with other image generation options.

Final Thoughts

MAI-Image-2.5 Pro is Microsoft betting on its own first-party model for a category — image generation — that has mostly been third-party territory in Foundry until now. The pitch isn’t “prettiest demo image.” It’s “precise edits with consistency,” which is the actual bottleneck for anyone trying to move image generation from a design toy into a production content pipeline.

If your team maintains product catalogs, marketing assets, or storyboards and you’re currently paying a human to manually generate every size and color variant — this is worth a pilot. Start with the generate-then-edit pattern above, point it at a real product shot, and see how many variants you can produce in a loop before lunch.


Resources


Azure 5 Highlights Thursday

Published: 2026-07-23
Source: https://www.linkedin.com/pulse/5-highlights-thursday-23rd-july-2026-117-edition-taswar-bhatti-s6rkf

Hope everyone is enjoying some summer break and here is the #117 edition of 5 Highlights Thursday. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. Free Book – Prompt Engineering for .NET Developers

Excited to share something I’ve been working on…After many late nights of writing, testing, and refining, I’ve finished my FREE ebook: Prompt Engineering for .NET Developers. You can read the entire book from leanpub or from my github repo. taswar/PromptEngineeringForDotNetDevelopers: A free ebook for .NET developers building real AI-powered apps in C# — no Python, no hype.

2. Build Agents you Can Trust on Windows

Through live demos, you’ll see how agents identify available capabilities, plan and take meaningful actions, and how Windows layers permission scoping, inspection, developer tool capabilities, and rollback to keep developers in control.

3. Claude Opus 4 + RAG: Build an AI App with Embeddings & Knowledge Graphs

In this episode, host Justin Garrett sits down with Microsoft MVP Michael Washington to explore how he built AI Story Builders—an open-source (MIT) app that uses structured story data, embeddings, and Retrieval Augmented Generation (RAG) to help authors write coherent, consistent fiction.

4. Work IQ: Tooling with MCP & CLI

Jared Spataro, CVP of AI Solutions opens this episode of Work IQ by explaining how Work IQ MCP tools enable agents to safely consume and act on Microsoft 365 workloads. Paolo Pialorsi
, Sr Cloud Advocate, then demonstrates using MCPs and Copilot CLI to observe, reason over, and take actions across M365 surfaces like files, meetings, and messages, before our visualization expert, Tomomi Imura , brings it all together.

5. Stop Stitching Models Together — Cohere Command A+ Lands in Microsoft Foundry

Embedded content: Stop Stitching Models Together — Cohere Command A+ Lands in Microsoft Foundry – Taswar Bhatti

Here a blog post of mine that talks about Cohere Command A+ with sample code also in github. Read about how to get Cohere Command A+ up and running on Microsoft Foundry.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Download my Free Ebook Prompt Engineering for .NET Developers.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe

Have a wonderful Thursday 😉

Taswar

prompt.engineering.for.dot.net.developers

Most prompt engineering content out there assumes you’re writing Python. Jupyter notebooks, pip install, Conda environments — none of it maps to how most of us actually ship software.

If you’re a .NET developer who wants to build real AI-powered features — not toy demos — into your applications, I wrote a free ebook for exactly that: Prompt Engineering for .NET Developers.

Why I Wrote This

Every prompt engineering tutorial I found was Python-first. Meanwhile, Microsoft.Extensions.AI gives .NET developers a clean, unified abstraction over LLM providers — LM Studio, OpenAI, Azure AI Foundry — using the exact same IChatClient interface. There was no practical, runnable guide to prompt engineering that met C# developers where they already live.

So I built one.

What’s Inside

Seven focused chapters, each ending in a runnable C# project:

  1. The .NET Developer’s AI Landscape — the cost spectrum and Microsoft’s AI stack
  2. Setting Up Your AI Dev Environment — LM Studio, OpenAI, Azure AI Foundry, all via the same interface
  3. How LLMs Work — just enough theory to write better prompts, no transformer lecture
  4. Anatomy of a Great Prompt — you’ll build a fluent PromptBuilder class
  5. Core Prompting Techniques — zero-shot, few-shot, chain-of-thought, and how to handle sycophancy (the silent failure mode where the model just tells you what you want to hear)
  6. Structured Outputs and Advanced Patterns — defensive JSON parsing, streaming, resilience
  7. Prompt Patterns for Real Developer Workflows — you’ll carry PromptBuilder into DevToolkit, a console app that does AI-powered code review, test generation, commit messages, and docs

No Jupyter. No Python. Just dotnet new console and code that runs.

Try It in 5 Minutes

That’s the PromptBuilder fluent class from Chapter 4, running against a local model — zero API cost.

Get It

If you’ve been putting off learning prompt engineering because every guide assumes Python, this is for you. Would love to hear what you build with it — drop a comment or open a GitHub discussion.

Azure 5 Highlights Thursday

Published: 2026-07-16
Source: https://www.linkedin.com/pulse/5-highlights-thursday-16th-july-2026-116-edition-taswar-bhatti-nj6df

Hope everyone is enjoying some summer break and here is the #116 edition of 5 Highlights Thursday. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. Using GitHub Copilot for Linux performance troubleshooting on Azure

Linux performance troubleshooting on Azure isn’t usually limited by a lack of data — it’s limited by knowing what to investigate next. In this session, Karl Abbott shows how GitHub Copilot can help move from performance signals to answers faster. Using a real Azure Linux VM scenario, he demonstrates how Copilot can diagnose high load, identify CPU saturation, connect signals across CPU, memory, and disk I/O, explain the root cause, apply a fix, and verify recovery. Join Karl Abbott where you’ll see how Copilot acts as a knowledgeable pair partner for Linux performance analysis — choosing diagnostic tools, interpreting output, and making troubleshooting knowledge easier to share across teams.

2. How Sprinklr leverages Microsoft Azure Cobalt 100 VMs for massive scale

See how Sprinklr is transforming customer experience at global scale with Microsoft Azure Cobalt 100 VMs. By modernizing on Arm-based infrastructure, Sprinklr is boosting efficiency, lowering compute costs, and powering real-time insights across billions of customer interactions. Learn how Sprinklr and Microsoft are helping brands understand and serve customers better than ever.

3. Install & Configure the Azure Migrate Appliance: Discovery, Readiness & Business Case

In this tutorial, you’ll learn how to install and configure the Azure Migrate appliance, run discovery of your VMware environment, assess migration readiness, generate a migration business case, and prepare your Azure landing zone.

4. Turning Coding Agents into an Azure Cosmos DB Expert with the Agent Kit

In this Azure Friday episode, Scott Hanselman and Sajeetharan Sinnathurai demonstrate the Azure Cosmos DB Agent Kit — a skill you install with one command that gives your coding agent 100+ Cosmos DB best-practice rules across data modeling, partitioning, query optimization, and SDK usage and much more. Using a multi-agent fitness coaching app as an example, they show how the kit caught a missing partition key filter that was leaking member data across tenants, recommended hierarchical partitioning for multi-tenant scale, and fixed a fan-out query—all before the code shipped to production

5. Kimi K2.7 Code is Now Available in Microsoft Foundry

Embedded content: Kimi K2.7 Code is Now Available in Microsoft Foundry – Taswar Bhatti

Kimi K2 7B Code is now available in Microsoft Foundry, bringing strong code generation and development capabilities into the platform developers already use to build AI-powered applications. In this post, I walk through what Kimi K2 7B Code is, why it matters for developers, and how you can quickly get started experimenting with it in Foundry. If you’re exploring AI-assisted development, coding agents, or the latest open models in the Microsoft ecosystem, this is worth a look.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe on LinkedIn

Have a wonderful Thursday 😉

Taswar

Azure 5 Highlights Thursday

Published: 2026-07-09
Source: https://www.linkedin.com/pulse/5-highlights-thursday-9th-july-2026-115-edition-taswar-bhatti-gwdjf

Hope everyone is enjoying some summer break and here is the #115 edition of 5 Highlights Thursday. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. Discovering Power App Data with M365 Copilot using MCP | DEM360

With millions of users world-wide, Power Apps and Dataverse now sit atop critical business data, but developers face challenges with discoverability and schema understanding. This session Christine Flora (her/she) introduces Power Apps Model Context Protocol (MCP), which empowers M365 Copilot to access app metadata, Dataverse schemas, relationships, and permissions. Learn how MCP enables Copilot to answer natural-language queries, aggregate data, and deliver real-time insights, plus best practices for Copilot-ready apps.

2. What are AI ‘hallucinations’ and can we fix LLMs so that they don’t happen?

Can we eliminate AI hallucinations? Mark Russinovich explains why large language models make mistakes, what developers can do to reduce them, and why they remain a fundamental limitation of today’s AI systems.

3. Microsoft Defender: Extending critical protection for emerging threats in Team

This episode dives into the attacks targeting Microsoft Teams—phishing, impersonation, malicious calls, and other social engineering techniques used by threat actors today. Dive in as Jeremy Beckley and Malvika Balaraj explain how Defender XDR detections are being developed to help SOC teams gain visibility into these attacks, and recent Microsoft Defender for Office 365 capabilities that help customers protect, detect, investigate, and respond to emerging Teams-based threats.

4. Meet Azure HorizonDB, the new Postgres on Azure

Azure HorizonDB is a new Postgres service on Azure built for scale, availability, and performance across any workload. In this episode of Azure Friday, Scott Hanselman & Charles Feddersen look at how HorizonDB delivers predictable performance with built‑in zone resilience. They also explore new in‑database AI features like AI Model Management and AI Pipelines, and walk through the developer experience in VS Code to build, query, and manage efficiently using AI.

5. Microsoft Dataverse plugin: unleashing coding agents on the enterprise

Coding agents are powerful, but without domain tooling they hallucinate and produce broken solutions. The Dataverse plugin solves this by giving AI agents guardrailed access to tables, columns, relationships, views, security and solutions. See how a natural language request triggers multi-step provisioning, data imports and validation. All executed autonomously. Join Elaiza Benitez , where Kent Weare
shows demos the plugin architecture, MCP server integration and patterns that make agent-driven Dataverse development reliable at scale.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe on LinkedIn

Have a wonderful Thursday 😉

Taswar

UA-4524639-2