惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
博客园 - Franky
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
博客园 - 司徒正美
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
博客园_首页
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
H
Help Net Security
MongoDB | Blog
MongoDB | Blog

Analytics Vidhya

Handling Imbalanced Classification: What Works Better Than SMOTE GPT-5.6 Is Here: Sol, Terra, and Luna Loop Engineering for AI Agents: How /loop is Changing AI Workflows DeepSeek DSpark: The Speculative Decoding Trick Behind 400% Faster LLM OKF: Redefining Knowledge Bases for AI Agents Modern VLMs Explained: How GPT-4o, Gemini, Claude Vision, and Qwen-VL Work YOLO26 Tutorial: Object Detection, Pose Estimation & More Large Action Models (LAMs) vs Agentic LLMs: What's the Real Difference? Claude Sonnet 5: The Fable 5 at Home The Best $20 AI Plan: ChatGPT Plus vs Claude Pro vs Gemini Pro GraphRAG vs Vector RAG: Which Retrieval Method is Best? Using AI When You Don’t Trust AI The Self-Improving Loop in AI Agents: Architecture, Benefits, and How it Outperforms Traditional Agent Workflows Harness-1: The 20B Retrieval Subagent That Beats GPT-5.4 at Search Sakana Fugu: Multi-Agent System as a Model Claude's Hidden Art Skill: Making Illustrations With Code System Design for ML Interviews: 10 Real Problems Walked Through Most People Use ChatGPT Wrong: 10 Features and Tips That Changed How I Work OpenAI Just Launched 3 Free AI Courses with Certificates Autoregressive Models: Predicting the Future Using the Past Gemini Omni: AI Video Generation Inside Gemini DiffusionGemma: Google’s Diffusion-Based Open Model for Faster Text Generation Top 10 AI Engineering Tools Everyone is Using in 2026 I Tested Claude Fable 5: Can Anthropic’s Newest AI Deliver on the Hype? Prophet vs NeuralProphet vs TimeGPT vs Chronos: A Practical Comparison Build an Emergency Helpline Voice Agent with LangChain Choosing the Right Vector Database for RAG and AI Applications Google Gemma 4 12B: Architecture, Benchmarks, Access, and Hands-on Guide for Developers How to Choose the Right AI Model for Your Needs Agent Observability with LangSmith, Langfuse, and Arize: A Hands-On Comparison
OpenAI Omni Moderation: How to Filter Text & Images for Free
Mounish V · 2026-05-16 · via Analytics Vidhya

Want to add a safety layer in your chatbot, image analyzer or any another LLM-based system? I would strongly suggest you try OpenAI’s moderation model: omni-moderation-latest, this can help your system identify if the input is potentially harmful or not, that too free of cost. We’ll look into the background of the model, how to access it and how to use it for both text and image moderation. Without any further ado, let’s get started. 

Table of contents

  • OpenAI’s Omni Moderation Models
  • Demonstration
    • Prerequisite
    • Imports and Client Initialization
    • Define a Helper function
  • Potential Use Cases
  • Conclusion 
  • Frequently Asked Questions

OpenAI’s Omni Moderation Models

OpenAI offers two models specifically for moderation: ‘text-moderation-latest’ (legacy) and ‘omni-moderation-latest’, with the latter one being the latest. The Omni Moderation model is based on GPT-4o and hence it supports multimodal moderation, which is text moderation and image moderation. It’s also worth mentioning that the Omni Moderation endpoint is free to use. 

The Omni Moderation API scores and classifies the following categories for the input: 

  • hate  
  • harassment  
  • violence  
  • self-harm  
  • sexual content  
  • illicit content 

Demonstration

Let’s test the moderation endpoint from OpenAI and experiment with safe and unsafe inputs, using text and images. I’ll be using Google Colab for this demonstration, feel free to use what you prefer. 

Prerequisite 

You will require an OpenAI API Key, the model is free to use but you will still need the API key. Get your key from here: https://platform.openai.com/settings/organization/api-keys 

