taskOutputSchema
consttaskOutputSchema:object
The JSON Schemas those models were generated from, for runtime use.
Type Declaration
Section titled “Type Declaration”
readonly$id:"https://schemas.inderun.dev/1.0/task-output.schema.json"
$schema
Section titled “$schema”
readonly$schema:"https://json-schema.org/draft/2020-12/schema"
additionalProperties
Section titled “additionalProperties”
readonlyadditionalProperties:true
readonlyallOf: readonly [{if: {properties: {type: {const:"text"; }; }; };then: {required: readonly ["text"]; }; }, {if: {properties: {type: {const:"playback"; }; }; };then: {required: readonly ["playback"]; }; }, {if: {properties: {type: {const:"artifact"; }; }; };then: {required: readonly ["artifact"]; }; }, {if: {properties: {type: {const:"prepared"; }; }; };then: {required: readonly ["preparation"]; }; }]
description
Section titled “description”
readonlydescription:"The normalized output of a run, shared by TaskResult and the completed and cancelled stream terminal outcomes (ADR 016). 'type' describes the content representation, not the task: 'text' carries inline text, 'playback' reports a managed, audible effect that has no retrievable bytes, and 'artifact' references retrievable media (ADR 017). A playback output is never an artifact, and an artifact output never implies that anything was played."
properties
Section titled “properties”
readonlyproperties:object
properties.artifact
Section titled “properties.artifact”
readonlyartifact:object
properties.artifact.$ref
Section titled “properties.artifact.$ref”
readonly$ref:"media-artifact.schema.json"
properties.artifact.description
Section titled “properties.artifact.description”
readonlydescription:"The retrievable media the run produced. Required when type is 'artifact'."
properties.playback
Section titled “properties.playback”
readonlyplayback:object
properties.playback.additionalProperties
Section titled “properties.playback.additionalProperties”
readonlyadditionalProperties:true
properties.playback.description
Section titled “properties.playback.description”
readonlydescription:"Completion of managed playback. Required when type is 'playback'. Carries no media."
properties.playback.properties
Section titled “properties.playback.properties”
readonlyproperties:object
properties.playback.properties.timing
Section titled “properties.playback.properties.timing”
readonlytiming:object
properties.playback.properties.timing.additionalProperties
Section titled “properties.playback.properties.timing.additionalProperties”
readonlyadditionalProperties:true
properties.playback.properties.timing.description
Section titled “properties.playback.properties.timing.description”
readonlydescription:"What the provider measured about the playback. Absent when it measured nothing. 'firstAudioMs' and 'firstChunkMs' count from the same origin: the moment the provider's run() or stream() started handling the request, so their difference is the provider's output latency. The span includes everything the provider does after it starts handling the request (queue wait, voice lookup, a cold model load) and excludes routing."
properties.playback.properties.timing.properties
Section titled “properties.playback.properties.timing.properties”
readonlyproperties:object
properties.playback.properties.timing.properties.durationMs
Section titled “properties.playback.properties.timing.properties.durationMs”
readonlydurationMs:object
properties.playback.properties.timing.properties.durationMs.description
Section titled “properties.playback.properties.timing.properties.durationMs.description”
readonlydescription:"How long audible playback lasted, in milliseconds. For a cancelled run, how long it played before it was stopped, when the provider reports it."
properties.playback.properties.timing.properties.durationMs.minimum
Section titled “properties.playback.properties.timing.properties.durationMs.minimum”
readonlyminimum:0
properties.playback.properties.timing.properties.durationMs.type
Section titled “properties.playback.properties.timing.properties.durationMs.type”
readonlytype:"number"
properties.playback.properties.timing.properties.firstAudioMs
Section titled “properties.playback.properties.timing.properties.firstAudioMs”
readonlyfirstAudioMs:object
properties.playback.properties.timing.properties.firstAudioMs.description
Section titled “properties.playback.properties.timing.properties.firstAudioMs.description”
readonlydescription:"Milliseconds from the provider receiving the request until the platform's first audible-output callback (for a system voice, its first word callback) or the first audio frame leaving the output. Absent when nothing reports it."
properties.playback.properties.timing.properties.firstAudioMs.minimum
Section titled “properties.playback.properties.timing.properties.firstAudioMs.minimum”
readonlyminimum:0
properties.playback.properties.timing.properties.firstAudioMs.type
Section titled “properties.playback.properties.timing.properties.firstAudioMs.type”
readonlytype:"number"
properties.playback.properties.timing.properties.firstChunkMs
Section titled “properties.playback.properties.timing.properties.firstChunkMs”
readonlyfirstChunkMs:object
properties.playback.properties.timing.properties.firstChunkMs.description
Section titled “properties.playback.properties.timing.properties.firstChunkMs.description”
readonlydescription:"Milliseconds from the provider receiving the request until its first playable PCM chunk existed. Absent when the provider does not synthesize PCM itself."
properties.playback.properties.timing.properties.firstChunkMs.minimum
Section titled “properties.playback.properties.timing.properties.firstChunkMs.minimum”
readonlyminimum:0
properties.playback.properties.timing.properties.firstChunkMs.type
Section titled “properties.playback.properties.timing.properties.firstChunkMs.type”
readonlytype:"number"
properties.playback.properties.timing.title
Section titled “properties.playback.properties.timing.title”
readonlytitle:"PlaybackTiming"
properties.playback.properties.timing.type
Section titled “properties.playback.properties.timing.type”
readonlytype:"object"
properties.playback.title
Section titled “properties.playback.title”
readonlytitle:"PlaybackOutput"
properties.playback.type
Section titled “properties.playback.type”
readonlytype:"object"
properties.preparation
Section titled “properties.preparation”
readonlypreparation:object
properties.preparation.description
Section titled “properties.preparation.description”
readonlydescription:"What a prepare() run did, one item per provider and task. Required when type is 'prepared'. One failed item does not fail the run."
properties.preparation.items
Section titled “properties.preparation.items”
readonlyitems:object
properties.preparation.items.additionalProperties
Section titled “properties.preparation.items.additionalProperties”
readonlyadditionalProperties:true
properties.preparation.items.properties
Section titled “properties.preparation.items.properties”
readonlyproperties:object
properties.preparation.items.properties.providerId
Section titled “properties.preparation.items.properties.providerId”
readonlyproviderId:object
properties.preparation.items.properties.providerId.description
Section titled “properties.preparation.items.properties.providerId.description”
readonlydescription:"The provider this item belongs to."
properties.preparation.items.properties.providerId.minLength
Section titled “properties.preparation.items.properties.providerId.minLength”
readonlyminLength:1
properties.preparation.items.properties.providerId.type
Section titled “properties.preparation.items.properties.providerId.type”
readonlytype:"string"
properties.preparation.items.properties.reason
Section titled “properties.preparation.items.properties.reason”
readonlyreason:object
properties.preparation.items.properties.reason.description
Section titled “properties.preparation.items.properties.reason.description”
readonlydescription:"Why the item was skipped or failed."
properties.preparation.items.properties.reason.minLength
Section titled “properties.preparation.items.properties.reason.minLength”
readonlyminLength:1
properties.preparation.items.properties.reason.type
Section titled “properties.preparation.items.properties.reason.type”
readonlytype:"string"
properties.preparation.items.properties.status
Section titled “properties.preparation.items.properties.status”
readonlystatus:object
properties.preparation.items.properties.status.description
Section titled “properties.preparation.items.properties.status.description”
readonlydescription:"'prepared': this run made it ready. 'already_ready': nothing was needed. 'skipped': it needs a download that neither autoDownload nor allowDownload permits. 'failed': see reason."
properties.preparation.items.properties.status.enum
Section titled “properties.preparation.items.properties.status.enum”
readonlyenum: readonly ["prepared","already_ready","skipped","failed"]
properties.preparation.items.properties.status.title
Section titled “properties.preparation.items.properties.status.title”
readonlytitle:"PreparationStatus"
properties.preparation.items.properties.task
Section titled “properties.preparation.items.properties.task”
readonlytask:object
properties.preparation.items.properties.task.description
Section titled “properties.preparation.items.properties.task.description”
readonlydescription:"The task kind this item belongs to."
properties.preparation.items.properties.task.minLength
Section titled “properties.preparation.items.properties.task.minLength”
readonlyminLength:1
properties.preparation.items.properties.task.type
Section titled “properties.preparation.items.properties.task.type”
readonlytype:"string"
properties.preparation.items.properties.voiceId
Section titled “properties.preparation.items.properties.voiceId”
readonlyvoiceId:object
properties.preparation.items.properties.voiceId.description
Section titled “properties.preparation.items.properties.voiceId.description”
readonlydescription:"The voice this item prepared, when one was bound."
properties.preparation.items.properties.voiceId.minLength
Section titled “properties.preparation.items.properties.voiceId.minLength”
readonlyminLength:1
properties.preparation.items.properties.voiceId.type
Section titled “properties.preparation.items.properties.voiceId.type”
readonlytype:"string"
properties.preparation.items.required
Section titled “properties.preparation.items.required”
readonlyrequired: readonly ["providerId","task","status"]
properties.preparation.items.title
Section titled “properties.preparation.items.title”
readonlytitle:"PreparationItem"
properties.preparation.items.type
Section titled “properties.preparation.items.type”
readonlytype:"object"
properties.preparation.type
Section titled “properties.preparation.type”
readonlytype:"array"
properties.speech
Section titled “properties.speech”
readonlyspeech:object
properties.speech.additionalProperties
Section titled “properties.speech.additionalProperties”
readonlyadditionalProperties:true
properties.speech.description
Section titled “properties.speech.description”
readonlydescription:"The locale and voice a text-to-speech run actually used, so an unmet preference is visible without being an error."
properties.speech.properties
Section titled “properties.speech.properties”
readonlyproperties:object
properties.speech.properties.locale
Section titled “properties.speech.properties.locale”
readonlylocale:object
properties.speech.properties.locale.description
Section titled “properties.speech.properties.locale.description”
readonlydescription:"BCP 47 tag of the locale that was spoken."
properties.speech.properties.locale.minLength
Section titled “properties.speech.properties.locale.minLength”
readonlyminLength:1
properties.speech.properties.locale.type
Section titled “properties.speech.properties.locale.type”
readonlytype:"string"
properties.speech.properties.voice
Section titled “properties.speech.properties.voice”
readonlyvoice:object
properties.speech.properties.voice.additionalProperties
Section titled “properties.speech.properties.voice.additionalProperties”
readonlyadditionalProperties:true
properties.speech.properties.voice.description
Section titled “properties.speech.properties.voice.description”
readonlydescription:"The voice that spoke, as the catalog lists it."
properties.speech.properties.voice.properties
Section titled “properties.speech.properties.voice.properties”
readonlyproperties:object
properties.speech.properties.voice.properties.gender
Section titled “properties.speech.properties.voice.properties.gender”
readonlygender:object
properties.speech.properties.voice.properties.gender.$ref
Section titled “properties.speech.properties.voice.properties.gender.$ref”
readonly$ref:"provider-dynamic-capabilities.schema.json#/$defs/voiceGender"
properties.speech.properties.voice.properties.id
Section titled “properties.speech.properties.voice.properties.id”
readonlyid:object
properties.speech.properties.voice.properties.id.description
Section titled “properties.speech.properties.voice.properties.id.description”
readonlydescription:"The voice's id, when its provider lists one."
properties.speech.properties.voice.properties.id.minLength
Section titled “properties.speech.properties.voice.properties.id.minLength”
readonlyminLength:1
properties.speech.properties.voice.properties.id.type
Section titled “properties.speech.properties.voice.properties.id.type”
readonlytype:"string"
properties.speech.properties.voice.properties.name
Section titled “properties.speech.properties.voice.properties.name”
readonlyname:object
properties.speech.properties.voice.properties.name.description
Section titled “properties.speech.properties.voice.properties.name.description”
readonlydescription:"The voice's display label, when its provider lists one."
properties.speech.properties.voice.properties.name.minLength
Section titled “properties.speech.properties.voice.properties.name.minLength”
readonlyminLength:1
properties.speech.properties.voice.properties.name.type
Section titled “properties.speech.properties.voice.properties.name.type”
readonlytype:"string"
properties.speech.properties.voice.title
Section titled “properties.speech.properties.voice.title”
readonlytitle:"SpeechOutputVoice"
properties.speech.properties.voice.type
Section titled “properties.speech.properties.voice.type”
readonlytype:"object"
properties.speech.required
Section titled “properties.speech.required”
readonlyrequired: readonly ["locale"]
properties.speech.title
Section titled “properties.speech.title”
readonlytitle:"SpeechOutput"
properties.speech.type
Section titled “properties.speech.type”
readonlytype:"object"
properties.text
Section titled “properties.text”
readonlytext:object
properties.text.description
Section titled “properties.text.description”
readonlydescription:"The text the run produced. Required when type is 'text'."
properties.text.type
Section titled “properties.text.type”
readonlytype:"string"
properties.type
Section titled “properties.type”
readonlytype:object
properties.type.description
Section titled “properties.type.description”
readonlydescription:"The content representation: 'text', 'playback' or 'artifact'. 'prepared' ends a prepare() run, carries no content, and lists each item in 'preparation'."
properties.type.enum
Section titled “properties.type.enum”
readonlyenum: readonly ["text","playback","artifact","prepared"]
properties.type.title
Section titled “properties.type.title”
readonlytitle:"TaskOutputType"
required
Section titled “required”
readonlyrequired: readonly ["type"]
readonlytitle:"TaskOutput"
readonlytype:"object"
IndeRun — open-source AI execution for cross-platform apps. Built and maintained by Independo GmbH (opens in new tab), supported by netidee (opens in new tab).
MIT-licensed SDK · No SDK usage telemetry.
© 2025–2026 Independo GmbH