speakers_list_avatar_candidates
List profile photo choices
App-only repair helper. Lists the current profile photo, prior profile-photo history, and the cropped reference-gallery candidates a human can choose from. Each candidate is a crop attributed to this person by reviewed subject geometry — never a whole frame — and carries reference_asset_id for speakers_avatar_mutate set_from_reference. in_matching_set says whether that crop is also used for matching; the two roles are independent. Returns image handles for the app; it does not change identity, voice memory, transcript labels, captions, exports, or merge state.
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": "speakers_list_avatar_candidates",
"title": "List profile photo choices",
"description": "App-only repair helper. Lists the current profile photo, prior profile-photo history, and the cropped reference-gallery candidates a human can choose from. Each candidate is a crop attributed to this person by reviewed subject geometry — never a whole frame — and carries reference_asset_id for speakers_avatar_mutate set_from_reference. in_matching_set says whether that crop is also used for matching; the two roles are independent. Returns image handles for the app; it does not change identity, voice memory, transcript labels, captions, exports, or merge state.",
"inputSchema": {
"type": "object",
"properties": {
"speaker_profile_id": {
"type": "string",
"description": "Person public ID, slug, or UUID."
},
"limit": {
"type": "integer",
"description": "Maximum photos per group. Default 24."
}
},
"required": [
"speaker_profile_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": {
"speaker_profile_id": {
"type": "string"
},
"speaker_profile_name": {
"type": "string"
},
"active_avatar": {
"type": [
"object",
"null"
]
},
"candidates": {
"type": "array",
"items": {
"type": "object"
}
},
"history": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [],
"additionalProperties": false
}
}Errors
[
"speaker_not_found",
"invalid_input"
]Examples
[]