---
title: "clika_runtime.io"
sidebar_label: "clika_runtime.io"
description: "The clika_runtime.io module, introspected from the installed wheel."
---

<!-- Generated by tools/api_reference/generate_api_docs.py. Do not edit. -->

Model files and media in and out.

Checkpoints load as a dict of tensors (:func:`load_safetensors`,
:func:`load_torch_checkpoint`, :func:`load_gguf`) or open as a
:class:`TensorsContainer` whose entries read from disk on first use
(:func:`open_safetensors`, :func:`open_torch_checkpoint`, :func:`open_gguf`,
or :meth:`TensorsContainer.open` by file suffix). :func:`peek_gguf` reads a
GGUF file's header alone (its metadata and tensor table, from as little as
the file's first bytes). A safetensors file's own
order and its metadata read back through :func:`load_safetensors_entries`
(a :class:`SafetensorsEntries`: the ``(name, tensor)`` pairs in header order
and the metadata as string pairs), and :func:`save_safetensors` writes its
entries in the given order with optional metadata. ONNX models open as an
editable :class:`OnnxModel` and compile into a :class:`ModelGraph`, which
runs once finalized; a :class:`CompileOptions` pins the input shapes and
names the device the weights live on::

    options = crt.io.CompileOptions(specs={"X": [8, 131]})
    graph = crt.io.OnnxModel.open("model.onnx").compile(options)

:mod:`clika_runtime.onnx` is the one-call loader over them. The audio pair
decodes and writes waveforms; the npy pair moves one tensor.

Video: :func:`peek_video` reads a clip's header (a :class:`VideoInfo`),
:func:`load_video` decodes a whole clip into a :class:`VideoData` (every
frame as one ``[T, H, W, 3]`` uint8 tensor with its indices and timestamps,
a :class:`FrameBatch`, beside the stream's info), and :class:`VideoReader`
decodes on demand, per index, per timestamp or in batches, for a clip too
long to hold at once. :class:`VideoWriter` encodes ``[H, W, 3]`` uint8
frames into a file, with an :class:`AudioTrack` when the clip carries
sound; it is a context manager, so the file is finalized when the ``with``
block ends. :func:`video_capability` reports whether this host has a video
backend. A source is a path or the encoded bytes. Images: :func:`peek_image`
reads a header (an :class:`ImageInfo`), :func:`load_image` decodes to a
``[H, W, C]`` uint8 tensor, :func:`encode_image` writes PNG bytes and
:func:`save_image` the format a path's suffix asks for::

    with crt.io.VideoWriter.open("clip.mp4", fps=24, width=64, height=48) as writer:
        for frame in frames:
            writer.write_frame(frame)
    reader = crt.io.VideoReader.open("clip.mp4")
    batch = reader.sample_uniform(8)

| Name | Kind |
| --- | --- |
| [`AudioTrack`](./AudioTrack.md) | class |
| [`BenchOptions`](./BenchOptions.md) | class |
| [`BenchReport`](./BenchReport.md) | class |
| [`CompileOptions`](./CompileOptions.md) | class |
| [`ContainerEntry`](./ContainerEntry.md) | class |
| [`DefaultsOptions`](./DefaultsOptions.md) | class |
| [`DimDomain`](./DimDomain.md) | class |
| [`FeedFill`](./FeedFill.md) | class |
| [`FrameBatch`](./FrameBatch.md) | class |
| [`ImageInfo`](./ImageInfo.md) | class |
| [`InputShape`](./InputShape.md) | class |
| [`KVCacheLayerInfo`](./KVCacheLayerInfo.md) | class |
| [`ModelGraph`](./ModelGraph.md) | class |
| [`OnnxModel`](./OnnxModel.md) | class |
| [`OnnxNodeInfo`](./OnnxNodeInfo.md) | class |
| [`OptimizeReport`](./OptimizeReport.md) | class |
| [`SafetensorsEntries`](./SafetensorsEntries.md) | class |
| [`ShapeDomain`](./ShapeDomain.md) | class |
| [`TensorsContainer`](./TensorsContainer.md) | class |
| [`TransformReport`](./TransformReport.md) | class |
| [`VideoData`](./VideoData.md) | class |
| [`VideoInfo`](./VideoInfo.md) | class |
| [`VideoReader`](./VideoReader.md) | class |
| [`VideoWriter`](./VideoWriter.md) | class |
| [functions](./functions.md) | module functions |