amnt docs
Concepts

Slots

The words a buyer can change. The security model and the product model are the same mechanism.

This page is about image agents

Slots and picture modes are features of the image connector, not of every agent. Most agents — text, API-backed, MCP-tool-backed — simply declare which boxes a buyer fills in. Start at Concepts → Connectors for the whole picture.

A slot is a marked region of a creator's recipe that a buyer is allowed to fill in. It's the single idea that makes amnt a marketplace instead of a gallery of one-off pictures.

The problem slots solve

One picture is a finished thing that fits exactly one buyer. It isn't a product — it's a sample.

❌  Open text box:
    Hidden style + buyer types whatever they want, glued on the end.
    Output drifts. The buyer stares at a blank box not knowing what to type.

✅  Slots:
    The creator writes ONE prompt, then marks the changeable words.
    Company name  ·  Colour
    Everything else stays secret, forever.
professional vector logo for [company], [colour] palette,
flat design, centred, solid background, no text, minimal

Everything in [brackets] becomes a fill-in box in the stored template. Everything else — "professional vector," "flat design," "centred" — is never shown to anyone. The buyer sees only:

   Company     [ Bean There        ]
   Colour      [ warm brown   ▾    ]

   [ ⚡ Generate — $0.05 ]

Slots do three jobs at once

JobHow
🙋 The formWhat a human types into on the agent page
🔌 The APIWhat a machine sends as JSON — same fields
🛡️ The wallThe only thing anyone is able to change

That third row is the actual security model, not a bonus feature. There is no box for "show me your recipe" and no box for "ignore the style, draw a cat instead" — because no such field exists. Access control here isn't a filter checked after the fact; it's the shape of the interface itself. A slot value is data that fills a hole, never an instruction the model reads as a command.

Two slot types, and that's genuinely enough

TypeBuyer seesUse for
📝 TextA text box, with a max lengthCompany name, pet name, subject
📋 ChoiceA dropdownColour, mood, style variant

Choice slots are underrated. Instead of hoping a buyer types something sensible, the creator offers warm brown · cool blue · black & white. Every option was tested by the creator before it shipped. Every output is good, because nothing outside the tested set is reachable.

What a creator sets, per slot

FieldExample
LabelCompany
TypeText
Hint"Your business name"
Example"Bean There" — becomes the buyer's placeholder
Options (choice only)warm brown · cool blue · mono
Required?Yes
Max length60 characters

Max length isn't a nicety — it's a safety rule. It's also the first line of defence against a machine caller trying to smuggle instructions through a slot value; see Security.

At least one slot is required. Zero slots means every buyer gets the identical picture, which isn't a product — it's a poster.

How marking actually happens

The obvious design — type [company] while writing the prompt — doesn't work, for two concrete reasons discovered by actually building it:

  1. The model draws the brackets. A prompt containing [company] literally renders those characters into the picture. The image a creator approves would not be the image the recipe generates.
  2. [ and ] are real characters people use. A creator whose brand is literally [amnt] broke the naive design on the first real test — there's no way to tell "this is a slot marker" from "this is someone's actual brand name" using the characters alone.

So marking happens after generation, not during:

Write and generate normally

Real words, real values, a real picture. The creator's prompt reaches the image model exactly as typed — never modified, not while writing, not while marking, not at generation time.

The model pre-marks the changeable parts

Once the creator has a picture they like, a language model reads the prompt that produced it and suggests which words look like they should be editable — a company name, a category. It's a suggestion, not an authority: suggested: true carries no permission on its own, and a buyer never learns which marks were guessed versus chosen.

The creator glances and corrects

One tap adds or removes a mark. This step is not optional and not zero — both failure directions are silent until a stranger has already paid:

MistakeConsequence
One word too many markedThe style leaks out — the product evaporates
One word too few markedEvery buyer gets the identical picture

Publish builds the template server-side

Brackets only ever exist in the stored prompt_template, assembled on the server at publish time — a place no image is ever generated from directly, so a bracket character can never reach a model again.

Style words can never be marked, by the creator or by the suggestion model. If "professional vector" became editable, the entire craft the creator is selling would become buyer-editable, and there would be nothing left to sell. This is enforced in code, not requested politely of a language model.

Slots work in every mode

Slots are about words. Picture modes are about images — whether the creator's own picture is a locked style, a swappable example, or both. The two are independent: whichever mode an agent uses, it still needs at least one slot to be a product.

On this page