Skip to main content
Generaldvcrn

image-to-relief-stl

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.

Stars
15
Source
dvcrn/openclaw-skills-marketplace
Updated
2026-05-29
Slug
dvcrn--openclaw-skills-marketplace--image-to-relief-stl
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/dvcrn/openclaw-skills-marketplace/HEAD/plugins/ajmwagar--image-to-relief-stl/skills/image-to-relief-stl/SKILL.md -o .claude/skills/image-to-relief-stl.md

Drops the SKILL.md into .claude/skills/image-to-relief-stl.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

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 --pixel parameter controls resolution (smaller = higher detail, bigger STL).