Skip to main content

When to Use

Allows downstream systems to re-segment a conversation without re-uploading media.

Request

timeline
array
required
Full timeline array from /analyze endpoint.
context
string
Optional focus (e.g., “highlight trust-building moments”).

Request Example

{
  "timeline": [
    {
      "utterance_id": "analysis_utt_0",
      "speaker": "Speaker_1",
      "t_start": 0.0,
      "t_end": 5.2,
      "text": "Hello, thanks for joining...",
      "emotion": { ... },
      "cognitive": { ... }
    }
    // ... more timeline entries
  ],
  "context": "Optional focus (e.g., highlight trust-building moments)."
}

Response

{
  "segmentation": {
    "phases": [
      {
        "phase_id": "phase_1",
        "phase_name": "Opening & Calibration",
        "start_timestamp": 0.0,
        "end_timestamp": 120.5,
        "start_utterance_id": "analysis_utt_0",
        "end_utterance_id": "analysis_utt_5",
        "utterance_count": 6,
        "theme": "...",
        "summary": "...",
        "emotional_tone": "optimistic",
        "key_moments": [],
        "transition_signal": null
      }
    ],
    "total_phases": 4,
    "segmentation_rationale": "Problem-solution arc",
    "narrative_arc": "problem-solution",
    "key_transitions": [
      {
        "timestamp": 47.8,
        "from_phase": "phase_3",
        "to_phase": "phase_4",
        "trigger": "Emotion shift to concern around hiring pain points"
      }
    ]
  }
}
Validation requires at least one timeline entry; missing timeline returns HTTP 400.