Profile Assets
Build a per-profile library of reusable files — logos, bumpers, B-roll — that the agent automatically sees when you start a new project.
Profile Assets
A profile asset library lets you collect the files you reach for on every project — channel logos, end-card bumpers, signature sound effects, B-roll clips — and attach them to a creator profile. When you start a new project with that profile, the agent gets a snapshot of your library and your hand-written creative rules, without you having to re-explain them every time.
What it is
Each profile gets an assets/ directory and a manifest:
~/.montaj/profiles/{name}/assets/
bumper.mov
logo.png
...
manifest.jsonmanifest.json holds two things:
- Profile-wide notes — free-form rules you want the agent to follow on every project (
"Always end with bumper.mov. Keep colors warm."). - Per-file metadata — a description and optional tags for each file.
{
"notes": "Always end with bumper.mov. Keep color grading warm.",
"files": {
"bumper.mov": {
"description": "End-card bumper, 3 seconds",
"tags": ["branding", "end-card"]
},
"logo.png": {
"description": "Channel logo, white on transparent",
"tags": ["branding"]
}
}
}Why it exists
Without this, the agent only knows what's in the current project. It has no memory of your go-to files or rules. With a profile attached, it gets both — as a profileSnapshot baked into project.json at init time.
The snapshot is pinned at creation — editing your profile after a project is created doesn't change what the agent already has. This keeps projects stable and reproducible.
Adding assets via the UI
- Open Montaj → Profiles tab
- Pick a profile
- Click the Assets tab
- Drop files into the upload area (or click to browse)
- Add a description for each file — be specific, the agent reads this
- Optionally add comma-separated tags
- Edit the Profile-wide notes field at the top of the panel — write the rules you always want the agent to follow
Changes are saved to manifest.json immediately.
Managing assets via CLI
# List all assets in a profile
montaj profile asset list <profile>
# Add a file (copies it to the assets dir and registers it in the manifest)
montaj profile asset add <profile> ./bumper.mov --description "End-card bumper, 3 seconds" --tags branding,end-card
# Remove an asset
montaj profile asset rm <profile> bumper.mov
# Read the profile-wide notes
montaj profile asset notes <profile> --get
# Set the profile-wide notes
montaj profile asset notes <profile> --set "Always end with bumper.mov. Keep colors warm."You can also edit manifest.json directly — it's plain JSON. The UI and CLI both read from and write to the same file.
Including assets in a project
Having an asset in the library doesn't automatically add it to a project — you choose which ones to include.
When you open a project that has a profile attached, the editor side panel shows the profile's asset library. Each file has a + Include button. Clicking it:
- Copies the file into the project workspace
- Appends it to
project.assets[]inproject.json
Already-included files show a checkmark instead of the button.
From that point, the agent can reference the file by its src path in project.assets[] — same as any other project asset.
The agent never includes assets on your behalf without explicit instruction. File selection is always human-driven.
What the agent sees
When you run montaj run or montaj init with --profile <name>, project.json gets a profileSnapshot field:
{
"profile": "thesampadilla",
"profileSnapshot": {
"name": "thesampadilla",
"notes": "Always end with bumper.mov. Keep color grading warm.",
"availableAssets": [
{ "filename": "bumper.mov", "description": "End-card bumper, 3 seconds", "tags": ["branding", "end-card"] },
{ "filename": "logo.png", "description": "Channel logo, white on transparent", "tags": ["branding"] }
]
}
}The agent reads notes as binding creative rules and availableAssets as a menu of files you've curated. It won't auto-include files, but it knows what's available and can refer to them by name if you ask.
style_profile.md vs profile notes
A profile has two sources of creative guidance:
| Source | What it is | Who writes it |
|---|---|---|
style_profile.md | Analysis-derived patterns from your sample videos — pacing, color, cut frequency | Generated by montaj profile analyze |
Profile notes (in manifest.json) | Hand-curated rules you wrote, tied to the asset library | You |
When they conflict, your notes win. style_profile.md describes observed patterns; notes are explicit instructions.
Example: style_profile.md might say "average video ends at 45 seconds" (a pattern it measured). Your notes might say "always end with bumper.mov" (a rule you set). The agent follows the rule.
Limits
- 2 GB per file — for larger files, add them to the project workspace directly.
- Local only in v1 — the assets directory lives on your machine; no cloud sync yet.
- Works with all project types (
editing,music_video,ai_video,carousel).