Skip to content

Moveris Meet — Overview

The Moveris Meet joins video calls on your behalf and runs real-time liveness detection on each participant using the Moveris API.

In plain terms

When someone joins a video interview, a bot enters the call like a participant. It watches each person's camera feed, sends frames to Moveris for analysis, and reports whether each participant appears live or fake. Your backend receives results through webhooks; an optional read-only link lets a human observer watch verdicts in real time.

What It Does

Automated join

Provide a Google Meet, Zoom, or Teams URL—the bot enters the call through Moveris’s meeting provider integration.

Per-participant checks

Each person on camera is analyzed independently with their own verdict.

Webhook delivery

Pass/fail results POST to your server after each analysis completes.

Interviewer view

Optional token link for a human observer—no login, live SSE updates.

Camera re-scan

Detects camera off/on and returns the participant to Ready to scan after a configurable quiet period — a new scan still has to be triggered manually.

Targeted scanning

Scan only named participants (and skip interviewers) using fuzzy name matching.

Mixed V3.1.1 models

Three production aliases: mixed-30-v3_1_1, mixed-60-v3_1_1, and mixed-120-v3_1_1.

Frame quality gating

Rejects blurry, dark, or poorly framed frames before analysis and streams frame-quality-rejected over SSE for live guidance.

Architecture at a Glance

flowchart TB
    BE[Your backend] -->|POST /api/sessions| BOT[Moveris Meet]
    BOT --> REC[Meeting provider]
    REC -->|WebSocket frames| BOT
    BOT -->|fast-check| API[Moveris API]
    API -->|verification.completed webhook| BE
    BOT -->|SSE optional| UI[Interviewer UI]
    BE -.->|share interview link| UI

For the full pipeline (frame buffering, correlation IDs, auth paths), see How It Works.

Integration Paths

flowchart LR
    subgraph Prod["Production integration"]
        M2M[M2M API key] --> S[POST /api/sessions]
        S --> W[Webhook receiver]
    end

    subgraph Optional["Optional"]
        IV[Interview token link]
        OAUTH[Browser UI + Google OAuth]
    end

    Prod --> Optional
Path Who uses it Auth
Machine-to-machine (M2M) Your backend before/during a meeting Authorization: Bearer sk-bot-<key>
Browser UI Internal operators scheduling sessions Google OAuth (optional)
Interviewer view Human observer during the call Signed interviewToken in URL

Most production integrations use M2M + webhooks, with the interviewer link when a human needs a live dashboard.

Supported Meeting Platforms

Platform Example URL format
Google Meet https://meet.google.com/xxx-xxxx-xxx
Zoom https://zoom.us/j/123456789
Microsoft Teams https://teams.microsoft.com/l/meetup-join/...

Models

The service passes your model field to the Moveris liveness API. Production sessions use Mixed V3.1.1 only: 30, 60, or 120 frames. Mixed V2 aliases are rejected.

Quick picker

If you need… Start with
Lowest latency in a live call mixed-30-v3_1_1
Higher scrutiny mixed-60-v3_1_1
Maximum temporal coverage mixed-120-v3_1_1

Mixed V3.1.1

Model Frames
mixed-30-v3_1_1 30 (default)
mixed-60-v3_1_1 60
mixed-120-v3_1_1 120

Frame count

The number in the alias is how many consecutive frames Meet collects (30 frames for mixed-30-v3_1_1). Pin model on POST /api/sessions. Do not omit it.