✓ Verified 💻 Development ✓ Enhanced Data

Drawthings

Generate images with DrawThings (Stable Diffusion) via API.

Rating
4.6 (414 reviews)
Downloads
26,334 downloads
Version
1.0.0

Overview

Generate images with DrawThings (Stable Diffusion) via API.

Complete Documentation

View Source →

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):

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

Or configure in OpenClaw:

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

Quick Start

Generate a single image:

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

With custom settings:

bash
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):

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

Save to specific location:

bash
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):

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

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

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

NFT (optimized for 512x512 with good detail):

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

Workflow Examples

Character variations:

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

High-res output:

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

Reproducible generation:

bash
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:

  • Open DrawThings app
  • Select model from the UI
  • The API will use the currently selected model
See references/models.md for recommended models and download sources.

Installation

Terminal bash

openclaw install drawthings
    
Copied!

💻Code Examples

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

openclaw-config-set-envdrawthingsurl-http1270017860.txt
## Quick Start

Generate a single image:

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

python3-scriptsgeneratepy-portrait-photo---output-outputsportraitpng.txt
## 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 nft

python3-scriptsgeneratepy-your-prompt---preset-nft.txt
## Workflow Examples

**Character variations:**
example.sh
python3 scripts/generate.py "a cyberpunk cat" \
  --steps 20 \
  --cfg-scale 7.5 \
  --width 768 \
  --height 768 \
  --sampler "DPM++ 2M Karras"
example.sh
python3 scripts/generate.py "electric sheep, glowing wool, cyberpunk" \
  --batch-size 10 \
  --steps 20 \
  --cfg-scale 7.5
example.sh
python3 scripts/generate.py "detailed portrait" \
  --width 1024 \
  --height 1024 \
  --steps 30 \
  --sampler "DPM++ 2M Karras"

⚙️Configuration Options

Option Type Default Description
DRAWTHINGS_URLstringhttp://127.0.0.1:7860-

Tags

#git_and-github #api

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author dustinparsons
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install drawthings