Skip to content

Voice.retired

Emitted each time a Voice is retired.

Voice.retire emits Voice.retired when it completes on a Voice.

PropertyValue
Emitted byVoice.retire
NounVoice
MovesVoice training to retired; Voice ready to retired
WakesNone.

Payload

Each delivery is an Event record. data holds what Voice.retire returns, and previous holds the state it left.

FieldTypeRequiredDescription
namestringrequiredVoice.retired.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.voiceVoicerequiredThe Voice, now retired.
data.voice.originstringrequiredcloned from a real speaker’s recordings, or designed from a description and sounding like no real person.
data.voice.speakerPersonThe real person a cloned Voice sounds like.
data.voice.consentConsentThe speaker’s Consent, recorded in that voice, naming the Startup and the uses allowed; required for a cloned Voice.
data.voice.scopestringrequiredWho may speak in it: every sibling, one Startup, or one Customer.
data.voice.sampleslist of FileThe recordings it was trained from, kept forever.
data.voice.statusstringrequiredtraining until the upstream finishes, ready for speech, retired once its trained copy is deleted.
data.previous.statusstringrequiredThe status before this Event: training.

Example

JSON
{
  "$id": "https://api.sb/kilnbakery.com/events/event_1",
  "$type": "Event",
  "name": "Voice.retired",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "voice": {
      "$id": "https://api.sb/kilnbakery.com/voices/voice_1",
      "$type": "Voice",
      "origin": "cloned",
      "speaker": "person_1",
      "consent": "consent_1",
      "scope": "studio",
      "samples": [
        "file_1"
      ],
      "status": "retired"
    },
    "previous": {
      "status": "training"
    }
  },
  "seq": 1
}