7.2k★by ajmwagar
image-to-relief-stl – OpenClaw Skill
image-to-relief-stl is an OpenClaw Skills integration for data analytics workflows. Turn a source image (or multi-color mask image) into a 3D-printable bas-relief STL by mapping colors (or grayscale) to heights. Use when you have an image from an image-gen skill (nano-banana-pro, etc.) and want a real, printable model (STL) via a deterministic pipeline.
Skill Snapshot
| name | image-to-relief-stl |
| description | Turn a source image (or multi-color mask image) into a 3D-printable bas-relief STL by mapping colors (or grayscale) to heights. Use when you have an image from an image-gen skill (nano-banana-pro, etc.) and want a real, printable model (STL) via a deterministic pipeline. OpenClaw Skills integration. |
| owner | ajmwagar |
| repository | ajmwagar/image-to-relief-stl |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @ajmwagar/image-to-relief-stl |
| last updated | Feb 7, 2026 |
Maintainer

name: image-to-relief-stl description: Turn a source image (or multi-color mask image) into a 3D-printable bas-relief STL by mapping colors (or grayscale) to heights. Use when you have an image from an image-gen skill (nano-banana-pro, etc.) and want a real, printable model (STL) via a deterministic pipeline. metadata: openclaw: requires: bins: ["python3", "potrace", "mkbitmap"] install: - id: apt kind: apt package: potrace bins: ["potrace", "mkbitmap"] label: Install potrace + mkbitmap (apt) - id: brew kind: brew formula: potrace bins: ["potrace", "mkbitmap"] label: Install potrace + mkbitmap (brew)
image-to-relief-stl
Generate a watertight, printable STL from an input image by mapping colors (or grayscale) to heights.
This is an orchestrator-friendly workflow:
- Use nano-banana-pro (or any image model) to generate a flat-color image.
- Run this skill to convert it into a bas-relief model.
Practical constraints (to make it work well)
Ask the image model for:
- exactly N solid colors (no gradients)
- no shadows / no antialiasing
- bold shapes with clear edges
That makes segmentation reliable.
Quick start (given an image)
bash scripts/image_to_relief.sh input.png --out out.stl \
--mode palette \
--palette '#000000=3.0,#ffffff=0.0' \
--base 1.5 \
--pixel 0.4
Grayscale mode
bash scripts/image_to_relief.sh input.png --out out.stl \
--mode grayscale \
--min-height 0.0 \
--max-height 3.0 \
--base 1.5 \
--pixel 0.4
Outputs
out.stl(ASCII STL)- optional
out-preview.svg(vector preview via potrace; best-effort)
Notes
- This v0 uses a raster heightfield meshing approach (robust, no heavy CAD deps).
- The
--pixelparameter controls resolution (smaller = higher detail, bigger STL).
No README available.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install image-to-relief-stl?
Run openclaw add @ajmwagar/image-to-relief-stl in your terminal. This installs image-to-relief-stl into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/ajmwagar/image-to-relief-stl. Review commits and README documentation before installing.
