Advanced Analysis

Upload a video and receive **two analyses in parallel**: 1. **Video Analysis** — scores (likeability, authenticity, clarity, confidence), strengths, areas for improvement, time-series scores, labeled moments, and detailed feedback. 2. **Biometric Analysis** — triage classification, emotion detection, governance (action flags, recommended actions), and a scientific interpretation narrative. ### How it works - **Thread 1 (AI):** Video → AI AI → structured video analysis - **Thread 2 (engine):** 1. Transcript (user-provided or auto-generated via Deepgram) 2. 5 biometric KPIs derived from the transcript 3. KPIs + transcript → engine API → structured biometric analysis Both threads run concurrently. If engine is not configured or fails, `engine_analysis` will be null while `video_analysis` is still returned.

Authentication

AuthorizationBearer

Your API key (e.g. ng_xxx…). The Try it and generated code send it as Authorization: Bearer <key>. Alternatively use the X-API-Key header with the raw key.

Request

This endpoint expects a multipart form containing a file.
sessionIdstringOptional
Optional session identifier
videofileRequired

Video file to analyze (MP4, WebM, MOV, AVI, MKV)

transcriptstringOptional

Optional session transcript. If empty or omitted, the API auto-generates one using Deepgram speech-to-text.

context_phrasestringOptionalDefaults to professional communication coaching session

Scenario description for contextual profiling (e.g. “job interview practice”, “sales pitch rehearsal”).

mediapipeSamplesstringOptional
Optional JSON array of MediaPipe face landmark samples

Response

Combined analysis result from AI and engine
sessionIdstring
The session identifier echoed back.
video_analysisobject
Full AI video analysis.
engine_analysisobject or null
Biometric analysis. Null if engine is not configured or the pipeline fails.
engine_kpisobject or null
The 5 biometric KPIs derived from the transcript and sent to engine.
transcriptstring or null

Transcript used (user-provided or Deepgram-generated).

videoUrlstring or null

Pre-signed S3 URL to view the uploaded video (expires in 1 hour).

Errors

401
Unauthorized Error
422
Unprocessable Entity Error
500
Internal Server Error