{
  "schemaVersion": "1.0",
  "item": {
    "slug": "drawthings",
    "name": "DrawThings Image Generation",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/dustinparsons/drawthings",
    "canonicalUrl": "https://clawhub.ai/dustinparsons/drawthings",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/drawthings",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=drawthings",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api-reference.md",
      "references/models.md",
      "scripts/generate.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "drawthings",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T18:08:37.977Z",
      "expiresAt": "2026-05-09T18:08:37.977Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=drawthings",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=drawthings",
        "contentDisposition": "attachment; filename=\"drawthings-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "drawthings"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/drawthings"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/drawthings",
    "agentPageUrl": "https://openagent3.xyz/skills/drawthings/agent",
    "manifestUrl": "https://openagent3.xyz/skills/drawthings/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/drawthings/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "DrawThings Image Generation",
        "body": "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."
      },
      {
        "title": "When to Use",
        "body": "Use this skill when you need to:\n\nGenerate images from text prompts\nCreate variations of a concept\nBatch generate multiple images\nTest different models/samplers/settings\nGenerate images with specific dimensions or quality settings"
      },
      {
        "title": "Configuration",
        "body": "Set the DRAWTHINGS_URL environment variable (defaults to http://127.0.0.1:7860):\n\nexport DRAWTHINGS_URL=\"http://127.0.0.1:7860\"\n\nOr configure in OpenClaw:\n\nopenclaw config set env.DRAWTHINGS_URL \"http://127.0.0.1:7860\""
      },
      {
        "title": "Quick Start",
        "body": "Generate a single image:\n\npython3 scripts/generate.py \"a cyberpunk cat in neon city\"\n\nWith custom settings:\n\npython3 scripts/generate.py \"a cyberpunk cat\" \\\n  --steps 20 \\\n  --cfg-scale 7.5 \\\n  --width 768 \\\n  --height 768 \\\n  --sampler \"DPM++ 2M Karras\"\n\nBatch generation (5 variations):\n\npython3 scripts/generate.py \"a fantasy landscape\" --batch-size 5\n\nSave to specific location:\n\npython3 scripts/generate.py \"portrait photo\" --output ./outputs/portrait.png"
      },
      {
        "title": "API Usage",
        "body": "The skill provides a Python script that wraps the DrawThings API (Automatic1111-compatible):\n\nMain endpoint: POST /sdapi/v1/txt2img\n\nCommon parameters:\n\nprompt - Text description of the image\nnegative_prompt - What to avoid in the image\nsteps - Number of diffusion steps (8-50, default: 20)\nsampler_name - Sampler algorithm (default: \"DPM++ 2M Karras\")\ncfg_scale - Classifier-free guidance scale (1.0-20.0, default: 7.0)\nwidth / height - Image dimensions (default: 512x512)\nbatch_size - Number of images to generate (default: 1)\nseed - Random seed for reproducibility (-1 for random)\n\nSee references/api-reference.md for complete API documentation."
      },
      {
        "title": "Presets",
        "body": "Fast (8 steps, UniPC Trailing):\n\npython3 scripts/generate.py \"your prompt\" --preset fast\n\nQuality (30 steps, DPM++ 2M Karras):\n\npython3 scripts/generate.py \"your prompt\" --preset quality\n\nNFT (optimized for 512x512 with good detail):\n\npython3 scripts/generate.py \"your prompt\" --preset nft"
      },
      {
        "title": "Workflow Examples",
        "body": "Character variations:\n\npython3 scripts/generate.py \"electric sheep, glowing wool, cyberpunk\" \\\n  --batch-size 10 \\\n  --steps 20 \\\n  --cfg-scale 7.5\n\nHigh-res output:\n\npython3 scripts/generate.py \"detailed portrait\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --steps 30 \\\n  --sampler \"DPM++ 2M Karras\"\n\nReproducible generation:\n\npython3 scripts/generate.py \"landscape\" --seed 42\n# Re-run with same seed for identical output"
      },
      {
        "title": "Output",
        "body": "Images are saved as PNG files with metadata embedded:\n\nPrompt, negative prompt\nGeneration parameters (steps, sampler, cfg_scale, etc.)\nTimestamp and seed\n\nDefault location: ./drawthings_output_YYYYMMDD_HHMMSS.png"
      },
      {
        "title": "Troubleshooting",
        "body": "\"Connection refused\"\n\nEnsure DrawThings is running\nCheck the API server is enabled in DrawThings preferences\nVerify the port matches (default: 7860)\n\n\"Generation failed\"\n\nCheck prompt length (max ~75 tokens per CLIP model)\nReduce dimensions if out of memory\nTry a different sampler\n\nSlow generation\n\nUse fewer steps (8-12 for drafts)\nReduce image dimensions (512x512)\nUse faster samplers (UniPC, Euler A)\n\nCanvas display quirk (visual only)\n\nDrawThings UI doesn't clear the canvas between generations\nNew images appear to render on top of previous ones in the app\nThis is purely cosmetic - API outputs are unaffected"
      },
      {
        "title": "Tips",
        "body": "CFG Scale: Lower (1-3) for creative/artistic, higher (7-12) for prompt adherence\nSteps: 8-12 for drafts, 20-30 for final images, 50+ rarely needed\nSamplers: UniPC/Euler A are fast, DPM++ 2M Karras is quality, LCM for ultra-fast\nDimensions: Keep to multiples of 64 (512, 768, 1024)\nBatch processing: Use --batch-size for variations, not multiple script calls"
      },
      {
        "title": "Models",
        "body": "DrawThings supports Stable Diffusion models. To change models:\n\nOpen DrawThings app\nSelect model from the UI\nThe API will use the currently selected model\n\nSee references/models.md for recommended models and download sources."
      }
    ],
    "body": "DrawThings Image Generation\n\nGenerate images using DrawThings, a local Stable Diffusion implementation for Mac with MLX/CoreML acceleration. DrawThings exposes an Automatic1111-compatible API for programmatic image generation.\n\nWhen to Use\n\nUse this skill when you need to:\n\nGenerate images from text prompts\nCreate variations of a concept\nBatch generate multiple images\nTest different models/samplers/settings\nGenerate images with specific dimensions or quality settings\nConfiguration\n\nSet the DRAWTHINGS_URL environment variable (defaults to http://127.0.0.1:7860):\n\nexport DRAWTHINGS_URL=\"http://127.0.0.1:7860\"\n\n\nOr configure in OpenClaw:\n\nopenclaw config set env.DRAWTHINGS_URL \"http://127.0.0.1:7860\"\n\nQuick Start\n\nGenerate a single image:\n\npython3 scripts/generate.py \"a cyberpunk cat in neon city\"\n\n\nWith custom settings:\n\npython3 scripts/generate.py \"a cyberpunk cat\" \\\n  --steps 20 \\\n  --cfg-scale 7.5 \\\n  --width 768 \\\n  --height 768 \\\n  --sampler \"DPM++ 2M Karras\"\n\n\nBatch generation (5 variations):\n\npython3 scripts/generate.py \"a fantasy landscape\" --batch-size 5\n\n\nSave to specific location:\n\npython3 scripts/generate.py \"portrait photo\" --output ./outputs/portrait.png\n\nAPI Usage\n\nThe skill provides a Python script that wraps the DrawThings API (Automatic1111-compatible):\n\nMain endpoint: POST /sdapi/v1/txt2img\n\nCommon parameters:\n\nprompt - Text description of the image\nnegative_prompt - What to avoid in the image\nsteps - Number of diffusion steps (8-50, default: 20)\nsampler_name - Sampler algorithm (default: \"DPM++ 2M Karras\")\ncfg_scale - Classifier-free guidance scale (1.0-20.0, default: 7.0)\nwidth / height - Image dimensions (default: 512x512)\nbatch_size - Number of images to generate (default: 1)\nseed - Random seed for reproducibility (-1 for random)\n\nSee references/api-reference.md for complete API documentation.\n\nPresets\n\nFast (8 steps, UniPC Trailing):\n\npython3 scripts/generate.py \"your prompt\" --preset fast\n\n\nQuality (30 steps, DPM++ 2M Karras):\n\npython3 scripts/generate.py \"your prompt\" --preset quality\n\n\nNFT (optimized for 512x512 with good detail):\n\npython3 scripts/generate.py \"your prompt\" --preset nft\n\nWorkflow Examples\n\nCharacter variations:\n\npython3 scripts/generate.py \"electric sheep, glowing wool, cyberpunk\" \\\n  --batch-size 10 \\\n  --steps 20 \\\n  --cfg-scale 7.5\n\n\nHigh-res output:\n\npython3 scripts/generate.py \"detailed portrait\" \\\n  --width 1024 \\\n  --height 1024 \\\n  --steps 30 \\\n  --sampler \"DPM++ 2M Karras\"\n\n\nReproducible generation:\n\npython3 scripts/generate.py \"landscape\" --seed 42\n# Re-run with same seed for identical output\n\nOutput\n\nImages are saved as PNG files with metadata embedded:\n\nPrompt, negative prompt\nGeneration parameters (steps, sampler, cfg_scale, etc.)\nTimestamp and seed\n\nDefault location: ./drawthings_output_YYYYMMDD_HHMMSS.png\n\nTroubleshooting\n\n\"Connection refused\"\n\nEnsure DrawThings is running\nCheck the API server is enabled in DrawThings preferences\nVerify the port matches (default: 7860)\n\n\"Generation failed\"\n\nCheck prompt length (max ~75 tokens per CLIP model)\nReduce dimensions if out of memory\nTry a different sampler\n\nSlow generation\n\nUse fewer steps (8-12 for drafts)\nReduce image dimensions (512x512)\nUse faster samplers (UniPC, Euler A)\n\nCanvas display quirk (visual only)\n\nDrawThings UI doesn't clear the canvas between generations\nNew images appear to render on top of previous ones in the app\nThis is purely cosmetic - API outputs are unaffected\nTips\nCFG Scale: Lower (1-3) for creative/artistic, higher (7-12) for prompt adherence\nSteps: 8-12 for drafts, 20-30 for final images, 50+ rarely needed\nSamplers: UniPC/Euler A are fast, DPM++ 2M Karras is quality, LCM for ultra-fast\nDimensions: Keep to multiples of 64 (512, 768, 1024)\nBatch processing: Use --batch-size for variations, not multiple script calls\nModels\n\nDrawThings supports Stable Diffusion models. To change models:\n\nOpen DrawThings app\nSelect model from the UI\nThe API will use the currently selected model\n\nSee references/models.md for recommended models and download sources."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/dustinparsons/drawthings",
    "publisherUrl": "https://clawhub.ai/dustinparsons/drawthings",
    "owner": "dustinparsons",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/drawthings",
    "downloadUrl": "https://openagent3.xyz/downloads/drawthings",
    "agentUrl": "https://openagent3.xyz/skills/drawthings/agent",
    "manifestUrl": "https://openagent3.xyz/skills/drawthings/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/drawthings/agent.md"
  }
}