Intelligence Layer on Top of Voice and Fleet
Transcription, AI-powered moderation, serverless functions, automated scaling and even more smart workflows — natively on top of ODIN Voice and ODIN Fleet. Now in Early Access — apply to test Cortex on your project ahead of general availability.

Listen, Understand and Respond
Real-time transcription, AI moderation and event-driven automation — all in one platform.
Real-Time Transcription
Whisper-grade speech-to-text on every ODIN Voice stream. Streaming results, speaker attribution, 40+ languages — no external pipeline, no second audio path.
- Streaming + batch modes
- Speaker diarization
- 40+ languages out of the box
- Cloud or self-hosted

AI Moderation
Cortex transcribes voice in real time and runs every line through hate-speech detection. Slurs, harassment and grooming flagged in seconds, with sanctions issued back to the voice room before the next round starts.
- Immediate keyword detection
- Context-aware async analysis
- Configurable warnings, mutes, bans
- Audit trails for GDPR, COPPA, DSA
Custom Logic, Zero Infrastructure
Write TypeScript handlers that react to live voice events — new transcript line, toxicity flagged, session ended. Cortex deploys them on ODIN Fleet. No servers to manage, no cold starts.
export async function onMessage(ctx, evt) {
if (evt.annotations?.profanity?.severity > 0.8) {
await ctx.sanctions.mute({
participantId: evt.participantId,
reason: evt.annotations.profanity.reason,
durationMs: 60_000,
});
}
}Plugin Pipeline
Every transcript flows through a configurable plugin chain — moderation, summaries, custom analysis. Drop in your own, mix and match.
Event Webhooks
Every Cortex action emits a domain event. Subscribe via webhooks with HMAC signatures, exponential backoff retry and full audit log.
Semantic Search
Vector search across every transcript and session. Ask in natural language, get contextual answers from your communication history.
Gatherings
Pre-session coordination — lobbies, scheduled appointments, drop-in spaces. Ready-up mechanics, join codes and timezone-aware scheduling out of the box.
Compliance-Ready
Every transcript, every sanction, every decision logged is GDPR-compliant by default. Self-host the Whisper layer for full data sovereignty.
From Voice to Action in Four Steps
Audio in, automation out. Real-time, end-to-end — billed only for the minutes you process.
Capture
A Cortex bot joins your ODIN Voice room and listens passively. No second microphone, no client SDK changes, no impact on latency.
Transcribe
Whisper converts speech to text in real time, attributed by participant. Streaming results land in your dashboard and webhooks within seconds.
Analyze
Plugins run on every message. AI moderation flags toxicity. Summaries roll up sessions. Your custom plugins extract whatever else you need.
Act
Webhooks fire. Serverless functions run on Fleet. Sanctions issue back to the voice room — warnings, mutes, bans — all in real time.
AI Moderation, Built for Live Communities
Real-time hate-speech detection on every voice stream. Two layers of detection. Sanctions in seconds. Audit trails by default.
Two-Layer Detection. Real-Time Sanctions.
Cortex transcribes voice live and runs every line through hate-speech detection. The first pass catches unambiguous slurs in milliseconds. The second pass — context-aware async analysis — catches the harm a regex never will: grooming, coordinated harassment, dog whistles. Cortex serverless functions issue sanctions back to the voice room before the next round starts.
- Immediate keyword pass — milliseconds to mute on hard slurs
- Context-aware async pass — models read tone, intent, and conversational history
- Configurable sanctions — warnings, escalating mutes, bans, kicks
- Compliance-ready audit trails — every decision logged for GDPR, COPPA, DSA
- 54% higher player spend, 4× more daily sessions in healthy communities
ODIN Cortex Ships Ready
Stop stitchin APIs together with months of integration. Let Cortex do the heavy lifting.
The Old Way
Stitch a transcription vendor, a moderation API, a webhook router, and a serverless platform. Pay each one separately. Debug across four dashboards.
- Route audio to a transcription API
- Send transcripts to a moderation vendor
- Build your own webhook delivery and retry
- Stand up serverless infrastructure for sanctions logic
- Reconcile four bills, four SLAs, four support queues
The ODIN Way
Enable Cortex on your project. Transcription, moderation, webhooks and functions are already wired together — billed in one metric, supported by one team.
- Transcription runs natively on Voice streams
- Hate-speech detection ready out of the box
- Webhooks with retry and HMAC signatures included
- Serverless functions run on Fleet — no cold starts
- One bill, measured in Cortex Minutes
How Pay-as-you-go Bills
Three meters, one bill. Pay for the dimension you use — and only the dimension you use.
Bot Session
Hate-Speech (PCU)
Functions Runtime
Cortex Is Just the Beginning
Pair real-time intelligence with natural voice and managed infrastructure — natively, from one platform.
From Zero to Production
Cortex is wired to your existing ODIN project. Enable a plugin, write a function, ship moderation today.
Real-Time Transcription
Subscribe to live transcription events for any ODIN Voice session. Streaming partial results, final messages and speaker attribution out of the box.
import { CortexClient } from "@4players/odin-cortex";
const client = new CortexClient({
baseUrl: "https://ots.odin.4players.io",
apiKey: process.env.CORTEX_API_KEY!,
});
const project = client.project(process.env.PROJECT_ID!);
// Bind a Cortex session to an existing ODIN Voice room.
// `autoStart: true` spins up the bot and begins live transcription.
const session = await project.sessions.create({
title: "Squad Lobby",
externalRoomId: "lobby-42",
idleTimeout: 60,
autoStart: true,
});
// When the session ends, retrieve the transcript with speaker attribution.
await session.stop();
const messages = await session.getMessages();
for (const msg of messages) {
console.log(`[${msg.role}] ${msg.content}`);
}
Voice Moderation
Enable the AI moderation plugin on your project, configure thresholds and let Cortex sanction toxic speech automatically — no glue code required.
import { CortexClient } from "@4players/odin-cortex";
import { randomBytes } from "node:crypto";
const client = new CortexClient({
baseUrl: "https://ots.odin.4players.io",
apiKey: process.env.CORTEX_API_KEY!,
});
const project = client.project(process.env.PROJECT_ID!);
// 1. Forward AI moderation events to your webhook handler.
// The shared secret signs every delivery (X-Odin-Signature).
const webhookSecret = randomBytes(32).toString("hex");
await project.webhooks.createSubscription({
url: "https://example.com/cortex/moderation",
events: ["annotation.created", "message.created"],
secret: webhookSecret,
});
// 2. In your webhook handler, sanction users that breached the threshold.
const sanction = await project.sanctions.create({
participantId: "user-123",
type: "mute",
reason: "Hate speech detected by AI moderation",
});
// Optional: revoke once the user acknowledges a warning.
await sanction.revoke({ reason: "Warning acknowledged" });
Custom Cortex Functions
Write event handlers in TypeScript. Cortex deploys them on Fleet, triggers them on every transcript / sanction / session event and wires the response back into your voice room.
import { CortexClient } from "@4players/odin-cortex";
const client = new CortexClient({
baseUrl: "https://ots.odin.4players.io",
apiKey: process.env.CORTEX_API_KEY!,
});
const project = client.project(process.env.PROJECT_ID!);
// Author a function that reacts to live Cortex events.
// Cortex deploys the handler onto ODIN Fleet — no servers to manage.
const fn = await project.functions.create({
name: "auto-moderate",
code: `
export default async (ctx, event) => {
if (
event.type === "annotation.created" &&
event.data.kind === "profanity" &&
event.data.severity > 0.8
) {
await ctx.sanctions.create({
participantId: event.data.participantId,
type: "mute",
reason: event.data.reason,
});
}
};
`.trim(),
});
// Publish a version, then roll it out onto Fleet.
await fn.publish({ changelog: "Auto-mute hard slurs" });
await fn.deploy();
Webhooks
Subscribe with HMAC signatures, retry-with-backoff, full audit log. Free with every tier — never charged in Cortex Minutes.
Webhook GuideGatherings API
Lobbies with ready-up. Scheduled appointments with timezone support. Always-on drop-in rooms with join codes.
Gatherings Guide
