Default model tools

speaker_rename

Rename a speaker on a recording

Relabels one diarized speaker track inside a recording or that recording's episode-of-one, without confirming identity, creating a SpeakerProfile, or enrolling/saving a voiceprint. Use this when the user asks to fix captions such as "Speaker 2 is Adrian" and wants future captioned exports from this recording to use the corrected name. This is rename-only: biometric voice memory and identity confirmation require a human web action in speaker review.

Surface: Default model and app

Product release eb8538f4a297f331d0399351c1e175bffcd212d2
Public contract commit 20688e11af473a363145ed880d5019c90a7ec1e2
Public contract SHA-256 87a94b85a84dc19245fc03f9b544c70d64bd9f5e08585dcccb38157cace5700d
Captured 2026-10-04T11:55:45.577Z. 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.

Default model descriptor

{
  "name": "speaker_rename",
  "title": "Rename a speaker on a recording",
  "description": "Relabels one diarized speaker track inside a recording or that recording's episode-of-one, without confirming identity, creating a SpeakerProfile, or enrolling/saving a voiceprint. Use this when the user asks to fix captions such as \"Speaker 2 is Adrian\" and wants future captioned exports from this recording to use the corrected name. This is rename-only: biometric voice memory and identity confirmation require a human web action in speaker review.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "recording_id": {
        "type": "string",
        "description": "Recording public ID (`src_...`) or an episode/composition public ID (`comp_...`) that resolves to one recording."
      },
      "speaker": {
        "type": "string",
        "description": "Current speaker display label, speaker_key, or SpeakerMap public ID for the diarized track to rename."
      },
      "new_name": {
        "type": "string",
        "description": "New recording-local display name for this speaker track."
      },
      "confirm": {
        "type": "boolean",
        "description": "Optional; must be false or omitted. This tool does not confirm identity or save a voiceprint."
      }
    },
    "required": [
      "recording_id",
      "speaker",
      "new_name"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Rename a speaker on a recording",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ],
    "ui": {
      "visibility": [
        "model",
        "app"
      ]
    },
    "openai/widgetAccessible": true
  }
}

App descriptor

{
  "name": "speaker_rename",
  "title": "Rename a speaker on a recording",
  "description": "Relabels one diarized speaker track inside a recording or that recording's episode-of-one, without confirming identity, creating a SpeakerProfile, or enrolling/saving a voiceprint. Use this when the user asks to fix captions such as \"Speaker 2 is Adrian\" and wants future captioned exports from this recording to use the corrected name. This is rename-only: biometric voice memory and identity confirmation require a human web action in speaker review.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "recording_id": {
        "type": "string",
        "description": "Recording public ID (`src_...`) or an episode/composition public ID (`comp_...`) that resolves to one recording."
      },
      "speaker": {
        "type": "string",
        "description": "Current speaker display label, speaker_key, or SpeakerMap public ID for the diarized track to rename."
      },
      "new_name": {
        "type": "string",
        "description": "New recording-local display name for this speaker track."
      },
      "confirm": {
        "type": "boolean",
        "description": "Optional; must be false or omitted. This tool does not confirm identity or save a voiceprint."
      }
    },
    "required": [
      "recording_id",
      "speaker",
      "new_name"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Rename a speaker on a recording",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ],
    "ui": {
      "visibility": [
        "model",
        "app"
      ]
    },
    "openai/widgetAccessible": true
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "recording_id": {
        "type": "string"
      },
      "speaker_map_id": {
        "type": "string"
      },
      "from_label": {
        "type": "string"
      },
      "to_label": {
        "type": "string"
      },
      "confirmed": {
        "type": "boolean"
      },
      "teaches_voice": {
        "type": "boolean"
      },
      "speaker_map_summary": {
        "type": "object",
        "description": "Updated speaker map summary with display_name, needs_confirmation, confirmed, and appearances_count."
      },
      "speaker_evidence": {
        "type": "object"
      },
      "speaker_model_context": {
        "type": "object"
      },
      "recording_public_id": {
        "type": "string",
        "description": "Recording public ID; the same value as recording_id."
      },
      "speaker_map_public_id": {
        "type": "string",
        "description": "Renamed speaker track ID; the same value as speaker_map_id."
      },
      "speaker": {
        "type": "object",
        "description": "Summary of the renamed speaker track; the same object as speaker_map_summary."
      },
      "speaker_maps": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Summaries of the speaker tracks this call renamed."
      },
      "previous_speaker_profile_id": {
        "type": "string",
        "description": "Saved person the track pointed to before the rename, when it had one."
      },
      "previous_speaker_profile_public_id": {
        "type": "string",
        "description": "Saved person the track pointed to before the rename; the same value as previous_speaker_profile_id."
      }
    },
    "required": [],
    "additionalProperties": false
  }
}

Live Workspace descriptor

{
  "name": "speaker_rename",
  "title": "Rename a speaker on a recording",
  "description": "Relabels one diarized speaker track inside a recording or that recording's episode-of-one, without confirming identity, creating a SpeakerProfile, or enrolling/saving a voiceprint. Use this when the user asks to fix captions such as \"Speaker 2 is Adrian\" and wants future captioned exports from this recording to use the corrected name. This is rename-only: biometric voice memory and identity confirmation require a human web action in speaker review.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "recording_id": {
        "type": "string",
        "description": "Recording public ID (`src_...`) or an episode/composition public ID (`comp_...`) that resolves to one recording."
      },
      "speaker": {
        "type": "string",
        "description": "Current speaker display label, speaker_key, or SpeakerMap public ID for the diarized track to rename."
      },
      "new_name": {
        "type": "string",
        "description": "New recording-local display name for this speaker track."
      },
      "confirm": {
        "type": "boolean",
        "description": "Optional; must be false or omitted. This tool does not confirm identity or save a voiceprint."
      }
    },
    "required": [
      "recording_id",
      "speaker",
      "new_name"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Rename a speaker on a recording",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ]
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "recording_id": {
        "type": "string"
      },
      "speaker_map_id": {
        "type": "string"
      },
      "from_label": {
        "type": "string"
      },
      "to_label": {
        "type": "string"
      },
      "confirmed": {
        "type": "boolean"
      },
      "teaches_voice": {
        "type": "boolean"
      },
      "speaker_map_summary": {
        "type": "object",
        "description": "Updated speaker map summary with display_name, needs_confirmation, confirmed, and appearances_count."
      },
      "speaker_evidence": {
        "type": "object"
      },
      "speaker_model_context": {
        "type": "object"
      },
      "recording_public_id": {
        "type": "string",
        "description": "Recording public ID; the same value as recording_id."
      },
      "speaker_map_public_id": {
        "type": "string",
        "description": "Renamed speaker track ID; the same value as speaker_map_id."
      },
      "speaker": {
        "type": "object",
        "description": "Summary of the renamed speaker track; the same object as speaker_map_summary."
      },
      "speaker_maps": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Summaries of the speaker tracks this call renamed."
      },
      "previous_speaker_profile_id": {
        "type": "string",
        "description": "Saved person the track pointed to before the rename, when it had one."
      },
      "previous_speaker_profile_public_id": {
        "type": "string",
        "description": "Saved person the track pointed to before the rename; the same value as previous_speaker_profile_id."
      }
    },
    "required": [],
    "additionalProperties": false
  }
}

Errors

[
  "recording_not_found",
  "speaker_not_found",
  "invalid_input"
]

Examples

[]