---
title: "Get Personality Analysis"
method: GET
path: "/v2/videos/{video_id}/faces/{face_id}/personality-analysis"
tags: ["Video Emotion API"]
---

# Get Personality Analysis

`GET /v2/videos/{video_id}/faces/{face_id}/personality-analysis`

Retrieve OCEAN personality analysis results for a specific face in a video.

This endpoint provides comprehensive Big Five (OCEAN) personality trait analysis for a specific
face detected in a video. It retrieves both processing status and completed analysis data from
dual data sources, returning conditional data based on completion status.

## Path parameters

- `video_id` string, required — Unique identifier of the video containing the face.
- `face_id` integer, required — Face identifier for which to retrieve personality analysis.

## Response `200`

Successful Response

- PersonalityAnalysisResponse — Complete response for personality analysis retrieval (public API). Attributes: video_id (str): Video identifier face_id (int): Face identifier (must be >= 1) analysis_status (Optional[Dict[str, PersonalityAnalysisStatus]]): Status of overall and/or by_segment analysis (only includes keys that exist) overall (Optional[PersonalityOverallMetrics]): Overall analysis (only if completed) by_segment (Optional[PersonalitySegmentMetrics]): Segment analysis (only if completed) project_personality (Optional[ProjectPersonalityBlock]): Additive block populated when this face is linked to a project Person with an aggregated personality. Existing clients ignore it; new clients offer a Project/Video toggle that switches headline OCEAN between this block and ``overall``. See `module/project_persons/README.md` "Read-time substitution".
  - `video_id` string, required
  - `face_id` integer, required
  - `analysis_status` object, nullable
  - `overall` PersonalityOverallMetrics — Overall personality analysis metrics. Attributes: ocean_metrics (PersonalityOceanMetrics): OCEAN personality trait scores
    - `ocean_metrics` PersonalityOceanMetrics, required — OCEAN personality trait metrics (Big Five personality traits). Attributes: agreeableness (float): Agreeableness level (0-1 range) conscientiousness (float): Conscientiousness level (0-1 range) extraversion (float): Extraversion level (0-1 range) neuroticism (float): Neuroticism level (0-1 range) openness (float): Openness to experience (0-1 range)
      - `agreeableness` number, required
      - `conscientiousness` number, required
      - `extraversion` number, required
      - `neuroticism` number, required
      - `openness` number, required
  - `by_segment` PersonalitySegmentMetrics — Segment-level personality analysis with segment interval and list of segments. Attributes: segment_interval_millis (int): Interval duration in milliseconds segments (List[PersonalitySegmentItem]): List of segment data with OCEAN metrics
    - `segment_interval_millis` integer, required
    - `segments` PersonalitySegmentItem[], required
      - `segment_id` integer, required
      - `start_millis` integer, required
      - `end_millis` integer, required
      - `ocean_metrics` PersonalityOceanMetrics, required — OCEAN personality trait metrics (Big Five personality traits). Attributes: agreeableness (float): Agreeableness level (0-1 range) conscientiousness (float): Conscientiousness level (0-1 range) extraversion (float): Extraversion level (0-1 range) neuroticism (float): Neuroticism level (0-1 range) openness (float): Openness to experience (0-1 range)
        - `agreeableness` number, required
        - `conscientiousness` number, required
        - `extraversion` number, required
        - `neuroticism` number, required
        - `openness` number, required
  - `project_personality` ProjectPersonalityBlock — Additive block on the per-video personality response when a face is linked. Carried alongside the existing per-video fields (``overall`` / ``by_segment``) so existing clients can ignore it and new clients can offer a Project/Video toggle without a separate fetch. The shape is intentionally lightweight — weights / bounds / ineligible appearances list stay on the Person detail endpoint to keep this payload small.
    - `project_id` string, required
    - `person_id` string, required
    - `person_name` string, required
    - `ocean` OceanScores, required — Big Five OCEAN trait scores in [0, 1]. Field names match ``PersonalityOceanMetrics`` exactly so JSON serialization is interchangeable across the two surfaces.
      - `agreeableness` number, required
      - `conscientiousness` number, required
      - `extraversion` number, required
      - `neuroticism` number, required
      - `openness` number, required
    - `modality_confidence` object, required
    - `aggregated_from_count` integer, required — Number of eligible appearances that contributed to this aggregate.
    - `input_versions` object — Per-video personality stamps (``{video_id: analysis_version}``) the aggregate was computed from. Use as a precise cache key for narrative synthesis and downstream cross-endpoint dedupe; ``computed_at`` alone is a coarser proxy that bumps on any recompute.
    - `computed_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/imentiv/apis/welcome-to-imentiv-ai.md) · [All operations](https://skmtc.net/imentiv/apis/welcome-to-imentiv-ai/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/imentiv/welcome-to-imentiv-ai/revisions/350e9cbcb623/schema)
