drawthings

Review·Scanned 2/17/2026

Provides image generation via a local DrawThings API and includes scripts/generate.py and CLI examples. The skill instructs executing python3 scripts/generate.py, performs HTTP requests to http://127.0.0.1:7860 (configurable via DRAWTHINGS_URL), and writes outputs like ./drawthings_output_YYYYMMDD_HHMMSS.png.

from clawhub.ai·vb875833·18.4 KB·0 installs
Scanned from 1.0.0 at b875833 · Transparency log ↗
$ vett add clawhub.ai/dustinparsons/drawthingsReview findings below

DrawThings Image Generation

Generate images using DrawThings, a local Stable Diffusion implementation for Mac with MLX/CoreML acceleration. DrawThings exposes an Automatic1111-compatible API for programmatic image generation.

When to Use

Use this skill when you need to:

  • Generate images from text prompts
  • Create variations of a concept
  • Batch generate multiple images
  • Test different models/samplers/settings
  • Generate images with specific dimensions or quality settings

Configuration

Set the DRAWTHINGS_URL environment variable (defaults to http://127.0.0.1:7860):

export DRAWTHINGS_URL="http://127.0.0.1:7860"

Or configure in OpenClaw:

openclaw config set env.DRAWTHINGS_URL "http://127.0.0.1:7860"

Quick Start

Generate a single image:

python3 scripts/generate.py "a cyberpunk cat in neon city"

With custom settings:

python3 scripts/generate.py "a cyberpunk cat" \
  --steps 20 \
  --cfg-scale 7.5 \
  --width 768 \
  --height 768 \
  --sampler "DPM++ 2M Karras"

Batch generation (5 variations):

python3 scripts/generate.py "a fantasy landscape" --batch-size 5

Save to specific location:

python3 scripts/generate.py "portrait photo" --output ./outputs/portrait.png

API Usage

The skill provides a Python script that wraps the DrawThings API (Automatic1111-compatible):

Main endpoint: POST /sdapi/v1/txt2img

Common parameters:

  • prompt - Text description of the image
  • negative_prompt - What to avoid in the image
  • steps - Number of diffusion steps (8-50, default: 20)
  • sampler_name - Sampler algorithm (default: "DPM++ 2M Karras")
  • cfg_scale - Classifier-free guidance scale (1.0-20.0, default: 7.0)
  • width / height - Image dimensions (default: 512x512)
  • batch_size - Number of images to generate (default: 1)
  • seed - Random seed for reproducibility (-1 for random)

See references/api-reference.md for complete API documentation.

Presets

Fast (8 steps, UniPC Trailing):

python3 scripts/generate.py "your prompt" --preset fast

Quality (30 steps, DPM++ 2M Karras):

python3 scripts/generate.py "your prompt" --preset quality

NFT (optimized for 512x512 with good detail):

python3 scripts/generate.py "your prompt" --preset nft

Workflow Examples

Character variations:

python3 scripts/generate.py "electric sheep, glowing wool, cyberpunk" \
  --batch-size 10 \
  --steps 20 \
  --cfg-scale 7.5

High-res output:

python3 scripts/generate.py "detailed portrait" \
  --width 1024 \
  --height 1024 \
  --steps 30 \
  --sampler "DPM++ 2M Karras"

Reproducible generation:

python3 scripts/generate.py "landscape" --seed 42
# Re-run with same seed for identical output

Output

Images are saved as PNG files with metadata embedded:

  • Prompt, negative prompt
  • Generation parameters (steps, sampler, cfg_scale, etc.)
  • Timestamp and seed

Default location: ./drawthings_output_YYYYMMDD_HHMMSS.png

Troubleshooting

"Connection refused"

  • Ensure DrawThings is running
  • Check the API server is enabled in DrawThings preferences
  • Verify the port matches (default: 7860)

"Generation failed"

  • Check prompt length (max ~75 tokens per CLIP model)
  • Reduce dimensions if out of memory
  • Try a different sampler

Slow generation

  • Use fewer steps (8-12 for drafts)
  • Reduce image dimensions (512x512)
  • Use faster samplers (UniPC, Euler A)

Canvas display quirk (visual only)

  • DrawThings UI doesn't clear the canvas between generations
  • New images appear to render on top of previous ones in the app
  • This is purely cosmetic - API outputs are unaffected

Tips

  • CFG Scale: Lower (1-3) for creative/artistic, higher (7-12) for prompt adherence
  • Steps: 8-12 for drafts, 20-30 for final images, 50+ rarely needed
  • Samplers: UniPC/Euler A are fast, DPM++ 2M Karras is quality, LCM for ultra-fast
  • Dimensions: Keep to multiples of 64 (512, 768, 1024)
  • Batch processing: Use --batch-size for variations, not multiple script calls

Models

DrawThings supports Stable Diffusion models. To change models:

  1. Open DrawThings app
  2. Select model from the UI
  3. The API will use the currently selected model

See references/models.md for recommended models and download sources.