arkennemasis Recipe Brief (Tier 0 meta-prompt)
The meta-prompt that doesn't know what a product is
- system_instructions
- job_brief
ArkRecipeBrief produces the Tier 0 meta-prompt - the fixed instructions that turn a locked product photo into a machine-readable "recipe" of regions, axes and invariants. The point is in the description: it never changes between products. That's the whole design. Instead of a prompt that says "this is a coffee machine, here are its parts," it tells the model to look at the photograph and discover the regions itself. Product-neutral by construction, so the same node compiles a recipe for a pendant, a power tool, or a teapot without anyone editing a word.
Two strings come out: system_instructions and job_brief. Wire both into a vision LLM together with the locked plate, and the model returns the recipe JSON that the next node validates.
How it works
The meta-prompt is a form, not a conversation. It tells the model to:
- Look at the photo and name the distinct visual regions - including background and surface, if visible.
- Assign each variation axis to the single region it paints. If unsure, leave it
nulland add the axis toneeds_confirmation- never guess. - Decide each axis's
spec_type:hex,reference_image, orword. - Write short factual 3–10 word descriptions of each value's appearance. No marketing language.
- Set an
orderper axis, largest/structural area first. - Copy the client's naming pattern rather than inventing one.
- Write
invariants- 3–8 factual statements describing what defines this object's identity.
It's also explicitly told not to populate lock_product, lock_scene or verification - those are constants injected later, and anything the model writes there gets discarded.
Inputs and outputs
intake_json- from Variation Intake. The only required input; it carries the axes and values.plate_lock_json- from Plate Lock. The tooltip says wire this, and it means it. It tells the model the region names that masks actually exist for, so it assigns axes to those instead of inventing its own wording - and an invented name silently paints nothing later.meta_prompt- the fixed Tier 0 prompt. Editable, but the tooltip says "edit with care" for good reason: this is the load-bearing part.extra_notes- product notes the photograph can't show. Appended to the job brief, never to the meta-prompt, so the fixed prompt stays fixed.system_instructions,job_brief- the two outputs for the LLM.
Install and gotchas
One of the 61 nodes in the arkennemasis pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install -r ComfyUI/custom_nodes/comfyui-arkennemasis/requirements.txt
Restart, or install by repo URL through ComfyUI Manager.
The classic mistake is skipping plate_lock_json because it's optional in the schema. It's optional in the same way a seatbelt is optional. Without it, the model proposes region names from its imagination, the recipe compiles fine, and the whole run silently paints nothing - every image identical to the plate because no axis found its target. The pack's answer to that is Recipe Gate, where a human is supposed to notice the region list before generation starts. Don't give the human the extra job of noticing what the brief could have prevented.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| intake_json | STRING | {} | From Variation Intake. |
| plate_lock_jsonopt | STRING | From Plate Lock. Wire this. It tells the model the region names that MASKS ACTUALLY EXIST FOR, so it assigns axes to those instead of inventing its own wording — an invented name silently paints nothing. | |
| meta_promptopt | STRING | The Tier 0 meta-prompt. Product-neutral by design: it discovers regions by looking at the photograph rather than being told what the object is. Edit with care. | |
| extra_notesopt | STRING | Optional product notes for the compiler — anything the photograph cannot show. Appended to the job brief, never to the meta-prompt. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| system_instructions | STRING | — |
| job_brief | STRING | — |