Skip to content

Voice.trained

The upstream finished training a cloned or designed Voice, so speech renders in it.

PropertyValue
Raised byNo Verb: the rail raises it
NounVoice
MovesVoice training to ready
WakesNone.

Payload

Each delivery is an Event record. data holds the Voice as it stands, and previous holds the state it left.

FieldTypeRequiredDescription
namestringrequiredVoice.trained.
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 as the change left it.
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/leaseline.app/events/evt_4JMEHS1dfG",
  "$type": "Event",
  "name": "Voice.trained",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "voice": {
      "$id": "https://api.sb/leaseline.app/voices/voice_s6Qb8KW683",
      "$type": "Voice",
      "origin": "cloned",
      "speaker": "person_sLqbXbW683",
      "consent": "consent_lMkrg7nUGY",
      "scope": "studio",
      "samples": [
        "file_V1AuhyCTsH"
      ],
      "status": "ready"
    },
    "previous": {
      "status": "training"
    }
  },
  "seq": 2552
}