voice_profile
List, create, update, archive, and attach reusable voice reference samples for Seed Audio workflows.
When to use
- Use `operation=list` or `operation=get` to inspect available character/narrator voice profiles and selected voice samples.
- Use `operation=add_reference` after `asset_upload(target_type=reference_audio_asset)` to attach a clean voice sample to a profile.
- Use `operation=select_reference` to choose the active sample that should guide future voice generation.
- Use `operation=archive` to retire a reusable voice profile without deleting its underlying media assets.
When not to use
- Do not use for generated shot audio takes; use `media_generate(workflow=scene_audio)`.
- Do not use for selecting which finished shot audio should feed video generation; use `shot_mutate(entity_type=shot_audio, operation=select)`.
Examples
- “List reusable voice profiles for project 123.”
- “Attach uploaded reference audio asset 456 to voice profile 12.”
- “Select voice reference 78 for profile 12.”
- “Archive voice profile 12 when it should no longer appear in default voice lists.”
Anti-examples
- Generate a 20-second line of dialogue.
- Use a shot audio take as the video reference.
Backend capabilities
voice_profile.manage
Linked resources
Tool calls may return resource_links pointing at these resource families.
Input schema
voice_profile input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"operation",
"project_id"
],
"properties": {
"operation": {
"type": "string",
"enum": [
"list",
"get",
"create",
"update",
"archive",
"add_reference",
"select_reference"
]
},
"project_id": {
"type": "integer"
},
"voice_profile_id": {
"type": "integer",
"description": "Required for get, update, archive, add_reference, and select_reference."
},
"reference_id": {
"type": "integer",
"description": "Required for select_reference."
},
"include_archived": {
"type": "boolean",
"default": false
},
"if_match_updated_at": {
"type": "string"
},
"display_name": {
"type": "string"
},
"profile_kind": {
"type": "string",
"enum": [
"character",
"narrator",
"ambient_style",
"other"
]
},
"character_card_id": {
"type": [
"integer",
"null"
]
},
"shot_element_id": {
"type": [
"integer",
"null"
]
},
"cue_aliases": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20
},
"voice_description": {
"type": [
"string",
"null"
]
},
"provider": {
"type": [
"string",
"null"
]
},
"provider_voice": {
"type": [
"string",
"null"
]
},
"seed_audio_voice": {
"type": [
"string",
"null"
]
},
"prompt_guidance": {
"type": [
"string",
"null"
]
},
"media_asset_id": {
"type": "integer",
"description": "Required for add_reference."
},
"reference_role": {
"type": "string",
"enum": [
"voice_reference",
"performance_reference",
"style_reference"
],
"default": "voice_reference"
},
"label": {
"type": [
"string",
"null"
]
},
"is_selected": {
"type": "boolean"
}
},
"allOf": [
{
"if": {
"properties": {
"operation": {
"const": "get"
}
}
},
"then": {
"required": [
"voice_profile_id"
]
}
},
{
"if": {
"properties": {
"operation": {
"const": "create"
}
}
},
"then": {
"required": [
"display_name"
]
}
},
{
"if": {
"properties": {
"operation": {
"const": "update"
}
}
},
"then": {
"required": [
"voice_profile_id"
]
}
},
{
"if": {
"properties": {
"operation": {
"const": "archive"
}
}
},
"then": {
"required": [
"voice_profile_id"
]
}
},
{
"if": {
"properties": {
"operation": {
"const": "add_reference"
}
}
},
"then": {
"required": [
"voice_profile_id",
"media_asset_id"
]
}
},
{
"if": {
"properties": {
"operation": {
"const": "select_reference"
}
}
},
"then": {
"required": [
"voice_profile_id",
"reference_id"
]
}
}
],
"additionalProperties": false
}Output schema
voice_profile output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"operation",
"project_id",
"voice_profile_updated_at"
],
"properties": {
"operation": {
"type": "string",
"enum": [
"list",
"get",
"create",
"update",
"archive",
"add_reference",
"select_reference"
]
},
"project_id": {
"type": "integer"
},
"profile": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"profiles": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"reference": {
"type": "object",
"additionalProperties": true
},
"voice_profile_updated_at": {
"type": [
"string",
"null"
],
"description": "Updated-at value for the returned voice profile/reference, when available."
},
"credits_skipped_reason": {
"type": "string"
}
},
"additionalProperties": true
}← All toolsv1 · mutate_tool