Skip to content

modelPackageSchema

const modelPackageSchema: object

The JSON Schemas those models were generated from, for runtime use.

readonly $defs: object

readonly assetLicense: object

readonly additionalProperties: true

readonly description: "Licence of one asset inside a package (a voice, a frontend), where it differs from the package's own."

readonly properties: object

readonly spdx: object

$defs.assetLicense.properties.spdx.description

Section titled “$defs.assetLicense.properties.spdx.description”

readonly description: "SPDX license identifier where known."

$defs.assetLicense.properties.spdx.minLength

Section titled “$defs.assetLicense.properties.spdx.minLength”

readonly minLength: 1

readonly type: "string"

readonly url: object

$defs.assetLicense.properties.url.description

Section titled “$defs.assetLicense.properties.url.description”

readonly description: "License or model card URL where available."

$defs.assetLicense.properties.url.minLength

Section titled “$defs.assetLicense.properties.url.minLength”

readonly minLength: 1

readonly type: "string"

readonly title: "AssetLicense"

readonly type: "object"

readonly $id: "https://schemas.inderun.dev/1.0/model-package.schema.json"

readonly $schema: "https://json-schema.org/draft/2020-12/schema"

readonly additionalProperties: true

readonly description: "Provider-neutral descriptor for a developer-supplied/custom local model made available to an IndeRun local-model provider family (for example, the ONNX Runtime family). It describes model identity, format, task support, source, files, integrity, licensing, and resource expectations. It is bootstrap/configuration metadata resolved before execution; it is not part of the public TaskRequest/TaskResult surface, and it must not carry raw secrets."

readonly if: object

readonly properties: object

readonly tasks: object

readonly contains: object

readonly const: "text_to_speech"

readonly type: "array"

readonly required: readonly ["tasks"]

readonly properties: object

readonly files: object

readonly additionalProperties: true

readonly description: "Files that make up the model package, expressed as source-relative names/paths. The provider adapter and model source resolve these to concrete bytes per platform."

readonly properties: object

readonly config: object

properties.files.properties.config.description

Section titled “properties.files.properties.config.description”

readonly description: "Optional model/generation config file, where the model requires one."

properties.files.properties.config.minLength

Section titled “properties.files.properties.config.minLength”

readonly minLength: 1

readonly type: "string"

readonly external: object

properties.files.properties.external.description

Section titled “properties.files.properties.external.description”

readonly description: "Optional external data files referenced by the model graph (for example ONNX external weights)."

properties.files.properties.external.items

Section titled “properties.files.properties.external.items”

readonly items: object

properties.files.properties.external.items.minLength

Section titled “properties.files.properties.external.items.minLength”

readonly minLength: 1

properties.files.properties.external.items.type

Section titled “properties.files.properties.external.items.type”

readonly type: "string"

readonly type: "array"

readonly required: object

properties.files.properties.required.description

Section titled “properties.files.properties.required.description”

readonly description: "Files that must be present for the package to load (for example the model graph)."

properties.files.properties.required.items

Section titled “properties.files.properties.required.items”

readonly items: object

properties.files.properties.required.items.minLength

Section titled “properties.files.properties.required.items.minLength”

readonly minLength: 1

properties.files.properties.required.items.type

Section titled “properties.files.properties.required.items.type”

readonly type: "string"

readonly type: "array"

readonly tokenizer: object

properties.files.properties.tokenizer.description

Section titled “properties.files.properties.tokenizer.description”

readonly description: "Optional tokenizer file, where the model requires one."

properties.files.properties.tokenizer.minLength

Section titled “properties.files.properties.tokenizer.minLength”

readonly minLength: 1

properties.files.properties.tokenizer.type

Section titled “properties.files.properties.tokenizer.type”

readonly type: "string"

readonly type: "object"

readonly format: object

readonly description: "Model packaging format the target runtime family must understand. 'onnx' is a plain ONNX graph, 'ort' is an ONNX Runtime optimized/mobile format, 'genai' is an ONNX Runtime GenAI model package, 'coreai' is an Apple Core AI .aimodel asset (iOS/macOS 27+)."

readonly enum: readonly ["onnx", "ort", "genai", "coreai"]

readonly id: object

readonly description: "Stable application-scoped identifier for the model package."

readonly minLength: 1

readonly type: "string"

readonly integrity: object

readonly additionalProperties: true

readonly description: "Optional integrity metadata used to validate resolved files before load."

readonly properties: object

readonly checksums: object

properties.integrity.properties.checksums.additionalProperties

Section titled “properties.integrity.properties.checksums.additionalProperties”

readonly additionalProperties: object

