MQS™
Moments Lab

How to Export AI-Generated Metadata from Moments Lab

Moments Lab uses MXT-2 multimodal AI to generate time-coded metadata from video content. Here's how to get that metadata into a spreadsheet for quality assessment.

Built-in Export
JSON via API
Admin Required
API credentials
Best Output
JSON to CSV
Time to First Export
20-30 min
i
The short answer

Moments Lab does not have a built-in CSV export. Metadata generated by MXT-2 is returned as non-proprietary JSON through the Moments Lab API, which can be converted to CSV. If you use Moments Lab alongside a MAM system (AVID, NINA, Arvato), the AI-generated metadata is pushed to that system and can be exported from there.

1

Moments Lab API (Just Index)

TechnicalBest for: Developers, media operations teams, automated pipelinesOutput: JSON to CSV~20-30 minutes

The Moments Lab public API provides access to all MXT-2 indexed metadata in a non-proprietary JSON format. You can retrieve AI-generated descriptions, tags, transcript segments, detected entities, and custom taxonomy labels for all indexed media, then flatten the JSON to CSV for MQS analysis.

1
Get API credentials from your Moments Lab account manager or workspace admin. API documentation is available at api.momentslab.com.
2
Use the API to list indexed media and retrieve metadata. MXT-2 returns time-coded metadata at the shot and scene level, including descriptions, detected entities (people, logos, landmarks), transcripts, and tags.
3
Flatten the JSON response to a tabular format. Each row should represent one asset (or one scene/shot, depending on your analysis goal). Map JSON fields to CSV columns: description, tags, transcript, entities, custom classifier labels, and confidence scores.
python
import requests
import csv
import json

# Moments Lab API credentials
API_BASE = "https://api.momentslab.com/v1"
API_KEY = "your_api_key"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

def list_indexed_media():
    """Retrieve all indexed media with MXT-2 metadata."""
    all_media = []
    page = 1
    while True:
        resp = requests.get(
            f"{API_BASE}/media",
            headers=HEADERS,
            params={"page": page, "limit": 100},
        )
        data = resp.json()
        items = data.get("items", [])
        if not items:
            break
        all_media.extend(items)
        page += 1
        if len(items) < 100:
            break
    return all_media

media = list_indexed_media()

# Flatten to CSV
with open("moments_lab_metadata.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow([
        "Media ID", "Title", "Description", "Tags",
        "Detected People", "Detected Logos", "Transcript",
        "Duration", "Created", "Custom Labels",
    ])
    for item in media:
        writer.writerow([
            item.get("id", ""),
            item.get("title", ""),
            item.get("description", ""),
            ", ".join(item.get("tags", [])),
            ", ".join(item.get("people", [])),
            ", ".join(item.get("logos", [])),
            item.get("transcript", ""),
            item.get("duration", ""),
            item.get("created_at", ""),
            ", ".join(item.get("custom_labels", [])),
        ])

print(f"Exported {len(media)} items to moments_lab_metadata.csv")
Asset-level vs. shot-level export
MXT-2 generates metadata at the shot and scene level within each video. For MQS analysis, you typically want one row per source video with aggregated metadata (combined tags, full transcript, all detected entities). Exporting one row per shot will inflate your record count and may affect scoring. Choose the granularity that matches your governance scope.
2

MAM Integration Export

ModerateBest for: Media operations, archive managers, production teamsOutput: CSV or Excel (via MAM system)~10-15 minutes

If you use Moments Lab alongside a MAM system (AVID, NINA, Arvato, Bitcentral), MXT-2 indexed metadata is pushed to your MAM automatically. You can then use your MAM system's built-in export tools to extract the enriched metadata as a CSV or Excel file.

1
Confirm that your Moments Lab workspace is connected to your MAM system and that MXT-2 metadata is syncing. Check with your Moments Lab Success Manager if the integration is not yet configured.
2
In your MAM system, navigate to the asset library or search interface. Filter for assets that have been indexed by Moments Lab (typically identifiable by AI-generated description or tag fields).
3
Use your MAM system's metadata export feature to download a CSV or Excel file. The export will include both the MAM system's native fields and the AI-generated metadata fields populated by Moments Lab.
i
Field mapping varies by MAM
How Moments Lab metadata maps to your MAM system's fields depends on the integration configuration. AI-generated descriptions may populate a "description" or "notes" field; tags may merge with existing keyword fields. Check with your Moments Lab admin to understand which MAM fields receive MXT-2 metadata.

What metadata fields can you export?

FieldAPI ExportMAM Integration
AI-generated description
Tags / keywords
Detected peopleIf mapped
Detected logosIf mapped
Detected landmarksIf mapped
Transcript (speech-to-text)If mapped
Soundbites / key quotesIf mapped
Custom classifier labels
Time codes
Confidence scores
Duration
File format / codec
Created / modified dates
!
Known considerations
  • JSON to CSV conversion: Moments Lab returns metadata as JSON. Nested fields (arrays of detected entities, time-coded segments) need to be flattened for CSV. The script above handles basic flattening, but complex nested structures may need custom mapping.
  • Shot-level granularity: MXT-2 indexes at the shot and scene level. If you export at this granularity, your CSV will have many more rows than source videos. For MQS scoring, aggregating to one row per video is recommended unless you want to assess metadata quality at the scene level.
  • Thesaurus-controlled terms: Custom classifiers use terms defined in the Moments Lab Thesaurus tool. These controlled terms produce consistent vocabulary in your export. If vocabulary appears inconsistent, review and consolidate Thesaurus entries.

You have your metadata export.
Now score it.

Upload your CSV or Excel file to MQS and get a structural metadata health score out of 100 with dimension breakdowns and actionable diagnostics.

Get Your Free ReportSee How It Works

Exporting from another platform?

Google Drive
How to Export File Metadata from Google Drive
Dropbox
How to Export File Metadata from Dropbox
Box
How to Export File Metadata from Box
SharePoint
How to Export Document Metadata from SharePoint
Local Server
How to Export File Metadata from a Local Server
Amazon S3
How to Export Object Metadata from AWS S3
Adobe AEM
How to Export Asset Metadata from AEM
Salsify
How to Export Product Metadata from Salsify
Bynder
How to Export Asset Metadata from Bynder
Contentful
How to Export Content Metadata from Contentful
Airtable
How to Export Metadata from Airtable
Canto
How to Export Asset Metadata from Canto
Acquia DAM
How to Export Asset Metadata from Acquia DAM
Orange Logic
How to Export Asset Metadata from Orange Logic
PhotoShelter for Brands
How to Export Asset Metadata from PhotoShelter for Brands
PhotoShelter for Photographers
How to Export Image Metadata from PhotoShelter for Photographers