.claude/skills/ts-automatic1111/SKILL.md
Feature-rich Stable Diffusion Web UI for image generation. Supports txt2img, img2img, inpainting, outpainting, LoRA, extensions, upscaling, and batch processing. Widely used desktop interface with an extensive extension ecosystem and API access.
npx skillsauth add eliferjunior/Claude automatic1111Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
# install.sh — Clone and launch Stable Diffusion WebUI
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# Download a model (SDXL or SD 1.5)
wget -P models/Stable-diffusion/ \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# Launch (auto-installs dependencies on first run)
./webui.sh --listen --api --xformers
# Visit http://localhost:7860
# txt2img_api.py — Generate images via the built-in REST API
import requests
import base64
from pathlib import Path
API_URL = "http://localhost:7860"
payload = {
"prompt": "A serene Japanese garden with cherry blossoms, watercolor painting style, detailed",
"negative_prompt": "blurry, low quality, distorted, text, watermark",
"steps": 30,
"cfg_scale": 7.5,
"width": 1024,
"height": 1024,
"sampler_name": "DPM++ 2M Karras",
"seed": -1,
"batch_size": 1,
}
response = requests.post(f"{API_URL}/sdapi/v1/txt2img", json=payload)
data = response.json()
for i, img_b64 in enumerate(data["images"]):
img_bytes = base64.b64decode(img_b64)
Path(f"output_{i}.png").write_bytes(img_bytes)
print(f"Saved output_{i}.png")
# img2img_api.py — Transform an existing image with a new prompt
import requests
import base64
from pathlib import Path
API_URL = "http://localhost:7860"
# Read input image as base64
input_image = base64.b64encode(Path("input.png").read_bytes()).decode()
payload = {
"init_images": [input_image],
"prompt": "Transform into an oil painting, impressionist style",
"negative_prompt": "blurry, distorted",
"steps": 30,
"cfg_scale": 7,
"denoising_strength": 0.6, # 0.0 = no change, 1.0 = full regeneration
"width": 1024,
"height": 1024,
"sampler_name": "DPM++ 2M Karras",
}
response = requests.post(f"{API_URL}/sdapi/v1/img2img", json=payload)
data = response.json()
img_bytes = base64.b64decode(data["images"][0])
Path("output_img2img.png").write_bytes(img_bytes)
# inpainting_api.py — Edit specific regions of an image using a mask
import requests
import base64
from pathlib import Path
API_URL = "http://localhost:7860"
input_image = base64.b64encode(Path("photo.png").read_bytes()).decode()
mask_image = base64.b64encode(Path("mask.png").read_bytes()).decode() # White = edit area
payload = {
"init_images": [input_image],
"mask": mask_image,
"prompt": "A golden retriever puppy sitting on the grass",
"negative_prompt": "blurry, distorted",
"steps": 30,
"cfg_scale": 7,
"denoising_strength": 0.75,
"inpainting_fill": 1, # 0=fill, 1=original, 2=latent noise, 3=latent nothing
"mask_blur": 4,
"width": 1024,
"height": 1024,
}
response = requests.post(f"{API_URL}/sdapi/v1/img2img", json=payload)
img_bytes = base64.b64decode(response.json()["images"][0])
Path("inpainted.png").write_bytes(img_bytes)
# Place LoRA files in the models directory
# models/Lora/my_style.safetensors
# lora_usage.py — Apply LoRA weights in prompts via the API
import requests
import base64
from pathlib import Path
API_URL = "http://localhost:7860"
payload = {
"prompt": "<lora:my_style:0.8> A portrait in my custom style, detailed, high quality",
"negative_prompt": "blurry, low quality",
"steps": 30,
"cfg_scale": 7,
"width": 1024,
"height": 1024,
}
response = requests.post(f"{API_URL}/sdapi/v1/txt2img", json=payload)
img_bytes = base64.b64decode(response.json()["images"][0])
Path("lora_output.png").write_bytes(img_bytes)
# Install popular extensions via git clone into the extensions directory
cd stable-diffusion-webui/extensions
# ControlNet — Guided generation with edge/depth/pose
git clone https://github.com/Mikubill/sd-webui-controlnet.git
# Adetailer — Automatic face/hand detail improvement
git clone https://github.com/Bing-su/adetailer.git
# Regional Prompter — Different prompts for different image regions
git clone https://github.com/hako-mikan/sd-webui-regional-prompter.git
# Restart WebUI to load extensions
# batch_generate.py — Generate multiple images with different prompts
import requests
import base64
from pathlib import Path
API_URL = "http://localhost:7860"
prompts = [
"A cyberpunk city at night, neon lights, rain",
"A cozy cabin in the mountains, snow, warm light",
"An underwater coral reef, tropical fish, sunlight",
]
for i, prompt in enumerate(prompts):
response = requests.post(f"{API_URL}/sdapi/v1/txt2img", json={
"prompt": prompt,
"negative_prompt": "blurry, low quality",
"steps": 25,
"cfg_scale": 7,
"width": 1024,
"height": 1024,
})
img_bytes = base64.b64decode(response.json()["images"][0])
Path(f"batch_{i}.png").write_bytes(img_bytes)
print(f"Generated batch_{i}.png")
<lora:name:weight> in prompts/sdapi/v1/ — automate everything the UI can dodevelopment
Expert guidance for Fireworks AI, the platform for running open-source LLMs (Llama, Mixtral, Qwen, etc.) with enterprise-grade speed and reliability. Helps developers integrate Fireworks' inference API, fine-tune models, and deploy custom model endpoints with function calling and structured output support.
development
Convert any website into clean, structured data with Firecrawl — API-first web scraping service. Use when someone asks to "turn a website into markdown", "scrape website for LLM", "Firecrawl", "extract website content as clean text", "crawl and convert to structured data", or "scrape website for RAG". Covers single-page scraping, full-site crawling, structured extraction, and LLM-ready output.
tools
Expert guidance for Firebase, Google's platform for building and scaling web and mobile applications. Helps developers set up authentication, Firestore/Realtime Database, Cloud Functions, hosting, storage, and analytics using Firebase's SDK and CLI.
development
When the user needs to build file upload functionality for a web application. Use when the user mentions "file upload," "image upload," "upload endpoint," "multipart upload," "presigned URL," "S3 upload," "file validation," "upload to cloud storage," or "accept user files." Handles upload endpoints, file validation (type, size, magic bytes), cloud storage integration, and upload status tracking. For image/video processing after upload, see media-transcoder.