NEWVectors or files. Pick a path.Start →
    Intermediate
    Advertising
    8 min read

    How do I classify video, images and audio into IAB Content Taxonomy 3.1?

    Classify video, images and audio into IAB Content Taxonomy 3.1. Each video scene returns tier 1 to tier 4 category IDs and names, a confidence score and start and end timestamps, ready to store at ingest and read at bid time as OpenRTB cat with cattax.

    Who It's For

    Engineers at SSPs, DSPs, publishers, CTV platforms and podcast networks who need IAB Content Taxonomy 3.1 IDs on video, image and audio inventory, and who want to call an API and check the output themselves.

    Problem Solved

    Most contextual classification reads the text around a piece of media: a page, a title, a description. Video, CTV and podcast inventory often arrives with little or none of that text, so it goes unlabeled or gets a label from its metadata alone. Buyers then either skip the inventory or bid on it blind.

    The short answer

    Mixpeek classifies video, images and audio against the official IAB Content Taxonomy 3.1. Video is split into scenes, and each scene is read from its frames, its speech transcript and its on-screen text. The response gives tier 1 to tier 4 category IDs and names, a confidence score per category, and start and end timestamps for every scene. Classify once at ingest, store the IDs, and read them at bid time as OpenRTB cat with cattax set to the AdCOM value for Content Taxonomy 3.1.

    See It in Action

    Try the free IAB contextual classifier: paste a video URL and see the IAB categories it returns.

    Open the free IAB contextual classifier demo

    Before & After Mixpeek

    Before

    ✗

    Input

    Page text, titles and descriptions only

    ✗

    Granularity

    One category per asset

    ✗

    Taxonomy IDs

    Hand-maintained list, unchecked against the official file

    ✗

    Bid time

    Classify in the auction, or skip unlabeled inventory

    After

    ✓

    Input

    Video frames, speech transcripts, on-screen text and images

    ✓

    Granularity

    Tier 1 to tier 4 categories per scene, with timestamps and confidence scores

    ✓

    Taxonomy IDs

    Generated from IAB Tech Lab's 3.1 file and diffed against it by a unit test

    ✓

    Bid time

    Look up stored IDs and send them as OpenRTB cat with cattax

    Why Mixpeek

    The taxonomy is IAB Tech Lab's own 3.1 file, generated into the platform and checked by a unit test that compares every ID, name, parent and tier against it, so the IDs you pass downstream are the official ones. The same API reads frames, speech and on-screen text, and classification runs once, at ingest, so the auction only reads stored IDs.

    Overview

    To classify video, images or audio into IAB Content Taxonomy 3.1, send the media to Mixpeek and classify it against the official 3.1 tree. Video is split into scenes, and each scene is read from its frames, its speech transcript and its on-screen text. Each scene comes back with tier 1 to tier 4 category IDs and names, a confidence score per category, and start and end timestamps. Images return the same fields without timestamps. Podcast episodes are classified from their transcripts, scene by scene or as a whole episode. The taxonomy holds all 704 categories in IAB Tech Lab's published file, 37 at tier 1, 323 at tier 2, 275 at tier 3 and 69 at tier 4 (Content Taxonomy 3.1 TSV). Mixpeek generates its copy from that file, and a unit test diffs every category ID, name, parent ID and tier against it, so a renamed category or a moved parent fails that test. IAB Tech Lab released 3.1 in December 2024, and its content taxonomy page describes the change from 3.0 as an update to the genre category that adds Thriller (IAB Tech Lab). In the 3.1 file Thriller is ID 700 under Genres (Content Taxonomy 3.1 TSV). The pattern for programmatic use is to classify at ingest, store the categories and embeddings with the media, and look them up at bid time. The stored IDs go into the OpenRTB content object as cat, with cattax set to 9, the AdCOM value for IAB Tech Lab Content Taxonomy 3.1 (AdCOM category taxonomies list). You can try the free IAB contextual classifier demo before writing any code. Text classification has an open IAB 3.1 benchmark with the method and limits on the benchmark page; video and audio are not covered yet.

    Challenges This Solves

    Video and audio arrive without usable text

    Text classifiers need a page, a title or a description. CTV episodes, short-form video and podcast episodes often carry a generic title and nothing else.

    Impact: Inventory with the most watch time gets the thinnest labels, so buyers exclude it or price it as unknown.

    One label per asset hides what each scene is about

    A long episode can move from cooking to travel to a sports segment. A single asset-level category averages those away.

    Impact: Ads land beside a scene that has nothing to do with the category the asset was sold under.

    Taxonomy IDs drift from the official file

    Hand-maintained category lists pick up renamed nodes, wrong parents and IDs from older versions. The IDs still look valid, so nothing errors.

    Impact: Downstream systems read the wrong category for the right ID, and the mismatch is hard to see until a buyer audits it.

    Classification inside the auction is too slow

    Running a model on media while a bid request waits does not fit a real-time bidding timeout.

    Impact: Teams either skip classification for new inventory or classify only the text they can process quickly.

    Recipe Composition

    This use case is composed of the following recipes, connected as a pipeline.

    1
    Taxonomy Enrichment Pipeline

    Classify content into custom or IAB taxonomies

    2
    Hierarchical Classification

    Auto-label content into structured taxonomies

    3
    Feature Extraction

    Turn raw media into structured intelligence

    Feature Extractors Used

    multimodal extractor

    scene classification

    transcription

    ocr text extraction

    Retriever Stages Used

    taxonomy-enrich

    attribute-filter

    feature-search

    Expected Outcomes

    Official IAB Content Taxonomy 3.1 IDs, checked by a unit test

    Taxonomy

    Tier paths per scene with timestamps

    Video and CTV

    Categories from the spoken transcript

    Podcasts

    Stored IDs read by lookup

    Bid time

    Classify your inventory into IAB 3.1

    Load the IAB Content Taxonomy 3.1 tree, point a collection at your video, image or audio bucket, and read tier paths with confidence scores for every scene.

    Frequently Asked Questions

    What are the best IAB content taxonomy classification APIs?
    It depends on the media you need to label and whether you need to call it yourself. IAB Tech Lab publishes an open-source iab-taxonomy-classifier that embeds page text and matches it to Content Taxonomy 3.1, which suits self-hosted text classification (GitHub). Video AI vendors also publish IAB material: Twelve Labs has a contextual ad tutorial that claims IAB 3.1 compliance (Twelve Labs), and Hive says it aligns with Content Taxonomy 3.0 (Hive). Mixpeek is an API that classifies video, images and audio against the official 3.1 file and returns tier paths, confidence scores and scene timestamps. No open benchmark compares these options on IAB 3.1 yet, so test each one on a sample of your own inventory.
    How do I classify video into IAB Content Taxonomy 3.1 categories?
    Upload the video to a Mixpeek bucket or connect your object storage. The multimodal extractor splits it into scenes and reads frames, speech and on-screen text from each one. A retriever with the IAB 3.1 taxonomy then assigns categories to every scene. Each scene comes back with its start and end time and a list of categories, each with its ID, name, tier, full tier path and a confidence score. A basketball scene, for example, carries 547 Basketball on the path 483 Sports > 547 Basketball, and can also carry 489 College Basketball on 483 Sports > 487 College Sports > 489 College Basketball. A cooking scene carries 216 Cooking on 210 Food & Drink > 216 Cooking. Those IDs and names come from IAB Tech Lab's 3.1 file (Content Taxonomy 3.1 TSV).
    How do I tag podcast episodes with IAB categories?
    Send the episode audio to Mixpeek. It is transcribed, and the transcript is classified against IAB Content Taxonomy 3.1, either for the whole episode or for each segment with its start and end time. Segment-level tags let you sell a sports segment inside a general interest show under its own category. The output uses the same IDs, tier paths and confidence scores as video, so one integration covers both.
    Can I use it for multimodal contextual targeting across video, images and audio?
    Yes. Video, images and audio are classified into the same IAB 3.1 IDs, and each document also stores embeddings, so you can target by category and search inventory by meaning with one API. Video uses frames, transcripts and on-screen text together. Images are classified from their visual content. Audio is classified from its transcript.
    How do the categories get into an OpenRTB bid request?
    Classify at ingest and store the IDs with each piece of content. At bid time, look up the content and write its IDs into the OpenRTB content object as cat, and set cattax to say which taxonomy the IDs come from. In the AdCOM list of category taxonomies, IAB Tech Lab Content Taxonomy 3.1 is value 9 and 3.0 is value 7 (AdCOM). OpenRTB 2.6 defaults cattax to 1, the deprecated Content Category Taxonomy 1.0, when the field is missing, so always set it (OpenRTB 2.6). Mixpeek's open-source reference packages for Prebid.js, Prebid Server and OpenRTB emit IAB Content Taxonomy 1.0 codes (IAB1 to IAB26), which take cattax 1. Their published versions label those codes 6 or 7, so override cattax to 1, or send 3.1 IDs from the taxonomy API with cattax 9. They are reference implementations and not official Prebid or IAB modules.
    What changed in IAB Content Taxonomy 3.1 compared with 3.0?
    IAB Tech Lab released 3.1 in December 2024, and its content taxonomy page describes the update as adding Thriller to the genre category (IAB Tech Lab). Thriller is ID 700 under Genres in the 3.1 file, which has 704 categories in total (Content Taxonomy 3.1 TSV). If you still hold IAB 2.x IDs, the open-source IAB mapper converts them to 3.x.
    What changed in IAB Content Taxonomy 3.2?
    Nothing yet that you can check: as of 28 October 2026, IAB Tech Lab has not published a Content Taxonomy 3.2. Its content taxonomy page lists 3.1, released in December 2024, as the latest version (IAB Tech Lab), and the Content Taxonomies folder of its public GitHub repository ends at the 3.1 file (GitHub). The change list to compare against today is 3.0 to 3.1: one category added (700 Thriller under Genres), two renamed and one moved, for 704 categories in total. When a new version is published, Mixpeek regenerates its copy from the official file, and the unit test that diffs every ID, name, parent and tier against that file lists exactly what changed.
    What is the latest version of the IAB Content Taxonomy?
    Content Taxonomy 3.1, dated December 2024 in IAB Tech Lab's version table, with public comment open until 24 January 2025 (IAB Tech Lab). It has 704 categories across four tiers: 37 at tier 1, 323 at tier 2, 275 at tier 3 and 69 at tier 4. In OpenRTB, send its IDs in cat with cattax set to 9, the AdCOM value for Content Taxonomy 3.1 (AdCOM). IAB Tech Lab marks Content Taxonomy 1.0 as deprecated for content categorization unless SCD flags are present.
    How do I find out when a new IAB Content Taxonomy version is released?
    Watch two places. IAB Tech Lab announces each new version on its content taxonomy page with a public comment period; 3.1 was open for comment until 24 January 2025 (IAB Tech Lab). The final TSV then appears in the Content Taxonomies folder of the InteractiveAdvertisingBureau/Taxonomies repository on GitHub, where you can watch releases or commits. Diff the new TSV against the one you hold by ID, name, parent and tier columns, since renamed and moved categories keep their IDs.
    How many categories are in IAB Content Taxonomy 3.1?
    704: 37 at tier 1, 323 at tier 2, 275 at tier 3 and 69 at tier 4, counted from IAB Tech Lab's published 3.1 file (Content Taxonomy 3.1 TSV). The 3.0 file has 703 (36, 322, 275 and 70). Between the two, one category was added (700 Thriller under Genres), two were renamed (156 Musicals became Musical, and 602 Software and Applications became Computer Software and Applications), and Communication (ID 80DV8O) moved from under Computer Software and Applications to its own tier 1 group, which is why tier 1 grows by one and tier 4 shrinks by one. Not every ID is a number: 80DV8O and SPSHQ5 (Genres) are real 3.1 IDs, so store them as strings.
    Does the IAB Content Taxonomy 3.1 file have any rows where the parent and the path disagree?
    Two. In the 3.1 file, 376 Public Radio lists SPSHQ5 Genres as its parent, while its tier columns read Genres > Talk Radio > Public Radio. 497 Horse Racing lists 483 Sports as its parent, while its tier columns read Sports > Equine Sports > Horse Racing. In 3.0 both pointed at the middle category (371 Talk Radio and 496 Equine Sports). Code that builds the tree from the Parent column puts these two one level higher than code that reads the tier columns, so choose one source and test against the file. Mixpeek generates its copy from the official file, and a unit test checks every ID, name, parent and tier against it.
    How does this compare with IAB Tech Lab's iab-taxonomy-classifier?
    IAB Tech Lab's iab-taxonomy-classifier is a text classifier: it embeds a page title and body and compares it with embeddings of the 3.1 categories. Its README reports a run with EmbeddingGemma-300M on 704 synthetic webpages, one per category, at 75.0% top-1 and 94.5% top-5 accuracy (GitHub). The same README warns that vectors from different models, or from one model truncated to different sizes, are not comparable. It is a good open baseline for web text. Mixpeek adds video frames, speech and on-screen text, and returns per-scene timestamps. IAB Tech Lab's AAMP 2.3 release lists a Content Taxonomy Parser contributed by Mixpeek (AAMP 2.3 release).
    Is there a benchmark for Mixpeek IAB 3.1 accuracy?
    For text, yes. On IAB Tech Lab's open 704-page synthetic benchmark, Mixpeek's IAB 3.1 text classifier scored 72.7% top-1 and 93.8% top-5 on 2026-10-19, below IAB Tech Lab's best published run and above two others, with the method, the threshold trade-off and the limits on the benchmark page. Video and audio are not covered yet. Until they are, run the free demo on your own media, or classify a labeled sample of your inventory and compare the IDs against your own judgments.

    Ready to Implement This Use Case?

    Our team can help you get started with IAB Content Taxonomy 3.1 classification API for video, images and audio in your organization.