Skip to main content
A recording is the core NeetoRecord resource. For fields and response details, see the API reference. Every command below takes the recording as a positional argument. That argument accepts either the recording’s id or its public_link_id, which is the last segment of a watch URL such as https://acme.neetorecord.com/watch/4f9c2a1b7e5d3086af12.

List recordings

This command lists the uploaded recordings you can see, newest first. Use this to find a recording id to pass to the other commands. Narrow the list with the filter flags, and use --sort-by and --sort-direction to change the order.
To list the recordings you made in a week, filter by owner and created date. me means the signed-in member, and both dates are inclusive.
To find recordings that still need a transcript, use --has-transcript=false. Repeat --tag to match any of several tags.
Sample output (--json)

Show a recording

This command shows one recording in full.
Required arguments:
  • <id> - the recording id or public link id.
The output is the same recording object that list returns, wrapped in data with no pagination block.

Search recordings by title

This command searches recordings by title. Use this when you know roughly what a recording is called but not its id.
The output matches recordings list.

Search recordings by transcript

This command searches the text of recording transcripts. Use this to find the recording where something was said, rather than one whose title matches.
The output matches recordings list.

Upload a video

This command uploads an MP4 file as a new recording. It reserves the recording, sends the file to storage, and then starts processing. The file must be an .mp4 of up to 2 GB, and your plan must allow uploads. The command stops before it sends anything if the file is missing, is not an .mp4, or is over 2 GB. It retries network errors, timeouts, and 408, 429, and 5xx responses up to 3 times.
Required arguments:
  • <file.mp4> - the path to the video file.
Sample output (--json)
Use --quiet to print only the recording id. The recording is processed in the background, so its watch page may take a short while to play.

Update a recording

This command renames a recording, replaces its summary, moves it between folders, or replaces its tags. Only the flags you pass are changed.
Required arguments:
  • <id> - the recording id or public link id.
--tag replaces every tag on the recording, so pass the complete list each time. Tags that do not exist yet are created. Passing --folder-id "" removes the recording from its folder. --folder-id accepts the id returned by folders list. The output is the updated recording object, wrapped in data.

Delete a recording

This command deletes a recording and everything derived from it. This cannot be undone.
Required arguments:
  • <id> - the recording id or public link id.
Sample output

Show a transcript

This command prints the full transcript with its timestamped segments.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Check transcript status

This command reports whether a transcript exists and where generation has got to. Check this before polling for transcript text.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Generate a transcript

This command starts transcript generation, or regenerates an existing transcript in another language. Generation runs in the background.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Show chapters

This command prints the auto-generated chapters of a recording.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Check chapter status

This command reports whether chapters exist and where generation has got to.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Generate chapters

This command starts chapter generation for a recording. It needs a transcript, so run trigger-transcript first if the recording does not have one.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)
This command prints the public watch link, and whether that link has expired or is behind access control.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Get the embed code

This command prints the iframe snippet for embedding a recording in another page.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Get the download URL

This command returns a presigned URL for downloading the recording. The URL is short lived, so fetch it right before you use it.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)
When the MP4 has not been prepared yet, the response carries "is_download_file_ready": false and no URL. Run trigger-mp4, then try again. An MP4 URL is valid for 600 seconds; a --format webm URL is valid for 60 seconds and is ready as soon as the recording has been uploaded.

Generate the MP4

This command starts preparing the downloadable MP4 for a recording. Run it when download-url reports that the file is not ready.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)
status is generating when regeneration was queued, already_generating when a conversion is already running, and ready when the MP4 is already up to date.

Get a screenshot

This command returns a URL to a still frame captured at a timestamp. Use this to pull a thumbnail out of a recording, or to look at what was on screen when something was said.
Required arguments:
  • <id> - the recording id or public link id.
--timestamp must fall within the recording’s duration.
Sample output (--json)

Show recording analytics

This command reports the view count for a single recording, broken down by day.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)
For workspace-wide numbers, see analytics show.

List CTAs

This command lists the call-to-action buttons configured on a recording.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Show action items

This command shows the action items extracted from a recording’s transcript, each with the second at which it was mentioned. Check status first: success, no_transcript, in_progress, failed or not_generated. The items are listed only when the status is success.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Generate action items

This command starts action item extraction. The transcript is sent to OpenAI and the items are produced in the background, so the command returns at once. Run recordings action-items until the status is success or failed. If the status is already success, no_transcript or in_progress, it is returned unchanged and nothing new starts.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)

Create a CTA

This command adds a call-to-action button that appears over the video for a time range.
Required arguments:
  • <id> - the recording id or public link id.
Sample output (--json)