DrawThings Image Generation

v1.0.0

Generate images with DrawThings (Stable Diffusion) via API. Use when creating images from text prompts, running image generation workflows, or batch generating images. DrawThings runs locally on Mac with MLX/CoreML acceleration.

1· 2k·10 current·10 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for dustinparsons/drawthings.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "DrawThings Image Generation" (dustinparsons/drawthings) from ClawHub.
Skill page: https://clawhub.ai/dustinparsons/drawthings
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: DRAWTHINGS_URL
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install drawthings

ClawHub CLI

Package manager switcher

npx clawhub@latest install drawthings
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the provided Python wrapper and docs. The only required environment variable is DRAWTHINGS_URL (defaults to a local http://127.0.0.1:7860), which is exactly what a local API client needs.
Instruction Scope
SKILL.md and the script only describe contacting the DrawThings API, saving returned images and metadata to disk, and reading DRAWTHINGS_URL (or --api-url). There are no instructions to read unrelated files, harvest credentials, or transmit system data. Note: prompts and generation parameters are sent to whatever DRAWTHINGS_URL you set, so only point it at services you trust.
Install Mechanism
There is no install spec (instruction-only skill plus a single Python script). The script depends on the widely used 'requests' library but does not download or execute arbitrary remote archives or binaries.
Credentials
The skill only requires a single environment variable (DRAWTHINGS_URL) to locate the API. It does not request tokens, passwords, cloud credentials, or unrelated environment/config paths.
Persistence & Privilege
always:false and default autonomy are used; the skill does not request permanent system changes, modify other skills, or require elevated privileges.
Assessment
This skill is coherent with its stated purpose, but before installing: (1) confirm DRAWTHINGS_URL points to a trusted local DrawThings instance (or a trusted remote host) because prompts and parameters are sent to that endpoint; (2) be aware the script will write generated PNGs and a JSON info file to the working directory; (3) the script requires the Python 'requests' package — it will exit if missing; (4) references mention third-party model download sites (CivitAI, Hugging Face) but the skill does not automatically download models — download models only from trusted sources and respect licenses. If you plan to set DRAWTHINGS_URL to a remote service, treat prompts and any embedded metadata as potentially visible to the remote operator.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎨 Clawdis
EnvDRAWTHINGS_URL
latestvk9779nb43c6akpfhj9yyvec2c580r8tq
2kdownloads
1stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

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.

Comments

Loading comments...