When to Use
Allows downstream systems to re-segment a conversation without re-uploading media.
Request
Full timeline array from /analyze endpoint.
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.