>- Upscale images and video 2x to 4K/8K on the user's GPU through Guaardvark (Real-ESRGAN, HAT-L, SwinIR, two-pass). Use when the user asks to enlarge, sharpen, restore, or upscale a picture, a batch of pictures, or a video.
npx skills add https://github.com/guaardvark/guaardvark --skill upscale
Read setup first; needs the upscaling plugin (POST /api/plugins/upscaling/start).
B=${GUAARDVARK_URL:-http://localhost:5000}. Models: GET $B/api/upscaling/models (default HAT-L_SRx4);
install one with POST $B/api/upscaling/models/download {"model": "<id>"} only after the user says so.
curl -s -X POST $B/api/upscaling/upscale/image \
-F file=@/abs/path/in.png -F model=HAT-L_SRx4 -F scale=4 -F sharpen=0.2 -F denoise_strength=0.1
Returns the finished file (output_path, served under GET $B/api/upscaling/output/image/<filename>).
Form options: model, scale, sharpen, denoise_strength.
curl -s -X POST $B/api/upscaling/upscale/images -F [email protected] -F [email protected] -F model=HAT-L_SRx4 -F scale=2
Returns a job id; poll GET $B/api/upscaling/jobs/<job_id>; GET $B/api/upscaling/jobs lists all.
curl -s -X POST $B/api/upscaling/upscale/video -H 'Content-Type: application/json' -d '{
"input_path": "/abs/path/clip.mp4", "model": "realesrgan-x2", "scale": 2, "two_pass": false, "suffix": "_4k"
}'
output_path is optional. Same job polling. Video upscaling is slow: minutes per hundred frames
at 1080p on a 16 GB card. Say so before queuing.
POST $B/api/upscaling/preview (multipart, same form fields) runs a crop.line art. The models list carries descriptions.
Take guaardvark/upscale from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.