properties.integrity.properties.checksums.additionalProperties.minLength

Section titled “properties.integrity.properties.checksums.additionalProperties.minLength”

readonly minLength: 1

properties.integrity.properties.checksums.additionalProperties.type

Section titled “properties.integrity.properties.checksums.additionalProperties.type”

readonly type: "string"

properties.integrity.properties.checksums.description

Section titled “properties.integrity.properties.checksums.description”

readonly description: "Map of file name to expected checksum (for example 'sha256:...'). Absence means integrity is not verified by IndeRun."

properties.integrity.properties.checksums.type

Section titled “properties.integrity.properties.checksums.type”

readonly type: "object"

readonly type: "object"

readonly license: object

readonly additionalProperties: true

readonly description: "Optional license/source metadata for the model, for developer transparency. Free-form."

readonly properties: object

readonly spdx: object

properties.license.properties.spdx.description

Section titled “properties.license.properties.spdx.description”

readonly description: "SPDX license identifier where known (for example 'Apache-2.0')."

properties.license.properties.spdx.minLength

Section titled “properties.license.properties.spdx.minLength”

readonly minLength: 1

readonly type: "string"

readonly url: object

properties.license.properties.url.description

Section titled “properties.license.properties.url.description”

readonly description: "License or model card URL where available."

properties.license.properties.url.minLength

Section titled “properties.license.properties.url.minLength”

readonly minLength: 1

readonly type: "string"

readonly type: "object"

readonly limits: object

readonly additionalProperties: true

readonly description: "Optional known resource expectations, used by capability checks to reject on constrained devices before load."

readonly properties: object

readonly diskBytes: object

properties.limits.properties.diskBytes.description

Section titled “properties.limits.properties.diskBytes.description”

readonly description: "Approximate on-disk size of the resolved package, where known."

properties.limits.properties.diskBytes.minimum

Section titled “properties.limits.properties.diskBytes.minimum”

readonly minimum: 0

properties.limits.properties.diskBytes.type

Section titled “properties.limits.properties.diskBytes.type”

readonly type: "integer"

readonly memBytes: object

properties.limits.properties.memBytes.description

Section titled “properties.limits.properties.memBytes.description”

readonly description: "Approximate peak memory required to run the model, where known."

properties.limits.properties.memBytes.minimum

Section titled “properties.limits.properties.memBytes.minimum”

readonly minimum: 0

properties.limits.properties.memBytes.type

Section titled “properties.limits.properties.memBytes.type”

readonly type: "integer"

readonly type: "object"

readonly runtime: object

readonly additionalProperties: true

readonly description: "Optional runtime compatibility expectations. Fields are advisory hints for capability checks; the provider adapter owns exact enforcement."

readonly properties: object

readonly minOpset: object

properties.runtime.properties.minOpset.description

Section titled “properties.runtime.properties.minOpset.description”

readonly description: "Minimum ONNX opset version the model requires, where known."

properties.runtime.properties.minOpset.minimum

Section titled “properties.runtime.properties.minOpset.minimum”

readonly minimum: 1

properties.runtime.properties.minOpset.type

Section titled “properties.runtime.properties.minOpset.type”

readonly type: "integer"

properties.runtime.properties.minOsVersion

Section titled “properties.runtime.properties.minOsVersion”

readonly minOsVersion: object

properties.runtime.properties.minOsVersion.description

Section titled “properties.runtime.properties.minOsVersion.description”

readonly description: "Minimum platform OS version the package needs, where known (for example '27.0' for a Core AI asset). Applies to every platform listed in `platforms`; split packages whose platforms need different OS floors."

properties.runtime.properties.minOsVersion.minLength

Section titled “properties.runtime.properties.minOsVersion.minLength”

readonly minLength: 1

properties.runtime.properties.minOsVersion.type

Section titled “properties.runtime.properties.minOsVersion.type”

readonly type: "string"

properties.runtime.properties.minRuntimeVersion

Section titled “properties.runtime.properties.minRuntimeVersion”

readonly minRuntimeVersion: object

properties.runtime.properties.minRuntimeVersion.description

Section titled “properties.runtime.properties.minRuntimeVersion.description”

readonly description: "Minimum runtime package version required to load the model, where known."

properties.runtime.properties.minRuntimeVersion.minLength

Section titled “properties.runtime.properties.minRuntimeVersion.minLength”

readonly minLength: 1

properties.runtime.properties.minRuntimeVersion.type

Section titled “properties.runtime.properties.minRuntimeVersion.type”

readonly type: "string"

readonly platforms: object

properties.runtime.properties.platforms.description

Section titled “properties.runtime.properties.platforms.description”

