Parameters required to perform a conversion using ModelConverter.convert.

interface ModelConverterRequest {
    inputs: { [key: string]: FileRef };
    outputs: { [key: string]: FileRef };
    pipeline: string;
    reports: { [key: string]: FileRef };
    signal?: AbortSignal;
    yieldIntervalMs?: number;
}

Properties

inputs: { [key: string]: FileRef }

Input data for the selected pipeline, keyed by input name. Each key should correspond to a defined pipeline input.

outputs: { [key: string]: FileRef }

Output data for the selected pipeline, keyed by output name. Each key should correspond to a defined pipeline ouput.

pipeline: string

The identifier of the pipeline to use for this conversion. Must match the name of a registered pipeline in the converter.

reports: { [key: string]: FileRef }

Select reporters to report on results. Each key should correspond to a supported report type.

signal?: AbortSignal

Optional AbortSignal propagated through the entire conversion: every pipeline input's loader, every output's exporter, the per-model inspection pass, and the between-phase yields all check signal.aborted and throw a DOMException("Aborted", "AbortError") when the caller cancels. If a per-step options.signal is also supplied on a pipeline input or output, the request-level signal wins — cancelling one call should cancel every step.

yieldIntervalMs?: number

Optional yield-throttle interval (in milliseconds) applied for the entire conversion. ModelConverter.convert pushes this onto the global override via setYieldIntervalOverride so every yieldToHost call inside loaders / exporters / inspectors picks it up without having to thread the value through every options object. Restored in a finally so nested converter invocations stack cleanly.

Defaults to the library default (~16 ms / 60 Hz). Raise to 50–100 ms to trade UI smoothness for raw conversion speed on long-running CLI batches; on a headless Node run (xeoconvert) yields don't help anyone so a value of a few seconds essentially disables them.