Documentation Index
Fetch the complete documentation index at: https://mintlify.com/gratitude5dee/Zap/llms.txt
Use this file to discover all available pages before exploring further.
Zap.md is the single source of truth for a one-shot content recipe. It lives inside an Eve skill directory and combines YAML frontmatter — which the Zap runtime parses and validates — with Markdown prose that gives the agent authoring context about intent, creative direction, and usage notes. Everything the CLI, web runtime, and provider adapters need to plan and execute a pipeline is derived from this one file.
Directory Layout
Every Zap recipe lives inside a skill folder with a predictable structure:prompts/ directory holds Markdown prompt templates. Each template can reference {INPUT_NAME} variables that must be declared in the inputs map of the frontmatter.
Minimum Valid Frontmatter
The smallest Zap.md that passes validation looks like this:Top-Level Fields
Unique recipe slug — used as the run identifier in CLI commands and the web dashboard. Must be at least one character. Example:
world-cup-entrance.Schema version. Currently
1. Zap will reject recipes with an unrecognised version number before validation begins.Human-readable description of what the recipe produces. Shown in the web UI and surfaced to the Eve agent as task context.
Hard cost constraints for the recipe. Contains two sub-fields:
estimate_usd(number, ≥ 0) — the planner’s pre-run cost estimate. Must not exceedcap_usd.cap_usd(number, > 0) — the hard spending ceiling. Live runs are rejected before provider submission if the quote exceeds this value.
Fallback values applied to any step that does not declare its own
provider or aspect.provider(string, default:"gmi") — the provider adapter used when a step omitsprovider.aspect(string, optional) — default aspect ratio forwarded to image and video models (e.g."9:16","16:9","1:1").
Map of uppercased variable names to input specs. These are the values a creator supplies when running the recipe — either via
--input KEY=value on the CLI or through the web form. Each key becomes a {VARIABLE} available in prompt templates.See Input Schema Fields below for the shape of each value.Ordered list of pipeline steps. Must contain at least one step. Steps are executed in declaration order; use the
inputs field on each step to express dependencies on earlier steps’ outputs. See the Steps reference for all supported kind values and step-level fields.The filename of the final artifact produced by the
stitch step. Defaults to Zap.mp4. Override when producing WebM or a custom output name.Input Schema Fields
Each entry in theinputs map is an object with the following fields:
The UI widget and value type for this input. One of:
| Value | Description |
|---|---|
string | Single-line text field |
textarea | Multi-line text area |
image | Image file upload |
video | Video file upload |
select | Dropdown — requires options |
number | Numeric input |
Human-readable label shown above the input in the web form. If omitted, the variable name is used.
Short helper text shown beneath the input field.
When
true, the Zap runtime will throw a Missing required input error before the pipeline starts if this value is not supplied.Required when
type is select. An array of string values the creator can choose from. Example: ["cinematic", "anime", "documentary"].Validation Rules
The Zap runtime enforces three rules every time a recipe is parsed or run:-
Unique step IDs — every
steps[].idmust be unique within the recipe. Duplicate IDs cause aDuplicate step iderror at parse time. -
Declared variables — every
{VARIABLE}placeholder referenced in a prompt file must have a matching key in theinputsmap. The validator checks all prompt paths listed instep.promptfields. -
Budget check —
budget.estimate_usdmust not exceedbudget.cap_usd. This is enforced both at parse time and again at plan time before any provider call is made.
