CLI Reference

Every Pretty command with flags, defaults, and examples.

pretty

Start an interactive design session. With no arguments, opens the interactive prompt. With a prompt argument, starts a session with that prompt.

pretty                                      # Interactive mode
pretty "Design a logo for Ember Coffee"     # With prompt
pretty -p "Create a banner"                 # One-shot (non-interactive)
FlagDescriptionDefault
-p, --printRun once and exit (non-interactive)false
-m, --modelImage generation modelServer default
-P, --projectProject name (created if doesn't exist)default
--api-urlAPI server URLhttps://api.prettydraft.com
--inline-imagesShow inline image previews (Kitty/Ghostty/WezTerm)Auto-detected

Authentication

pretty login

Authenticate via browser or API key.

pretty login                              # Browser auth flow
pretty login --token pd_sk_your_key       # Headless / CI
FlagDescription
--tokenAPI key for headless auth (skips browser)
--api-urlAPI server URL

pretty logout

Remove saved credentials.

pretty logout

pretty status

Show authentication status, API reachability, current project, and setup state.

pretty status

Image processing

pretty resize

Resize, crop, and reformat images.

pretty resize photo.png --width 800
pretty resize *.jpg --fit 1200x630
pretty resize hero.png --fill 1080x1080 --format jpg
pretty resize photos/ --scale 0.5 -r
FlagDescriptionDefault
-w, --widthTarget width in pixels
-h, --heightTarget height in pixels
--fitFit within bounds (e.g. 1200x630)
--fillFill bounds with crop (e.g. 1080x1080)
--scaleScale factor (e.g. 0.5)
-f, --formatOutput format: png, jpg, gif, tiff, bmpOriginal
-q, --quality1-100 or high/medium/low
-o, --outputOutput directory./output/
--patternOutput naming pattern (e.g. {name}-thumb)
-r, --recursiveProcess directories recursivelyfalse
--in-placeModify files in placefalse
--dry-runShow what would happenfalse
--jsonOutput as JSONfalse

At least one sizing flag is required: --width, --height, --fit, --fill, or --scale.

pretty convert

Convert between image formats.

pretty convert logo.png --to jpg,webp
pretty convert input.png --to jpg,webp --html
FlagDescriptionDefault
-t, --toTarget format(s), comma-separated (required)
-q, --quality1-100 or high/medium/low
-o, --outputOutput directory./output/
-r, --recursiveProcess directories recursivelyfalse
--htmlPrint <picture> HTML snippetfalse
--dry-runShow what would happenfalse
--jsonOutput as JSONfalse

pretty compress

Reduce file sizes with smart compression. Works with JPEG and PNG.

pretty compress photos/*.jpg --quality medium
pretty compress hero.png --target 200kb
pretty compress images/ -r --in-place --dry-run
FlagDescriptionDefault
-q, --qualityhigh, medium, low, lossless
--targetTarget file size (e.g. 200kb, 1mb)
-o, --outputOutput directory./output/
-r, --recursiveProcess directories recursivelyfalse
--in-placeCompress files in placefalse
--dry-runShow projected savingsfalse
--jsonOutput as JSONfalse

pretty info

Show image metadata: dimensions, format, file size, color space, bit depth, alpha channel, and DPI.

pretty info photo.png
pretty info *.jpg --json
FlagDescription
--jsonOutput as JSON

pretty palette

Extract color palettes from images.

pretty palette photo.jpg
pretty palette brand.png --colors 8 --format css
pretty palette hero.png --format tailwind
pretty palette brand.png --save                    # Save to DESIGN.md Brand section
pretty palette brand.png --format swatch           # Render a PNG swatch image
FlagDescriptionDefault
-n, --colorsNumber of colors (1-20)5
-f, --formattext, css, tailwind, tokens, swatchtext
--saveWrite palette to the ## Brand section of DESIGN.mdfalse
--jsonOutput as JSON

The swatch format renders a palette-swatch.png image with each color displayed side by side.

pretty favicon

Generate a complete favicon set from a source image.

pretty favicon logo.png
pretty favicon icon.svg --theme-color "#2563eb" -o public/

Generates: favicon.ico, favicon-16x16.png, favicon-32x32.png, favicon-192x192.png, favicon-512x512.png, apple-touch-icon.png, and site.webmanifest.

FlagDescriptionDefault
--theme-colorTheme color for manifest
--bg-colorBackground color for manifest
-o, --outputOutput directory./output/favicons/
--dry-runShow what would be generatedfalse
--jsonOutput as JSONfalse

Project management

pretty init

Link the current directory to a project.

pretty init my-brand    # Link to "my-brand" project
pretty init             # Link to "default" project

Creates .pretty/project.json in the current directory.

pretty version

Show version and check for updates.

pretty version

pretty update

Update Pretty to the latest version.

pretty update

Interactive commands

These commands are available inside the interactive prompt (when you run pretty with no -p flag):

CommandDescription
/helpShow all available commands
/clearClear conversation and start fresh
/quitExit Pretty
/historyShow recent command history
/files [dir]List files in working directory
/model [name]Show or switch image model (fast, quality, default)
/contextShow loaded design context and prompt sources

Agent tools

During interactive sessions, the agent can run image processing commands (resize, convert, compress, info, palette, favicon) as tools. This means you can ask the agent to perform deterministic image operations as part of a conversation — for example, "resize all the PNGs in this folder to 800px wide" — and the agent will invoke the CLI commands directly.

File references

Type @filename in any prompt to include a file as context. Autocomplete is supported after the @ character.

> Redesign @mockup.png with more contrast and warmer colors

Keyboard shortcuts

KeyAction
Ctrl+CCancel current generation (double-tap to exit)
EscapeCancel current generation
Up/DownNavigate command history
TabAccept autocomplete suggestion
Shift+EnterNew line in editor