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 185ad8f4adfa21ae055b5bd6f97968d9044480d1
Public contract commit d2ab41fab4088c07c0f6b924fa4f3c63481b936a
Public contract SHA-256 2365c73c2aef7b9f85e8434d8e29ea29f40824bc3a46a72a356155ea328757fc
Captured 2026-10-29T03:35:56.855Z. 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

[]