Bring your own
Most video tools give you a fixed set of effects and a fixed set of shapes. Mixture’s are a starting point, not a ceiling: the effects, the 3D models, the typefaces, and the data behind a graphic are all things you can supply yourself — and once you do, they appear in the ordinary menus alongside the built-ins. Nothing is a plug-in, and nothing needs our permission.
The mechanism is the same in every case: it’s an asset. Drop the file in and Mixture works out what it is from the file itself.
Your own effects — a .wgsl file
Section titled “Your own effects — a .wgsl file”Drop a WGSL fragment shader into the assets view and it becomes one of two things, decided by reading the code:
- A filter — if it samples
inputTex(the layer’s rendered pixels). It appears in the Effects + menu on every layer, grouped under My filters, next to halftone and chromatic aberration. - A generative shader — if it doesn’t. It becomes a shader you insert from the assets view as its own layer, the way you’d place the built-in aurora or fluted-glass backgrounds.
You write only the fragment function; the platform supplies resolution, deterministic scene time, intensity, your colour palette, noise helpers and — for filters — the layer’s pixels, its mask silhouette, and the scene behind it, which is what makes true refraction possible rather than faked blur.
The part that makes a custom effect stop feeling like a hack: declare a
tunable value as a // @param comment at the top of the file and Mixture
generates the settings panel for it. Sliders, colour wells, dropdowns —
your one-off effect gets the same controls a built-in has, and anyone else in
the workspace can tune it without reading the code. Parameters animate on the
timeline like any other property.
If a shader fails to compile, the panel tells you why and the layer falls back to its preset. It never goes black mid-render.
The full guide, including what the platform hands your shader →
Your own 3D — a .glb file
Section titled “Your own 3D — a .glb file”Upload a self-contained binary glTF (up to 50 MB) and it becomes a model3d
asset. In any 3D scene’s model picker it sits in the same dropdown as the
bundled devices and the ready-made catalogue — your product, your packaging,
your logo as real geometry with real lighting.
Three things are worth knowing when you export:
- Name a mesh or material
screenordisplayand the scene’s first item is textured onto it. Your model gets a live display — a running video on your own device mock, not a flat render. Didn’t name it? The 3D panel’s Screen row lets you pick the part after upload. - Embed a small manifest (a Custom Property in Blender) and the model arrives with its own settings panel: named parameters like a lid angle or a door swing, animatable on the timeline.
- Animation comes along. Actions, armature rigs and shape keys in the file play in Mixture — pick the clip in the panel, set its start, speed and whether it loops. Playback follows the timeline, so export matches the preview frame for frame.
Uploaded models preview properly too — the assets view renders the actual model as the thumbnail, and opening one turns it slowly so you can read the shape.
The full guide, including manifests and lighting →
Your own type — a font file
Section titled “Your own type — a font file”Upload a .woff2, .woff, .ttf or .otf with its family name and it joins
the font picker under Your fonts, above Google Fonts and Fontshare. Text
layers use it by name like any catalogue font, and it loads in the editor and
in renders automatically. Upload each weight you need as its own asset under
the same family.
This is how a brand’s real typeface gets in when it isn’t on a public
catalogue — the .woff2 URLs are usually right there in the site’s
@font-face rules, and an agent can fetch them for you.
Your own data — a .csv, .json, .tsv or .jsonl
Section titled “Your own data — a .csv, .json, .tsv or .jsonl”The one that surprises people: a layer can be driven by a file. Upload a dataset and a repeat turns one designed layer into one copy per row, with every property free to follow a column — position, size, colour, text, opacity, timing.
That’s a leaderboard that redraws itself when the numbers change, a chart whose bars are real values, per-word captions cut from a transcript, a countdown that reads the clock, or graphics that move to the audio’s own amplitude. You design one row and the data makes the rest.
Data-driven video, with worked examples →
Where they show up — and for how long
Section titled “Where they show up — and for how long”An asset is visible to the project it was uploaded into. Put it in the workspace Library instead — upload it there, or share it afterwards — and it appears in every project in the workspace, for everyone in it:
- your filters in the Effects + menu,
- your models in the 3D model picker,
- your typefaces in the font picker,
- your datasets in the repeat source picker.
That’s the difference between a clever one-off and a house style: the studio’s own effects, models and type sitting in the menus by default, in every project anyone starts.
Agents see exactly the same list. An agent working in your workspace composes from your components, your filters and your typefaces rather than inventing lookalikes — and it can add to the shelf itself, if you ask it to.