Can AI tag video with my own categories?
StoryFolder —
Part of: How to log footage without tagging every clip by hand
Last updated: 2 September 2026.
You run a tagging pass over a client reel and get back person, outdoor, vehicle, daylight. What you needed to know was whether the shot is B-roll, Interview or GFX. Yes, a model can answer in your vocabulary instead of its own, and the mechanism that makes it stick is the field type. Make the category a Dropdown and StoryFolder sends that field's option list to the model as the only permitted answers, then checks what comes back against the list twice before anything is written. An answer that is not on the list is dropped.
The control you get is over the vocabulary. Interview is a valid answer for a b-roll shot; it is just the wrong one, and it will be written. And the domain check holds for four of the six field types: Dropdown, Checkbox, Rating and Number. Tag and Text fields are deliberately open, so those two can introduce values that were never on your list. One more thing to know before you switch anything on: AI Autofill is a Pro feature, and it works by sending one frame per shot to StoryFolder's server, which calls a third-party vision model.
New in 0.4. The per-field Autofill switches, the domain checks and the two global write rules described below all ship in StoryFolder 0.4. The feature page has the current defaults and the cloud boundary.
Can AI use the categories I already defined?
Yes, for Dropdown, Checkbox and Rating fields. Each of those has a closed set of permitted answers, and for a Dropdown the set is yours.
Create a shot field called Content Type with the options B-roll, Interview and GFX. When a run reaches a shot, the prompt sent to the model names your field, its type, its options, and its description if you wrote one, and instructs the model to answer with exactly one of those options or nothing at all. If the frame does not support an answer, it is told to omit the field rather than guess.
Spelling is normalised on the way in. A model that answers medium shot for an option you named Medium Shot gets stored with your spelling, so the value still matches the picker and the filters.
In an analysis of 813 storyboards from 295 paying StoryFolder customers, current to 1 September 2026, the high-value schemas are business-shaped: Client, Job#, Location, Content Type, Release form, Find in Folder, B-ROLL, Animation. Not one customer built a field called objects or scene type. A generic tagger answers a question nobody in that dataset was asking.
What does "validated twice" mean?
Every value is checked against its field's domain on the server before a verdict is returned, and again in the background worker before it is written to your board.
- The option list goes out with the prompt. For a Dropdown, the domain clause reads as exactly one of "B-roll", "Interview", "GFX", or null for no answer.
- The server checks the reply. The returned value runs through the same shared normaliser the app uses. An exact match passes. A case or whitespace mismatch is corrected to your spelling. Anything else is refused and dropped, and an empty answer is dropped too, because "nothing to write" is not a value.
- The worker checks it again. Before the write, the same normaliser runs a second time against the same table. A value that fails here is recorded as out-of-domain and is not written.
Both checks read from one shared domain table, which is why the second is a real gate. Each type carries its own domain, and the current field-type table and defaults set out what each one will accept.
A rejected answer is silent. There is no toast, no badge and no per-field note saying the model tried and missed, so a blank Content Type looks exactly the same whether the model declined to answer or answered something that failed the check.
Which field types can invent a new value?
Tag and Text can. Dropdown, Checkbox, Rating and Number cannot: a Dropdown answer has to be one of the options you defined, a Rating has to be a whole number from 1 to 5 or 0 for unrated, a Checkbox has to be true or false, and a Number has to be a number. Anything else is dropped before it reaches your board.
| Field type | What the model may return | Can it introduce something new? |
|---|---|---|
| Dropdown | Exactly one of the options you defined, or nothing | No |
| Rating | A whole number from 1 to 5, or 0 for unrated | No |
| Checkbox | True or false | No |
| Number | A number, decimals and negatives included, or nothing | No — though any number is in bounds |
| Tag | A list of short text tags. Your existing tags are sent as suggestions | Yes |
| Text | Any text at all | Yes |
Tag is open on purpose. You type tags that are not on the list, because that is how a tag vocabulary grows, and a model that could only reuse existing tags could never add the first one. Text is open because a text field's domain is anything you could have typed into it.
So the field type decides how much of your vocabulary you are actually protecting. A Job# held in a Text field is the clearest case: a job number is an external fact that no frame contains, the model can return any string, and a plausible-looking wrong string passes validation because there is nothing for it to fail against. Type or paste that one.
For a controlled vocabulary you actually want enforced, reach for a Dropdown.
How do I set up a category without giving AI control of every field?
You do not have to do anything to keep AI out of a field. Every field arrives with its Autofill switch off, including one you accepted from AI Discover.
- Open Settings → Notes & Data → Shot Metadata and add a field. Name it
Content Type, set its type to Dropdown, and enterB-roll,Interview,GFXas its options. See custom fields and field types. - Write a one-line description on the field if the name alone is ambiguous. Descriptions are sent to the model as per-field guidance.
- Click the Autofill toggle on that row and nothing else. Its tooltip flips from "AI Autofill leaves this field alone" to "AI Autofill may fill this field. Click to stop it."
- Run it from a shot's inspector. Until at least one field has the switch on, that action is not drawn at all.
Two deliberate acts: adding a field, and allowing a model to write into it. Accepting a suggested field never performs the second.
Why a valid answer can still be the wrong one
A Dropdown stops a new option appearing in your data. It does nothing to stop the wrong existing option being written, and a wrong-but-valid answer looks identical to one you typed.
Keep option sets small and mutually exclusive, name fields the way you would explain them to a new freelancer, use the field description, put the video's own framing in the run's Additional context box, and leave Only fill empty fields on so a run can never overwrite something a person wrote.
When should I use a Tag instead of a Dropdown?
Use a Dropdown when a shot has exactly one answer and you want that answer to stay inside a fixed list: anything you will filter or chart on. Use a Tag when a shot can carry several answers at once and the vocabulary is still growing. Just do not describe a Tag field as category-constrained: it is the field type that can create the first tag, and the second one you did not expect.
FAQ
Does a field's description change what the model writes? Yes. Each enabled field's title, type, options and description are sent to the model as guidance for that field.
Will a case-mismatched answer create a duplicate option?
No. An answer of medium shot is stored with your option's spelling, Medium Shot, so filters and pickers still match it.
What happens if one frame does not support an answer? The prompt instructs the model to omit that field instead of guessing, which leaves the cell empty for you to fill.
Does accepting an AI Discover suggestion turn autofill on for that field? No. A field added from a suggestion is created with its Autofill switch off, like every other field.
Can the same categories fill video-level metadata? No. The run only offers shot-scoped fields, and the only write path is shot-level.
How many field types are there? Six: Text, Number, Tag, Dropdown, Checkbox and Rating. Four of them constrain what a model may write; Tag and Text do not.