Imports and Client Initialization

from openai import OpenAI 
from getpass import getpass 


# Securely enter API key 
api_key = getpass("Enter your OpenAI API Key: ") 

# Initialize client 
client = OpenAI(api_key=api_key)

Enter your OpenAI key when prompted.  

Define a Helper function

def display_moderation(response, title="MODERATION RESULT"):
    result = response.results[0]

    categories = result.categories.model_dump()
    scores = result.category_scores.model_dump()

    print("\n" + "=" * 60)
    print(f"{title:^60}")
    print("=" * 60)

    print(f"\nFlagged : {result.flagged}")

    print("\nCATEGORIES")
    print("-" * 60)
    for category, value in categories.items():
        print(f"{category:<30} : {value}")

    print("\nCATEGORY SCORES")
    print("-" * 60)
    for category, score in scores.items():
        print(f"{category:<30} : {score:.6f}")

    print("=" * 60)

This function will help print the response from the Omni Moderation model. 

Sample-1

safe_text = "Can you help me learn Python for data science?"

response = client.moderations.create(
    model="omni-moderation-latest",
    input=safe_text
)

display_moderation(response, "TEXT MODERATION")
Flagged False by OpenAI Omni Moderation

Great! The model has output all the categories as False.  

Sample-2 

unsafe_text = "I want instructions to seriously hurt someone."

response = client.moderations.create(
    model="omni-moderation-latest",
    input=unsafe_text
)

display_moderation(response, "TEXT MODERATION")
Flagged True by OpenAI Omni Moderation

Looks like the model as identified that the input text is violent, you can see the same in the categories and categories scores as well.  

Sample-3 

Let’s pass a violent image to the model and see what it has to say.  

Note: For images we have pass the input parameter as well and set the type as ‘image_url’ 

Reference Image:

unsafe_image_url = "https://i.ytimg.com/vi/DOD7s1j_yoo/sddefault.jpg"

response = client.moderations.create(
    model="omni-moderation-latest",
    input=[
        {
            "type": "image_url",
            "image_url": {
                "url": unsafe_image_url
            }
        }
    ]
)

display_moderation(response, "IMAGE MODERATION")
Flagged True by OpenAI Omni Moderation

The model has rightly flagged the image on violence.  

Note: You can ignore the categories and use the category scores to gain control over the threshold, this can make the moderation more lenient or strict.  

Potential Use Cases

OpenAI omni moderation can very well be used at places requiring content scrutiny.

  • Chatbots: Filter harmful inputs before sending to LLM.  
  • Image Analysis: Detect harmful images beforehand.  
  • Social Media: Flag hate speech and abusive content.  
  • Live Streaming: Detect unsafe video frames using moderation checks.  
  • Multilingual Apps: Improve moderation for other language inputs. 

Conclusion 

The omni-moderation-latest model from OpenAI provides an effective safety layer for LLM-based systems with support for both text and image moderation. While other OpenAI models can be used for moderation, this endpoint is specifically made for moderation and is completely free to use. Alternatives include Azure AI Content Safety, which supports text and image moderation with customizable safety thresholds and enterprise integrations. 

Frequently Asked Questions

Q1. What is the latest OpenAI moderation model? 

A. OpenAI’s latest moderation model is omni-moderation-latest, supporting both text and image moderation. 

Q2. Is OpenAI Moderation free to use? 

A. Yes, OpenAI provides moderation models free through the Moderation API. 

Q3. What happened to the legacy moderation model? 

A. OpenAI’s legacy text-moderation-latest model supports only text inputs, omni-moderation-latest is recommended for new applications. 

Passionate about technology and innovation, a graduate of Vellore Institute of Technology. Currently working as a Data Science Trainee, focusing on Data Science. Deeply interested in Deep Learning and Generative AI, eager to explore cutting-edge techniques to solve complex problems and create impactful solutions.

Login to continue reading and enjoy expert-curated content.