Materials CLI
Use this skill when the user wants to render JSON schemas to images (PNG/JPG), validate render-data schemas, or generate schemas from natural-language prompts and then render them.
Commands
- render — Render a JSON schema file to an image.
- generate — Use AI (OpenAI) to generate a schema from a prompt, then render it.
- validate — Validate a JSON schema against the declare-render data schema.
When to use
- User asks to "render a schema to image", "turn JSON into a picture", or "draw from schema".
- User wants to "generate an image from a description" or "create a schema from a prompt" and render it.
- User wants to "validate" a JSON file against the render data schema.
Usage
Run via Node (from the project or after npm install -g materials-cli):
materials render <schema-path> [options]
materials generate "<prompt>" [options]
materials validate <schema-path> [options]
Render
materials render schema.json -o output.png
- Options:
-s, --schema <path>, -o, --output <path> (default ./output.png), -f, --format <png|jpg>, -w, --width, -h, --height, --output-schema <path>, -i, --interactive
Generate (AI)
materials generate "A red circle with text Hello" -o out.png
- Options:
-o, --output, -f, --format, -w, --width, -h, --height, --output-schema, --model, --api-key, --base-url, -i, --interactive
- Uses
OPENAI_API_KEY (and optionally OPENAI_MODEL, OPENAI_BASE_URL) if not passed via flags.
Validate
materials validate schema.json
- Options:
-s, --schema <path>, -i, --interactive
CLI help
Usage: materials <command> [options]
Commands:
render <schema> Render a JSON schema file to an image
generate <prompt> Use AI to generate a schema, then render
validate <schema> Validate a schema against the render data schema
Examples:
materials render schema.json -o output.png
materials generate "A red circle with text Hello"
materials validate schema.json
Schema format
The JSON schema follows the declare-render format: root has id, width, height, and layers. Layer types include text, image, container, shape, etc. Use materials validate <file> to check a schema before rendering.
1---2name: materials-cli-23description: Render JSON schemas to images and generate schemas from prompts using declare-render and AI.4---56# Materials CLI78Use this skill when the user wants to render JSON schemas to images (PNG/JPG), validate render-data schemas, or generate schemas from natural-language prompts and then render them.910## Commands1112- **render** — Render a JSON schema file to an image.13- **generate** — Use AI (OpenAI) to generate a schema from a prompt, then render it.14- **validate** — Validate a JSON schema against the declare-render data schema.1516## When to use1718- User asks to "render a schema to image", "turn JSON into a picture", or "draw from schema".19- User wants to "generate an image from a description" or "create a schema from a prompt" and render it.20- User wants to "validate" a JSON file against the render data schema.2122## Usage2324Run via Node (from the project or after `npm install -g materials-cli`):2526```bash27materials render <schema-path> [options]28materials generate "<prompt>" [options]29materials validate <schema-path> [options]30```3132### Render3334- `materials render schema.json -o output.png`35- Options: `-s, --schema <path>`, `-o, --output <path>` (default `./output.png`), `-f, --format <png|jpg>`, `-w, --width`, `-h, --height`, `--output-schema <path>`, `-i, --interactive`3637### Generate (AI)3839- `materials generate "A red circle with text Hello" -o out.png`40- Options: `-o, --output`, `-f, --format`, `-w, --width`, `-h, --height`, `--output-schema`, `--model`, `--api-key`, `--base-url`, `-i, --interactive`41- Uses `OPENAI_API_KEY` (and optionally `OPENAI_MODEL`, `OPENAI_BASE_URL`) if not passed via flags.4243### Validate4445- `materials validate schema.json`46- Options: `-s, --schema <path>`, `-i, --interactive`4748## CLI help4950```51Usage: materials <command> [options]5253Commands:54 render <schema> Render a JSON schema file to an image55 generate <prompt> Use AI to generate a schema, then render56 validate <schema> Validate a schema against the render data schema5758Examples:59 materials render schema.json -o output.png60 materials generate "A red circle with text Hello"61 materials validate schema.json62```6364## Schema format6566The JSON schema follows the declare-render format: root has `id`, `width`, `height`, and `layers`. Layer types include text, image, container, shape, etc. Use `materials validate <file>` to check a schema before rendering.