Start Video Stream Moderation
Live Video Content Moderation
Start Video Stream Moderation
Start video stream content moderation and logo detection with real-time processing.
POST
Start Video Stream Moderation
Product: Visual Intelligence — Live Video Content Moderation
Use case: Real-time NSFW / violence / logo detection on a live video stream (RTMP/RTSP), results pushed to your callback every 5s
Mode: Server-Pull (you give us a stream URL → we pull → results to your callback)
Host:
https://mavi-backend.memories.ai/serve/api/v2
Auth: Authorization: sk-mavi-... (no Bearer prefix)Pricing:The pricing varies based on the features enabled:Content Moderation + Logo Detection:
- Base rate: $2.00/hour
- Example (FPS=2): 0.00417 per 5-second segment)
- Base rate: $1.50/hour
- Example (FPS=2): 0.00313 per 5-second segment)
- Base rate: $1.50/hour
- Example (FPS=2): 0.00313 per 5-second segment)
duration: Video duration in seconds (5 seconds per segment)fps: Frames per second- Charges occur at start (pre-charge for one segment) and per segment processed
Supported Protocols
- RTMP (Recommended)
- RTSP
Key Features
- ✅ Real-time stream processing
- ✅ Automatic 5-second segmentation
- ✅ Asynchronous webhook callbacks
- ✅ Content moderation (adult content, violence, etc.)
- ✅ Logo detection and tracking
- ✅ Automatic resource management
Code Example
Response
Returns the task information for the started video stream.Request Parameters
Response Parameters
Callback Response Parameters
Callbacks are sent to your configured webhook URL every time a 5-second segment is processed.Status Codes
Callback Flow
Important Notes
- Webhook Configuration: Configure your webhook URL in user settings before using this API
- No callback parameter needed: The system uses a unified asynchronous callback mechanism
- Automatic segmentation: Every 5 seconds triggers a callback
- Pre-charge mechanism: Balance is checked and pre-charged at start
- Per-segment charging: Each processed segment is charged immediately
- Auto-stop on insufficient balance: Stream automatically stops if balance is insufficient (status 402)
- Concurrent stream limit: Each user has a maximum concurrent stream limit
- Retry mechanism: Failed callbacks are automatically retried
Rate Limiting
- Maximum concurrent streams: Each user can run N concurrent stream tasks (video + audio combined)
- Capacity check: Returns status 16 if server capacity is reached
- Balance check: Returns HTTP 402 if insufficient balance at start
Authorizations
Body
application/json
Video stream URL (supports RTMP/RTSP)
Example:
"rtmp://example.com/live/stream"
Enable content moderation
Enable logo detection
Frames per second to process
Required range:
x >= 1Maximum number of logos to detect (1-50)
Required range:
1 <= x <= 50