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, and shape. Use materials validate <file> to check a schema before rendering.
1---2name: materials-cli3description: Render JSON schemas to images and generate schemas from prompts using declare-render and AI.4---5# Materials CLI67Use 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.89## Commands1011- **render** — Render a JSON schema file to an image.12- **generate** — Use AI (OpenAI) to generate a schema from a prompt, then render it.13- **validate** — Validate a JSON schema against the declare-render data schema.1415## When to use1617- User asks to "render a schema to image", "turn JSON into a picture", or "draw from schema".18- User wants to "generate an image from a description" or "create a schema from a prompt" and render it.19- User wants to "validate" a JSON file against the render data schema.2021## Usage2223Run via Node (from the project or after `npm install -g materials-cli`):2425```bash26materials render <schema-path> [options]27materials generate "<prompt>" [options]28materials validate <schema-path> [options]29```3031### Render3233- `materials render schema.json -o output.png`34- Options: `-s, --schema <path>`, `-o, --output <path>` (default `./output.png`), `-f, --format <png|jpg>`, `-w, --width`, `-h, --height`, `--output-schema <path>`, `-i, --interactive`3536### Generate (AI)3738- `materials generate "A red circle with text Hello" -o out.png`39- Options: `-o, --output`, `-f, --format`, `-w, --width`, `-h, --height`, `--output-schema`, `--model`, `--api-key`, `--base-url`, `-i, --interactive`40- Uses `OPENAI_API_KEY` (and optionally `OPENAI_MODEL`, `OPENAI_BASE_URL`) if not passed via flags.4142### Validate4344- `materials validate schema.json`45- Options: `-s, --schema <path>`, `-i, --interactive`4647## CLI help4849```50Usage: materials <command> [options]5152Commands:53 render <schema> Render a JSON schema file to an image54 generate <prompt> Use AI to generate a schema, then render55 validate <schema> Validate a schema against the render data schema5657Examples:58 materials render schema.json -o output.png59 materials generate "A red circle with text Hello"60 materials validate schema.json61```6263## Schema format6465The JSON schema follows the declare-render format: root has `id`, `width`, `height`, and `layers`. Layer types include text, image, and shape. Use `materials validate <file>` to check a schema before rendering.