Skip to main content

Use your photos to design and try on outfits

Project description

Looking Glass

Use your photos to design and try on outfits — powered by AI image generation.

Supports OpenAI and Google Gemini as image generation providers.

Installation

Requires uv.

uv tool install looking-glass-cli

Quick Start

# 1. Set at least one API key (OpenAI, Gemini, or both)
glass config set openai_api_key sk-your-key-here
glass config set gemini_api_key your-gemini-key-here

# 2. Add a photo of yourself
glass photo add ~/selfie.jpg --name me

# 3. Add outfit descriptions (plain text files)
echo "Elegant navy suit, white dress shirt, silk tie" > formal.txt
glass outfit add formal.txt

echo "Hawaiian shirt, cargo shorts, flip-flops" > beach.txt
glass outfit add beach.txt --name beach-vibes

# 4a. Run interactive mode — pick a photo, pick outfits, pick a provider, generate!
glass

# 4b. OR: Batch capture outfit descriptions from a folder of photos
glass outfit capturefolder ~/photos --overwrite

Commands

Command Description
glass Interactive mode — select a photo, outfits, and provider, then generate images
glass photo add <file> [--name NAME] Add a photo
glass photo list List stored photos
glass photo remove <name> Remove a photo
glass outfit add <file> [--name NAME] Add an outfit description
glass outfit capture <file> [--name NAME] [--no-instruction-file] Capture an outfit description from a photo using AI vision
glass outfit capturefolder [FOLDER] [--overwrite] Batch capture outfit descriptions from all images in a folder (uses filenames as outfit names)
glass outfit create --name NAME Create an outfit description in your default editor
glass outfit list List stored outfits
glass outfit remove <name> Remove an outfit
glass config set <key> <value> Set a config value
glass config show Show all available config options and their current values

Options

  • --output, -o PATH — Directory for generated images (default: current directory)
  • --version — Show version

For outfit capture, place a matching .txt file next to the photo to provide extra AI instructions automatically. For example, linen-look.jpg uses linen-look.txt. Use glass outfit capture --no-instruction-file to opt out for an individual capture, or pass --instructions/-i to override the file.

Configuration

Run glass config show to see all available options with descriptions and defaults.

Key Description Default
openai_api_key OpenAI API key for image generation
gemini_api_key Google Gemini API key for image generation
max_workers Max parallel image generations 4

At least one API key is required. If both are configured, you'll be prompted to choose a provider during interactive mode.

Note: The glass outfit capture and glass outfit capturefolder commands require a vision-capable provider (OpenAI supports this via API key).

Migrating from an older version? The api_key config key has been replaced by openai_api_key. Your existing key will be migrated automatically on first run.

How It Works

  1. Photos and outfit files are stored in ~/.looking-glass/
  2. Outfits are plain .txt files — the filename is the name, the content is the description
  3. In interactive mode, select a photo, one or more outfits, and a provider
  4. For each outfit, the app sends your photo + a prompt to the selected provider's API
  5. Generated images are saved as {photo}_{outfit}.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

looking_glass_cli-1.7.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

looking_glass_cli-1.7.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file looking_glass_cli-1.7.0.tar.gz.

File metadata

  • Download URL: looking_glass_cli-1.7.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for looking_glass_cli-1.7.0.tar.gz
Algorithm Hash digest
SHA256 544ee2f441b848ed2a280957e7b7f20197e7487560fa2ababc73f496ef3530af
MD5 e634f546980de2a99459902908ee8a4c
BLAKE2b-256 2b866368699926ce25136273e961a7d8e58707e5d2792eec646cdcdb483a180f

See more details on using hashes here.

File details

Details for the file looking_glass_cli-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: looking_glass_cli-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for looking_glass_cli-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2197de55a4241df30f1fa90c931ac610d77fd2498c9f0fd56bc0fddd92a5216d
MD5 78d680cba4e20c2995bb6ce1bee9030c
BLAKE2b-256 773f1c24e0d047ae84e18feaf463613f0a5ce866ed3de22d4e8118c427a2fa19

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page