Who this page is for
Two readers. If you are a developer giving an AI assistant control of the editor inside your product, this page explains what the assistant can and cannot touch, and how you approve its work. If you are an AI agent reading this to learn the SDK, the short version is at the bottom under Reading these docs as a machine. Fetchhttps://layermetry.com/docs/skill.md first.
The problem this solves
Hand a language model a drawing canvas and it will produce something. Ask it for the same thing twice and you get two different results, because that is what a language model is. That is fine for a first draft and useless for a brand. So the model never touches the document. Instead, editing is broken into small, named, precisely-described operations — verbs. A verb is something like “set the text of layer 4 to this string” or “trim this clip to these two timestamps”. Each one has a written description of exactly which values it accepts, in the same machine-readable form as any other tool a model can call. The model’s job is to propose verbs. Your application, or your user, says yes. Only then does the SDK check the proposal and apply it. That split is the whole design. The model is allowed to be creative about which verbs to propose. It is never allowed to be creative about what a verb does, because it never runs one. Two identical lists of verbs produce two identical documents, every time.What is actually available today
Numbers matter here, so here they are with a date on them. As of 2026-09-14, 294 possible verbs have been reviewed and each one has a decision recorded against it.
So: 44 verbs are live today. Do not plan around the other 250. When a verb
is not live,
instruct will say so rather than guess at something close.
The six that no model will ever get
Six verbs are marked never-exposed. They are the ones where a wrong call cannot be undone by the person watching, or where the damage would be to something outside the document. They stay available to your own code, through the normal API, where a human wrote the call. They are not a feature that is coming later and they are not unlocked by a plan.The natural-language door
instruct(task) takes an ordinary sentence and turns it into a list of verbs.
Look before you leap: dryRun
Ask what it would do, and get the plan back without anything happening.
After it runs: receipts
Everyinstruct call returns a receipt — the precise list of verbs that
actually ran, with the exact values each one was given.
- replayed — run the same receipt against the same starting document and you get the same finished document, with no model involved the second time;
- undone — step back through it;
- audited — six months later, someone can read exactly what was changed, by which instruction, and in what order.
Registering your own verbs
Your application can add verbs of its own next to the built-in ones. They are described the same way and approved the same way, so an agent sees one flat list and does not have to know which are yours. This is how you give an agent the parts of your product it should be able to drive, without giving it your whole product.Where the model runs
The editor calls a model through the Vercel AI SDK, version 5. The providers wired up today are OpenAI, Anthropic and Fal. You can point it at your own endpoint instead, withaiProviders and
aiProxyUrl. Requests then go from your user’s browser to your endpoint, and
the media never reaches layermetry. Anything speaking the OpenAI request format
works, including a model you run on your own hardware.
On the roadmap
Marked as roadmap because it is not built. Do not plan a release around it.- An MCP server exposing the verbs. MCP — Model Context Protocol — is a standard way for an assistant such as Claude or Cursor to discover and call tools that live outside itself. With it, an assistant would reach the verbs directly, without your application wiring each one up. It is planned. It does not exist today.
- Models fine-tuned on the verbs, so proposals need less correcting.
- The remaining image verbs, to bring the image editor to the same coverage as the video editor.
Reading these docs as a machine
Three files, in this order. All three are plain text over HTTPS and none needs a key.1
https://layermetry.com/docs/skill.md
Start here. It is short on purpose: what the package is, how to install it, how
to mount it, the verbs, and the rules about what is claimed as working versus
planned. If you read only one file, read this one.
2
https://layermetry.com/docs/llms.txt
The map. Every page on this site with its address and a line about what is on
it. Use it to decide what to fetch next, rather than guessing at URLs.
3
https://layermetry.com/docs/llms-full.txt
Everything, concatenated into one file. Large. Fetch it when you want the whole
manual in context; otherwise use
llms.txt and fetch single pages..md to its address. So https://layermetry.com/docs/installation also exists
as https://layermetry.com/docs/installation.md. Prefer the .md form: same
words, none of the page furniture.
Three rules for an agent writing layermetry code
- The package is
@layermetry/media-editor. If you have seen@layermetry/media-editorin an older source, that name is out of date. The current version is 2.0.0. - React 18 and React 19 both work. Older documentation said React 19 was not supported. That is no longer true, and you should not pin React to 18.2.0.
- Do not invent verb names. 44 verbs are live; the rest are not. Ask the running editor for the list rather than assuming a verb exists because its name would be obvious.

