Organise and index
Bring footage in, keep it findable when files move or drives go offline, and group it into events and projects.
Getting the library in
Index every unindexed media file in a folder in one call, the same way index_video does
Index one video with Gemma, analyzing it in chunks
Add one still image to the Library, SVG drawings included, described so it can be searched by what it shows
Add one audio file to the Library
Process a video end to end: find and confirm faces, then index, analyze style and summarize
Read a file's format and streams with ffprobe. path can also be a clip id, filename or stem
Find the cuts in a video. path can also be a clip id, filename or stem
Re-analyze clips with a chosen vision model, and find analyses that are out of date after a model change
Rebuild the search catalog from every clip record on disk
Library totals: clips indexed, hours of footage, and how many have people and GPS
List video and audio files in an allowed folder, up to limit
The drives your footage lives on and which are connected right now, so you can plan around an unplugged drive
The folders GroundSlate may read and write: the ones you granted plus every profile folder
You choose which folders are indexed automatically, on the app's Watch page
Every watch folder with its total, processed and pending counts and its face setting, plus the library location
Pause or resume automatic indexing for all watch folders
You remove watch folders yourself, on the app's Watch page
Find clips whose files moved and point the library at the new location
Save a video, image, logo or audio file as a named asset in this profile, so later renders can use it by name
Download an AI-generated file from its provider into the library. For a file you found on the web, use fetch_asset
Download a file you found on the web into the library: a photo, logo, press image, illustration, video or audio file
Delete a saved asset by name, file included
Get a saved asset's file path by name, for use in a render
This profile's saved assets (logos, watermarks, b-roll, photos, audio stingers), each with its kind, size and path
What the file itself records: size, duration, dimensions, frame rate, codec, camera, date shot and GPS
Move library metadata from one flat folder into dated folders (YYYY/MM/DD/<clip_id>/), which Finder and backups handle better once there are thousands of clips
Repair Library entries for photos that were processed as videos
Add a content fingerprint to clips that lack one
One-time upgrade that lets older clips survive being renamed
List clips that depend on a folder that gets emptied. Read-only; nothing is copied
Precompute each video's loudest moments so Quick Cut runs faster
Move a finished file from Scratch Outputs into Library Renders. The file moves, so use the new path this returns
Move library media to Deleted Media. Never permanent, and the only way to delete library media from an agent
Bring media back from Deleted Media, undoing soft_delete_media
Collections
Create a Library or People collection, a simple ordered list lighter than a project. kind is "media" (the default) or "people" and cannot change later
List your Library and People collections
One collection by id: its members in order (including unavailable ones), cover, counts and dates
Add clips or people to a collection in the order given. Anything already there keeps its place and is not added twice
Remove clips or people from a collection without deleting them
Set a collection's order to the list you pass
Rename a collection. Its id stays the same
Delete a collection. The clips and people in it are not deleted
Events and projects
Group indexed media into events by capture date and location, then name and summarize the new events with AI
Create an event yourself, optionally from a list of clips
Delete an event. Its clips stay in the library and in every other event, project and collection
One event in full, with details about its clips. list_events and search_events give the short version
List events, newest first, with dates, places, cover and clip count, a page at a time
Have AI title one event from its dates, the people in it and its clip summaries. Stored as ai_name; a name you set is left alone
Have AI title every event that has no ai_name yet, one after another
Set your own title on an event. It is shown instead of the AI title, which is kept as a suggestion
Write and save a one- or two-sentence AI summary of what an event was
Summarize every event that has no ai_summary yet, one after another
A text summary of a whole event (name, dates, places, and each clip with its people and summary) to paste into an AI assistant
Clips that probably belong to an event because they fall within or near its time and place, ranked for you to confirm. Never added automatically
Clips you skipped as suggestions for an event, so you can bring them back
Bring skipped clips back as suggestions for an event. Check removed, not skipped_count
Find event titles and summaries that name someone who is not in your people catalog, a name the AI made up
Set an event's cover to one of its clips
Add clips to an event. Re-clustering will not remove them
Remove clips from an event. Removing the last clip deletes the event
Add a note to an event. Events can hold several notes, each with an author
Mark a favorite moment at t seconds in a clip. This is separate from favoriting the whole clip
Remove the favorite moment nearest t seconds
Create a project that groups people, events and clips across times and places
Copy a project, with its members, kind, summaries, tags, cover and notes, under a new id named '<name> copy'
One project in full by id: members, regions, AI name and summary, stats and notes
Every project in this profile, with its name, kind (personal or business), counts and notes
Add clips, and optionally people, events or avatars, to a project
Remove clips, people, events or avatars from a project
People, events and clips that probably belong to a project, ranked, each with the reason, for you to confirm
Reject a project suggestion so it is not proposed again
Files made for a project, newest first, as on its Outputs tab, each saying whether you marked it final
Remove a file from the Dashboard's Recent outputs list. The file is not deleted
What a project contains, how big it is, and whether anything is offline
Save text to a project's working folder
Read a text file from a project's working folder, so a new session can pick up where the last one stopped
Everything in a project's working folder, newest first, with path, area, size and whether each is text
You export a project yourself, with Collect and Export on its detail screen
Link a project to an external project management tool
Remove a project management link by provider or link_id
Every project note about one person, event or clip, across all projects
Undo a wrong automatic merge: pull one face source out of a person and rebuild their recognition from what remains
Add a note to a project. title is optional; body is the text
Edit a project note. Anything you leave out stays as it was
Delete one note from a project by note_id. Permanent
Pin a project note to the top, or unpin it with pinned=False
Add a note to a person, shown on their Notes tab
Edit a person note by note_id. Anything you leave out stays as it was
Delete one note from a person by note_id. Permanent, with no undo
Every note on a person, as on their Notes tab
Pin a person note to the top of their Notes tab, or unpin it with pinned=False
Add a timestamped production note to a clip. Earlier notes are kept