Speakers
List, create, and update the speakers in a space, and assign them to transcript speaker labels on a recording.
Speakers are people who appear across a space's recordings. Each speaker can carry a name, contact details, a bio, pronouns, and a role. Once a recording is transcribed, you can map its raw transcript labels (Speaker 0, Speaker 1, …) to space speakers — see Speaker assignment on a recording.
List speakers
GET https://app.castmagic.io/v1/spaces/:space_id/speakers
Tier: core
{
"space": { "id": "a1...", "name": "Acme Podcast" },
"speakers": [
{
"id": "s1...",
"name": "Jane Doe",
"email": "jane@example.com",
"bio": "Host of Acme Podcast",
"pronouns": "she/her",
"role": "Host",
"ai_summary": "Frequently discusses pricing strategy..."
}
],
"count": 1
}Create a speaker
POST https://app.castmagic.io/v1/spaces/:space_id/speakers
Tier: automation
Request Body
name*
String
Speaker name
String
Contact email
bio
String
Short biography
pronouns
String
e.g. she/her
role
String
Role name, e.g. Host or Guest (resolved in-space)
emoji
String
Optional avatar emoji
Update a speaker
PATCH https://app.castmagic.io/v1/speakers/:id
Tier: automation
Update any of name, email, bio, pronouns, emoji, or speaker_role_id. A supplied speaker_role_id must belong to the speaker's space.
Speaker assignment on a recording
A completed transcript has raw speaker labels (Speaker 0, Speaker 1, …). These endpoints read those labels and map each one to a speaker in the recording's space.
List a recording's speaker labels
GET https://app.castmagic.io/v1/recordings/:id/speakers
Tier: core
Returns every transcript label and the space speaker it's assigned to, or null if unassigned. speaker has the same shape as the space speakers list.
Assign a label to a speaker
POST https://app.castmagic.io/v1/recordings/:id/speakers/assign
Tier: automation
Map a transcript label to a space speaker. Replaces any existing assignment for that label.
Request Body
label*
String
A label present in the recording's transcript
speaker_id*
String
Id of a speaker in the recording's space
Unassign a label
POST https://app.castmagic.io/v1/recordings/:id/speakers/unassign
Tier: automation
Remove a label's assignment. Takes the same label and speaker_id body.
Last updated