πŸ˜ƒ AI.Facial.Emotion – A .NET Library for Facial Emotion Analysis

Duc Nguyen Thanh - Feb 25 - - Dev Community

Ever wondered how AI can detect emotions from faces? πŸ€–πŸ’‘

Meet AI.Facial.Emotion – a lightweight and powerful .NET library that can analyze facial emotions, age, and gender in real-time. Whether you're building chatbots, customer analytics, security systems, or healthcare apps, this tool makes it easy to integrate AI-powered facial analysis into your projects.

Happiness


🎯 What Can It Do?

βœ… Detect Emotions – Identify happiness, sadness, anger, surprise, and more.
βœ… Estimate Age – Predict an approximate age range.
βœ… Classify Gender – Recognize male or female faces.
βœ… Optimized for .NET – Works with .NET 6, 7, 8, and 9.
βœ… Multiple Input Formats – Accepts image URLs, Base64 strings, and file streams.


πŸš€ Why Use It?

βœ… Fast & Efficient – AI models optimized for real-time processing.
βœ… Easy Integration – Works seamlessly with ASP.NET Web API.
βœ… Privacy First – No external API calls, all processing happens locally.


πŸ“¦ Installation (Super Easy!)

Just install it via NuGet:

dotnet add package AI.Facial.Emotion

Enter fullscreen mode Exit fullscreen mode

Make sure your .NET Web API project is running .NET 6 or higher.

using AI.Facial.Emotion;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton<EmotionAnalyzer>();

var app = builder.Build();
app.MapControllers();
app.Run();
Enter fullscreen mode Exit fullscreen mode

⚑ Quick Start

1️⃣ Detect Emotion from an Image URL

var analyzer = new EmotionAnalyzer();
var result = await analyzer.AnalyzeEmotionFromUrlAsync("https://example.com/image.jpg");

Console.WriteLine($"Emotion: {result.Emotion}");
Enter fullscreen mode Exit fullscreen mode

2️⃣ Detect Emotion from a Base64 Image

var base64Image = "iVBORw0KGgoAAAANSUhEUgAA...";
var result = await analyzer.AnalyzeEmotionFromBase64Async(base64Image);

Console.WriteLine($"Emotion: {result.Emotion}");
Enter fullscreen mode Exit fullscreen mode

3️⃣ Detect Emotion from a File Stream

using var fileStream = File.OpenRead("image.jpg");
var result = await analyzer.AnalyzeEmotionFromStreamAsync(fileStream);

Console.WriteLine($"Emotion: {result.Emotion}");
Enter fullscreen mode Exit fullscreen mode

⚑That is some results

Anger

Surprise

. . . . . . . . . . . . . . . . . . . . . . . . . . .