readonly description: "Platforms the package is expected to run on (for example 'web', 'android', 'apple'). Absence means unconstrained."

properties.runtime.properties.platforms.items

Section titled “properties.runtime.properties.platforms.items”

readonly items: object

properties.runtime.properties.platforms.items.minLength

Section titled “properties.runtime.properties.platforms.items.minLength”

readonly minLength: 1

properties.runtime.properties.platforms.items.type

Section titled “properties.runtime.properties.platforms.items.type”

readonly type: "string"

properties.runtime.properties.platforms.type

Section titled “properties.runtime.properties.platforms.type”

readonly type: "array"

readonly type: "object"

readonly source: object

readonly additionalProperties: true

readonly description: "Where the model files are obtained from. Availability of each source type is platform-dependent; see the ONNX Runtime provider-family specification for the per-platform support matrix."

readonly properties: object

readonly ref: object

properties.source.properties.ref.description

Section titled “properties.source.properties.ref.description”

readonly description: "Optional source-specific reference (for example a registry repo id or a bundled asset base path). Interpretation depends on 'sourceType'. Must not contain credentials: URL userinfo (for example 'https://user:pass@host/...') is rejected, and credentials must be supplied via authContextRef instead."

properties.source.properties.ref.minLength

Section titled “properties.source.properties.ref.minLength”

readonly minLength: 1

