Skip to content
Skip to main content

Notetaker media formats

Last updated:

Every meeting Notetaker attends produces up to 5 files: a recording, a thumbnail, a transcript, and, when you enable them, a summary and a list of action items. This page describes the format of each file so you can parse and store them. For how Nylas delivers the files and how long the download URLs last, see Handling Notetaker media files.

The default recording is an MP4 at 1280x720 that captures the main meeting interface without browser chrome or the meeting platform’s toolbars. The audio track is stereo and includes every participant plus any shared content. Nylas produces it when recording_type is audio_video, which is the default.

What appears in the video differs slightly by provider:

  • Google Meet: The participant grid and any shared screen content.
  • Microsoft Teams: The main meeting area.
  • Zoom: The full meeting window.

When recording_type is audio in your Notetaker settings, Nylas records only the meeting audio and never captures video. The file is an MP3 instead of an MP4, and it’s the only recording file the meeting produces. In this mode:

  • The MP3 appears as the recording entry in the media response and in notetaker.media webhook notifications.
  • Nylas still generates a speaker-labelled transcript from the audio.
  • No thumbnail is created, because there’s no video to sample.

The thumbnail is a PNG that’s 1280 pixels wide, with the height scaled to match the recording’s aspect ratio. Nylas samples it from roughly the midpoint of the video recording, so it usually shows the meeting in progress rather than an empty room. Audio-only recordings don’t produce one.

The transcript is a JSON file. In its usual form, type is speaker_labelled and the transcript field is an array of segments, one per stretch of speech, each with the speaker’s name, start and end times in milliseconds, and the text. A top-level language field carries the code of the language the transcription service detected; if you set transcription_settings.expected_languages, it’s usually one of the codes you provided.

{
"object": "transcript",
"type": "speaker_labelled",
"language": "en",
"transcript": [
{
"speaker": "Nyla",
"start": 100,
"end": 10420,
"text": "Did you know that a day on Venus is longer than its year? It takes Venus about 243 Earth days to rotate once, but only about 225 Earth days to orbit the Sun."
},
{
"speaker": "Leyah",
"start": 10500,
"end": 12500,
"text": "That's wild. So technically, you could have a birthday before a sunrise there."
}
]
}

In rare cases, Nylas returns the transcript as raw text without speaker labels or timestamps. type is raw, transcript is a single string, and language is still present.

{
"object": "transcript",
"type": "raw",
"language": "en",
"transcript": "The Moon is slowly moving away from the Earth at a rate of about 3.8 centimeters per year."
}

When summary is true, Nylas generates a JSON file whose entire content is one string: a short summary of the meeting, typically a few sentences. When action_items is true, it generates a JSON file whose entire content is an array of strings, one per action item. Both require transcription to be true, and both accept custom_instructions of up to 3,000 characters to steer the output.