---
title: "What is a typed media column?"
description: "A typed media column stores an image, video, audio clip, or document as a value the engine can decode, iterate, and index, instead of an opaque blob."
url: "https://pixeltable.com/learn/what-is-a-typed-media-column"
updated: "2026-09-29"
vertical: "Multimodal data"
doc: "https://docs.pixeltable.com/platform/type-system"
---

# What is a typed media column?

A typed media column stores an image, video, audio clip, or document as a value the engine can decode, iterate, and index, instead of an opaque blob.

Updated: 2026-09-29
Part of [What is a multimodal database?](https://pixeltable.com/learn/what-is-a-multimodal-database).

## On this page

- [How it works](https://pixeltable.com/learn/what-is-a-typed-media-column#how-it-works)
- [What it is not](https://pixeltable.com/learn/what-is-a-typed-media-column#what-it-is-not)
- [Comparison](https://pixeltable.com/learn/what-is-a-typed-media-column#comparison)
- [Where Pixeltable fits](https://pixeltable.com/learn/what-is-a-typed-media-column#where-pixeltable-fits)
- [Questions](https://pixeltable.com/learn/what-is-a-typed-media-column#questions)

## How it works {#how-it-works}


- The type tells the engine how to open the bytes.
- Later columns can extract frames, pages, or a transcript because the type is known.
- The bytes can live in a media store or a bucket; the column holds a typed pointer.

## What it is not {#what-it-is-not}

It is not a FILE path, a URL string, or an object-store key the catalog cannot interpret.

## typed media column: this, and the thing it is confused with {#comparison}

|  | This | Not this |
| --- | --- | --- |
| The value | Image, video, audio, or document | A string path or untyped blob |
| What you can declare next | Frames, pages, transcripts, embeddings | A script that hopes the path is a video |
| Where bytes live | Media store or a bucket you name | Copied into every tool |

## Where Pixeltable fits {#where-pixeltable-fits}

In Pixeltable the annotations are pxt.Image, pxt.Video, pxt.Audio, and pxt.Document. A string column is not media.

## Questions {#questions}

### How does typed media column work? {#faq-1}

The type tells the engine how to open the bytes. Later columns can extract frames, pages, or a transcript because the type is known. The bytes can live in a media store or a bucket; the column holds a typed pointer.

### What is typed media column often confused with? {#faq-2}

It is not a FILE path, a URL string, or an object-store key the catalog cannot interpret.

## In the blog

- [String or List of Strings in One Pixeltable Column?](https://pixeltable.com/blog/pixeltable-string-or-list-columns-json-array)
- [Databricks FILE Type vs Pixeltable Media Columns](https://pixeltable.com/blog/databricks-file-type-vs-pixeltable-media-columns)
- [What Is a Multimodal Data Table?](https://pixeltable.com/blog/what-is-a-multimodal-data-table)
- [Pixeltable + Pydantic Integration: Enterprise Type Safety for AI Data Workflows](https://pixeltable.com/blog/pydantic-integration-type-safety)
- [What Is Jev? TypeSafe's System One Model — and Why the Decision Belongs in the Table](https://pixeltable.com/blog/jev-system-one-model)

## Related

- [Documentation](https://docs.pixeltable.com/platform/type-system)
- [Databricks FILE Type vs Pixeltable Media Columns](https://pixeltable.com/blog/databricks-file-type-vs-pixeltable-media-columns)
- [Pixeltable Core Concepts](https://pixeltable.com/blog/pixeltable-core-concepts)
- [Pixeltable vs Supabase](https://pixeltable.com/compare/pixeltable-vs-supabase)
