The Moments Lab API
The Moments Lab API runs over standard HTTPS as a REST API, so any system that can make a web request can use it. You authenticate with a single bearer token issued for your workspace, and every request and response comes back as plain JSON.
Five things you can do with it
- Send media in. Point us at your own cloud storage, or pass a signed URL per file.
- Set how each file gets indexed. Language, audio tracks, custom fields, and which show it belongs to.
- Pull the AI metadata back. Shot descriptions, custom moments, transcripts, people, labels and soundbites, all timecoded.
- Take the embeddings too. Build your own search or recommendation model on the vectors, not just the text.
- Start and stop live recordings. Schedule one ahead or trigger it now, from your own system.
Keep the two systems lined up
Your external ID travels with the request and works as a lookup key on the way back, so results match your records without a mapping table. You can also create and manage organizations, events and programs through the API, read and patch custom fields on any media file, and update or delete a file when your own system says it should go.
Send media in
Moments Lab needs to reach your file, not own it. Register your storage credentials once, either an AWS IAM role guarded by an External ID or a GCS HMAC key pair, and we read from your bucket directly. We check the credentials with the provider before we store it, we never hand the sensitive fields back, and you can rotate it in place rather than starting again. If you would rather not give standing access, send a signed URL for each file instead. Either way the original stays where it lives.
Then post the file's location and you'll get a request ID back. From there you can choose one of two routes: index only, where you take the metadata and we're done, or ingest, which does the same thing and also makes the media available in Moments Lab workspace so your team can find and clip and publish it there too.
Set how each file gets indexed
Every request carries its own settings, so you can set the transcript language or let it be detected automatically, map which audio track and channels to analyze when a show carries several languages, and attach your own Identification system so results match your records later. You can also add custom fields, set the recording or broadcast date, and link the media to a program, which tells MXT to look for the custom moments defined for that show, so a returning format gets indexed the way last season was.
MXT is our video indexing AI. It watches and listens at the same time, rather than running separate tools over the picture and the audio.
Pull the AI metadata back
You can ask for results by media ID, by your own external ID, or by the analysis request ID, and take the whole analysis in one response or pull just the part you need: people, labels, transcripts, or the MXT payload on its own.
What comes back is shot by shot descriptions, sequences that group the related shots, a summary of the whole file, and the soundbites worth using with the speaker attached, plus people, logos, landmarks, text on screen and labels built from all of it. People and labels carry confidence scores and timecoded occurrences. Transcripts come back in the original language plus translations, with speakers matched to their segments. Speech to text runs in up to 200 languages, and detects the spoken language automatically in up to 50.
You can also ask for a CDN playback token, so your own interface plays the proxy and nobody has to switch tools to check a moment before they use it.
Take the embeddings
The MXT payload carries embeddings generated by open-source AI models alongside the text. If you are building your own semantic search, a recommendation model or a similarity feature, you can work from the vectors instead of re-deriving them from our descriptions.
Start and stop live recordings
Schedule a recording between two timestamps, or start one now and stop it when the show ends. Scheduled recordings begin within a minute of the time you set. The same analysis runs on a live feed as on a file, so it comes back described, transcribed and labeled. Your own scheduling system drives it, which means the recording happens whether or not someone remembers to press record.
Getting started
The full reference, the OpenAPI spec and a console for testing your own calls are at api.momentslab.com.
Similar integrations
Turbocharge your live and archived sports highlights with the powerful combination of the Moments Lab Cloud Media Hub and Stats Perform
Connect a ready-made database of famous faces, so more of the people in your catalog are searchable by name
Search your Moments Lab library from inside Adobe Premiere Pro and drop the exact moment onto your timeline.
Point Moments Lab at your S3 buckets and search, clip and publish from them without copying the archive.

Automate tasks in qibb so new episodes reach Moments Lab, get indexed and are ready to clip.
Sign in to Moments Lab with your Microsoft work account, and manage who gets in from Entra ID.
