# Audio Moderation

Stream's audio moderation engine, powered by [OpenAI](https://openai.com/), transcribes audio uploads and evaluates the resulting transcript against a configurable set of harm categories. Voice messages, voice notes, and other audio attachments are processed asynchronously to avoid any latency in your application.

Key Features:

- Transcribe audio uploads and moderate the resulting text
- Independent audio configuration with the same harm categories available to text moderation
- Moderate audio content at scale
- Store transcripts alongside audio URLs in the Review Queue for moderator context
- Support both chat voice messages and feeds audio attachments

## Language Support

Audio moderation supports the languages that OpenAI's transcription API recognizes. The system automatically identifies the spoken language and transcribes accordingly. The following languages are officially supported:

<admonition type="tip">

Languages outside this list may still transcribe, but with reduced accuracy. If audio in a specific language is important to your use case, we recommend validating quality on a sample before rolling out.

</admonition>

- Afrikaans
- Arabic
- Armenian
- Azerbaijani
- Belarusian
- Bosnian
- Bulgarian
- Catalan
- Chinese
- Croatian
- Czech
- Danish
- Dutch
- English
- Estonian
- Finnish
- French
- Galician
- German
- Greek
- Hebrew
- Hindi
- Hungarian
- Icelandic
- Indonesian
- Italian
- Japanese
- Kannada
- Kazakh
- Korean
- Latvian
- Lithuanian
- Macedonian
- Malay
- Marathi
- Maori
- Nepali
- Norwegian
- Persian
- Polish
- Portuguese
- Romanian
- Russian
- Serbian
- Slovak
- Slovenian
- Spanish
- Swahili
- Swedish
- Tagalog
- Tamil
- Thai
- Turkish
- Ukrainian
- Urdu
- Vietnamese
- Welsh

## Supported Formats

Audio moderation accepts the following file extensions:

- `.mp3`
- `.mpga`
- `.mpeg`
- `.mp4`
- `.m4a`
- `.wav`
- `.webm`

The following MIME types are accepted:

- `audio/mpeg`, `audio/mp3`
- `audio/mp4`, `audio/x-m4a`
- `audio/wav`, `audio/wave`, `audio/x-wav`, `audio/vnd.wave`
- `audio/webm`
- `video/mp4` (for MP4 containers that carry audio)
- `application/octet-stream` (the default for many CDNs and S3 buckets)

Uploads with a MIME type outside this allowlist are skipped without moderating. To keep unsupported uploads out entirely, configure a File Upload Whitelist/Blocklist from the dashboard.

## Limitations

- Each request can include a maximum of 10 audio attachments. Requests with more attachments are rejected before transcription.
- Audio files must be no larger than 25 MB. Larger files are skipped without moderating.
- Audio moderation runs asynchronously, so audio is accepted immediately without any latency. It will take a few seconds or minutes for moderation to complete. Once the moderation is complete, the audio will be either blocked or flagged depending on the configured rules.
- Only spoken content is analyzed. Music, ambient noise, and other non-speech audio are moderated only to the extent that the transcription model surfaces recognizable words.

## Configuration

Audio moderation has its own independent configuration. Enabling or tuning text moderation does not turn audio moderation on, and vice versa. Rules use the same category labels and action set as the AI Text engine and are applied to the transcript, but you define them separately on the audio configuration. See [AI Text (NLP)](/moderation/docs/node/engines/ai-text/) or [AI Text (LLM)](/moderation/docs/node/engines/ai-llm-text/) for the complete category list and severity levels.

## How It Works

When an audio file is uploaded:

1. The audio is accepted immediately to maintain low latency.
2. Transcription begins asynchronously in the background.
3. The resulting transcript is evaluated against the harm categories configured on the audio configuration.
4. If confidence thresholds are met, configured actions are applied.
5. The message or post is updated based on moderation results.
6. Flagged audio appears in the Review Queue with the transcript attached so moderators can read what was said before deciding.
7. Receive the audio URL and transcript together as supporting evidence on the review item.

## Best Practices

For optimal audio moderation:

- Configure your audio rules explicitly. Audio moderation stays off until at least one active-action rule is set on the audio configuration.
- Use the "Flag" action for borderline cases that need human review.
- Use "Block" for clearly inappropriate content.
- Monitor the Review Queue regularly to validate automated decisions.
- Adjust thresholds based on observed accuracy.
- Consider your audience and community standards when configuring rules.
- Restrict user-uploaded audio to the formats your users actually need via the File Upload Whitelist to keep unsupported audio from bypassing moderation.


---

This page was last updated at 2026-07-17T15:25:37.627Z.

For the most recent version of this documentation, visit [https://getstream.io/moderation/docs/node/engines/ai-audio-file-moderation/](https://getstream.io/moderation/docs/node/engines/ai-audio-file-moderation/).