readonly pattern: ”^(?![\\s\\S]*://[^/@]*@)[\\s\\S]*$”

readonly type: "string"

readonly sourceType: object

properties.source.properties.sourceType.description

Section titled “properties.source.properties.sourceType.description”

readonly description: "Discriminator for how the host makes model files available. 'registry' is a web repository/registry reference (for example a Hugging Face-style repo), 'bundled' is an app asset/resource, 'programmatic' is supplied directly by application code, 'filesystem' is a local path where the platform allows it, 'app_managed' is an app-managed cache/storage location, 'remote' is a host-managed download."

properties.source.properties.sourceType.enum

Section titled “properties.source.properties.sourceType.enum”

readonly enum: readonly ["registry", "bundled", "programmatic", "filesystem", "app_managed", "remote"]

readonly required: readonly ["sourceType"]

readonly type: "object"

readonly speech: object

readonly additionalProperties: true

readonly description: "What a text_to_speech model package adds: the pipeline that turns text into PCM, the graphs it runs, its text frontend and the voices it offers. Required when 'tasks' contains 'text_to_speech'."

readonly properties: object

readonly channels: object

properties.speech.properties.channels.description

Section titled “properties.speech.properties.channels.description”

readonly description: "Channels of the PCM the pipeline produces. Absent means 1."

properties.speech.properties.channels.minimum

Section titled “properties.speech.properties.channels.minimum”

readonly minimum: 1

properties.speech.properties.channels.type

Section titled “properties.speech.properties.channels.type”

readonly type: "integer"

readonly frontend: object

properties.speech.properties.frontend.additionalProperties

Section titled “properties.speech.properties.frontend.additionalProperties”

readonly additionalProperties: true

properties.speech.properties.frontend.description

Section titled “properties.speech.properties.frontend.description”

readonly description: "How text becomes model input. 'grapheme' pipelines read letters; 'phoneme' pipelines need a grapheme-to-phoneme step whose assets are listed here."

properties.speech.properties.frontend.properties

Section titled “properties.speech.properties.frontend.properties”

readonly properties: object

properties.speech.properties.frontend.properties.assets

Section titled “properties.speech.properties.frontend.properties.assets”

readonly assets: object

properties.speech.properties.frontend.properties.assets.additionalProperties

Section titled “properties.speech.properties.frontend.properties.assets.additionalProperties”

readonly additionalProperties: object

properties.speech.properties.frontend.properties.assets.additionalProperties.minLength

Section titled “properties.speech.properties.frontend.properties.assets.additionalProperties.minLength”

readonly minLength: 1

properties.speech.properties.frontend.properties.assets.additionalProperties.type

Section titled “properties.speech.properties.frontend.properties.assets.additionalProperties.type”

readonly type: "string"

properties.speech.properties.frontend.properties.assets.description

Section titled “properties.speech.properties.frontend.properties.assets.description”

readonly description: "Role to file for the frontend's own assets (tokenizer, lexicon, G2P graph)."

properties.speech.properties.frontend.properties.assets.type

Section titled “properties.speech.properties.frontend.properties.assets.type”

readonly type: "object"

properties.speech.properties.frontend.properties.kind

Section titled “properties.speech.properties.frontend.properties.kind”

readonly kind: object

properties.speech.properties.frontend.properties.kind.enum

Section titled “properties.speech.properties.frontend.properties.kind.enum”

readonly enum: readonly ["grapheme", "phoneme"]

properties.speech.properties.frontend.properties.kind.title

Section titled “properties.speech.properties.frontend.properties.kind.title”

readonly title: "FrontendKind"

properties.speech.properties.frontend.properties.license

Section titled “properties.speech.properties.frontend.properties.license”

readonly license: object

properties.speech.properties.frontend.properties.license.$ref

Section titled “properties.speech.properties.frontend.properties.license.$ref”

readonly $ref: "#/$defs/assetLicense"

properties.speech.properties.frontend.required

Section titled “properties.speech.properties.frontend.required”

readonly required: readonly ["kind"]

properties.speech.properties.frontend.title

Section titled “properties.speech.properties.frontend.title”

readonly title: "SpeechFrontend"

properties.speech.properties.frontend.type

Section titled “properties.speech.properties.frontend.type”

readonly type: "object"

readonly graphs: object

properties.speech.properties.graphs.additionalProperties

Section titled “properties.speech.properties.graphs.additionalProperties”

readonly additionalProperties: object

properties.speech.properties.graphs.additionalProperties.minLength

Section titled “properties.speech.properties.graphs.additionalProperties.minLength”

readonly minLength: 1

properties.speech.properties.graphs.additionalProperties.type

Section titled “properties.speech.properties.graphs.additionalProperties.type”

readonly type: "string"

properties.speech.properties.graphs.description

Section titled “properties.speech.properties.graphs.description”

readonly description: "Role to file. Roles are defined by the pipeline (for example 'text', 'dit_step', 'decoder'). For a 'coreai' package a value is either the .aimodel file, whose inference function is then named after the role, or `<file>#<function>` when the function name differs."

properties.speech.properties.graphs.minProperties

Section titled “properties.speech.properties.graphs.minProperties”

readonly minProperties: 1

readonly type: "object"

readonly pipeline: object

properties.speech.properties.pipeline.$comment

Section titled “properties.speech.properties.pipeline.$comment”

readonly $comment: "Known values: 'articulino'. Possible later (#289): 'kokoro', 'piper', 'pocket_tts'. Open on purpose: a new model family must not force a schema and codegen change."

properties.speech.properties.pipeline.description

Section titled “properties.speech.properties.pipeline.description”

readonly description: "The text-to-PCM recipe the provider runs for this package: which graphs in which order, with which text frontend. A provider refuses a value it does not implement."

properties.speech.properties.pipeline.minLength

Section titled “properties.speech.properties.pipeline.minLength”

readonly minLength: 1

properties.speech.properties.pipeline.type

Section titled “properties.speech.properties.pipeline.type”

readonly type: "string"

readonly sampleRate: object

properties.speech.properties.sampleRate.description

Section titled “properties.speech.properties.sampleRate.description”

readonly description: "Sample rate of the PCM the pipeline produces, in Hz."

properties.speech.properties.sampleRate.minimum

Section titled “properties.speech.properties.sampleRate.minimum”

readonly minimum: 1

properties.speech.properties.sampleRate.type

Section titled “properties.speech.properties.sampleRate.type”

readonly type: "integer"

readonly voices: object

properties.speech.properties.voices.description

Section titled “properties.speech.properties.voices.description”

readonly description: "The voices this package offers, one entry per selectable voice. Each is listed through capabilities as a ProviderVoice."

readonly items: object

properties.speech.properties.voices.items.additionalProperties

Section titled “properties.speech.properties.voices.items.additionalProperties”

readonly additionalProperties: true

properties.speech.properties.voices.items.properties

Section titled “properties.speech.properties.voices.items.properties”

readonly properties: object

properties.speech.properties.voices.items.properties.file

Section titled “properties.speech.properties.voices.items.properties.file”

readonly file: object

properties.speech.properties.voices.items.properties.file.description

Section titled “properties.speech.properties.voices.items.properties.file.description”

readonly description: "The voice asset (style vector or speaker embedding), relative to the package. Absent when the voice is built into the graphs and selected by the pipeline (for example a speaker index). No speaker encoder runs on the device."

properties.speech.properties.voices.items.properties.file.minLength

Section titled “properties.speech.properties.voices.items.properties.file.minLength”

readonly minLength: 1

properties.speech.properties.voices.items.properties.file.type

Section titled “properties.speech.properties.voices.items.properties.file.type”

readonly type: "string"

properties.speech.properties.voices.items.properties.gender

Section titled “properties.speech.properties.voices.items.properties.gender”

readonly gender: object

properties.speech.properties.voices.items.properties.gender.$ref

Section titled “properties.speech.properties.voices.items.properties.gender.$ref”

readonly $ref: "provider-dynamic-capabilities.schema.json#/$defs/voiceGender"

properties.speech.properties.voices.items.properties.id

Section titled “properties.speech.properties.voices.items.properties.id”

readonly id: object

properties.speech.properties.voices.items.properties.id.description

Section titled “properties.speech.properties.voices.items.properties.id.description”

readonly description: "Identifies the voice within the package and, through the provider, as speech.voice.id. Unique within the package."

properties.speech.properties.voices.items.properties.id.minLength

Section titled “properties.speech.properties.voices.items.properties.id.minLength”

readonly minLength: 1

properties.speech.properties.voices.items.properties.id.type

Section titled “properties.speech.properties.voices.items.properties.id.type”

readonly type: "string"

properties.speech.properties.voices.items.properties.license

Section titled “properties.speech.properties.voices.items.properties.license”

readonly license: object

properties.speech.properties.voices.items.properties.license.$ref

Section titled “properties.speech.properties.voices.items.properties.license.$ref”

readonly $ref: "#/$defs/assetLicense"

properties.speech.properties.voices.items.properties.locales

Section titled “properties.speech.properties.voices.items.properties.locales”

readonly locales: object

properties.speech.properties.voices.items.properties.locales.description

Section titled “properties.speech.properties.voices.items.properties.locales.description”

readonly description: "Hyphenated BCP 47 tags the voice speaks (for example 'de-DE', not 'de_DE'); the first is its primary locale."

properties.speech.properties.voices.items.properties.locales.items

Section titled “properties.speech.properties.voices.items.properties.locales.items”

readonly items: object

properties.speech.properties.voices.items.properties.locales.items.minLength

Section titled “properties.speech.properties.voices.items.properties.locales.items.minLength”

readonly minLength: 1

properties.speech.properties.voices.items.properties.locales.items.pattern

Section titled “properties.speech.properties.voices.items.properties.locales.items.pattern”

readonly pattern: "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"

properties.speech.properties.voices.items.properties.locales.items.type

Section titled “properties.speech.properties.voices.items.properties.locales.items.type”

readonly type: "string"

properties.speech.properties.voices.items.properties.locales.minItems

Section titled “properties.speech.properties.voices.items.properties.locales.minItems”

readonly minItems: 1

properties.speech.properties.voices.items.properties.locales.type

Section titled “properties.speech.properties.voices.items.properties.locales.type”

readonly type: "array"

properties.speech.properties.voices.items.properties.name

Section titled “properties.speech.properties.voices.items.properties.name”

readonly name: object

properties.speech.properties.voices.items.properties.name.description

Section titled “properties.speech.properties.voices.items.properties.name.description”

readonly description: "Label for showing the voice to a person."

properties.speech.properties.voices.items.properties.name.minLength

Section titled “properties.speech.properties.voices.items.properties.name.minLength”

readonly minLength: 1

properties.speech.properties.voices.items.properties.name.type

Section titled “properties.speech.properties.voices.items.properties.name.type”

readonly type: "string"

properties.speech.properties.voices.items.required

Section titled “properties.speech.properties.voices.items.required”

readonly required: readonly ["id", "name", "locales"]

properties.speech.properties.voices.items.title

Section titled “properties.speech.properties.voices.items.title”

readonly title: "SpeechModelVoice"

properties.speech.properties.voices.items.type

Section titled “properties.speech.properties.voices.items.type”

readonly type: "object"

properties.speech.properties.voices.minItems

Section titled “properties.speech.properties.voices.minItems”

readonly minItems: 1

readonly type: "array"

readonly required: readonly ["pipeline", "sampleRate", "graphs", "voices"]

readonly title: "SpeechModelPackage"

readonly type: "object"

readonly tasks: object

readonly description: "IndeRun task kinds this model package can serve (for example 'text_to_text'). Used by dynamic capability checks and route matching."

readonly items: object

readonly minLength: 1

readonly type: "string"

readonly type: "array"

readonly variant: object

readonly description: "Optional concrete artifact variant of this logical model (for example 'onnx-int8', 'coreai-fp16'). 'id' names the model, 'variant' the bytes."

readonly minLength: 1

readonly type: "string"

readonly version: object

readonly description: "Optional application-defined version for the model package, used for cache invalidation and compatibility checks."

readonly minLength: 1

readonly type: "string"

readonly required: readonly ["id", "format"]

readonly then: object

readonly required: readonly ["speech"]

readonly title: "ModelPackage"

readonly type: "object"