ModerationAPI

Features 🔥
- Fully generated C# SDK based on official ModerationAPI OpenAPI specification using AutoSDK
- Same day update to support new features
- Updated and supported automatically if there are no breaking changes
- All modern .NET features - nullability, trimming, NativeAOT, etc.
- Support .Net Framework/.Net Standard 2.0
Usage
| using ModerationAPI;
using var client = new ModerationAPIClient(apiKey);
|
Generate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | using var client = new ModerationAPIClient(apiKey);
// Create a text moderation request.
OneOf<NewModerateModerateRequestContentContentLeafText, NewModerateModerateRequestContentContentLeafImage, NewModerateModerateRequestContentContentLeafVideo, NewModerateModerateRequestContentContentLeafAudio>?
textContent = new NewModerateModerateRequestContentContentLeafText("Hello, this is a friendly message.");
var response = await client.NewModerateModerateAsync(
request: new NewModerateModerateRequest
{
Content = textContent,
DoNotStore = true,
});
// Check the evaluation result.
// The evaluation includes whether the content was flagged, the flag probability,
// and a severity score.
Console.WriteLine($"Flagged: {response.Evaluation.Flagged}");
Console.WriteLine($"Flag Probability: {response.Evaluation.FlagProbability}");
Console.WriteLine($"Severity Score: {response.Evaluation.SeverityScore}");
Console.WriteLine($"Recommended Action: {response.Recommendation.Action}");
|
ListActions
| using var client = new ModerationAPIClient(apiKey);
var actions = await client.Actions.ActionsListAsync();
// Each action has an ID, name, and configuration.
foreach (var action in actions)
{
Console.WriteLine($"Action: {action.Name} (ID: {action.Id})");
}
|
| using var client = new ModerationAPIClient(apiKey);
// Create tools for text moderation, image moderation, queue stats, and listing actions.
var moderateTextTool = client.AsModerateTextTool();
var moderateImageTool = client.AsModerateImageTool();
var getQueueStatsTool = client.AsGetQueueStatsTool();
var listActionsTool = client.AsListActionsTool();
// These tools can be passed to any IChatClient that supports function calling.
var tools = new[] { moderateTextTool, moderateImageTool, getQueueStatsTool, listActionsTool };
|
Support
Priority place for bugs: https://github.com/tryAGI/ModerationAPI/issues
Priority place for ideas and general questions: https://github.com/tryAGI/ModerationAPI/discussions
Discord: https://discord.gg/Ca2xhfBf3v
Acknowledgments

This project is supported by JetBrains through the Open Source Support Program.