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.

Workflow Orchestration
Moments Lab API

Moments Lab API

Import and Index files and live streams, then pull the metadata into the systems you already run.

Similar integrations

See more

Ready to see what AI video discovery can do for your team?