recordings_get_person_detections
Get recording person detections
Read raw person-detection evidence for one source-time window of a recording. Returns detector boxes normalized to the recording's display frame, each with its score, whether it was accepted or retained as sub-threshold, an optional track-continuity id, a tracker-ambiguity flag, and an inferred speaker attribution carrying the basis that justified it (face_anchor: a reviewed face sat inside this box at this instant; track_propagated: carried along a track from an anchor elsewhere in it; appearance_reassociation: re-established across a track boundary by relative appearance ranking; escalation_arbitrated: committed by the reviewed escalation lane; voice_turn_binding: the person layer bound this stretch of the track to the voice speaking while it held the picture). This is unreviewed machine output, not identity: a track id is continuity, and an unattributed box is honestly unassigned. Reviewed, human-scoped subject geometry stays in recordings_get_speaker_evidence.
Surface: App-only
Product release 1dce717408a55fac1047e7d779177fa3ef8ede51
Public contract commit 1ce47f7857ae3d9b6933fe83d5c33de3ae5efc64
Public contract SHA-256 241d47d25e4b4c1dae9d2263793874d06fc4ba7bc3c78d4cf2bc63fbb32ed7dc
Captured 2026-09-24T16:39:30.100Z. Review or improve this contract on GitHub.
These blocks show the complete MCP descriptors captured from serving Rails. Security schemes and resource URIs can differ by connected host.
App descriptor
{
"name": "recordings_get_person_detections",
"title": "Get recording person detections",
"description": "Read raw person-detection evidence for one source-time window of a recording. Returns detector boxes normalized to the recording's display frame, each with its score, whether it was accepted or retained as sub-threshold, an optional track-continuity id, a tracker-ambiguity flag, and an inferred speaker attribution carrying the basis that justified it (face_anchor: a reviewed face sat inside this box at this instant; track_propagated: carried along a track from an anchor elsewhere in it; appearance_reassociation: re-established across a track boundary by relative appearance ranking; escalation_arbitrated: committed by the reviewed escalation lane; voice_turn_binding: the person layer bound this stretch of the track to the voice speaking while it held the picture). This is unreviewed machine output, not identity: a track id is continuity, and an unattributed box is honestly unassigned. Reviewed, human-scoped subject geometry stays in recordings_get_speaker_evidence.",
"inputSchema": {
"type": "object",
"properties": {
"recording_id": {
"type": "string",
"description": "Recording public ID."
},
"window_start_seconds": {
"type": "number",
"description": "Window start on the recording's source-time axis."
},
"window_end_seconds": {
"type": "number",
"description": "Window end on the recording's source-time axis. Spans are clamped; the served window is reported back."
},
"limit": {
"type": "integer",
"description": "Maximum detections to return for the window."
}
},
"required": [
"recording_id"
],
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"securitySchemes": [
{
"type": "noauth"
}
],
"_meta": {
"securitySchemes": [
{
"type": "noauth"
}
],
"ui": {
"visibility": [
"app"
]
},
"openai/widgetAccessible": true,
"openai/visibility": "private"
},
"outputSchema": {
"type": "object",
"properties": {
"recording_id": {
"type": "string"
},
"person_detections": {
"type": "object"
}
},
"required": [],
"additionalProperties": false
}
}Errors
[
"recording_not_found",
"invalid_input"
]Examples
[]