Skip to main content

Eightstate CLI — unified AI services from the command line

Project description

escli

  ┌─────────────────────────────────┐
  │  escli                  v0.3.1  │
  │  eightstate command line        │
  └─────────────────────────────────┘

AI services from the command line. Generate images, edit photos, and more. Works for humans and agents.

Install

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/eight-state/eightstate/main/cli/install.sh | bash

Windows

irm https://raw.githubusercontent.com/eight-state/eightstate/main/cli/install.ps1 | iex

Manual install (any platform)

# requires uv (https://docs.astral.sh/uv)
uv tool install git+https://github.com/eight-state/eightstate#subdirectory=cli

# or with pip
pip install git+https://github.com/eight-state/eightstate#subdirectory=cli

Quickstart

# 1. authenticate
escli auth login

# 2. generate an image
escli image gen "a sunset over the ocean" --open

# 3. list models
escli models

Usage

Image Generation

escli i g "a mountain landscape"                    # square, auto-named
escli i g "app mockup" -s portrait -q high --open   # portrait, opens after
escli i g "logo design" -s sq -o logo.png           # named output
escli i g "wallpaper" -s wide -f webp               # landscape webp
escli i g "product photo" -q high -d ./output/      # to directory

Image Editing

escli i e "make it snow" -i summer.jpg --open
escli i e "repaint as oil painting" -i photo.jpg -q high -o painted.png
escli i e "remove the background" -i product.png

Sizes

Alias Dimensions Use case
square, sq 1024x1024 Logos, icons, social posts
landscape, wide, ls 1536x1024 Wallpapers, banners, headers
portrait, tall, port 1024x1536 Phone mockups, posters, stories

Quality

Level Speed Detail
low ~15s Fast drafts
medium ~25s Balanced
high ~40s Best quality

Auth Profiles

escli auth login                        # interactive
escli auth login --key sk-xxx           # non-interactive
escli auth login --key sk-xxx -p work   # named profile
escli auth status                       # show current (alias: whoami)
escli auth profiles                     # list all (alias: ls)
escli auth switch work                  # switch profile (alias: use)
escli auth logout                       # remove current
escli auth logout --all                 # remove everything

Agent / CI Usage

All commands support --json for structured output and --quiet for zero stderr noise:

# generate with pure JSON output
escli --json --quiet i g "a logo" -s sq -o /tmp/logo.png

# returns:
# {"success": true, "path": "/abs/path/logo.png", "size_bytes": 123456,
#  "elapsed_seconds": 18.4, "prompt": "a logo", "model": "gpt-image-2",
#  "image_size": "1024x1024", "quality": "high"}

# auth via env var (no login needed)
ESCLI_API_KEY=sk-xxx escli --json models

# non-interactive login for CI
escli auth login --key $API_KEY --profile ci

# edit with JSON output
escli --json --quiet i e "make it blue" -i input.png -o output.png
# {"success": true, "path": "/abs/path/output.png", "input": "/abs/path/input.png", ...}

Exit codes: 0 success, 1 error, 2 usage

Error JSON: {"success": false, "error": "message"}

Shortcuts

Short Full
escli i g escli image generate
escli i e escli image edit
escli a escli auth
escli m escli models

Environment Variables

Variable Description Default
ESCLI_API_KEY API key (overrides profile)
ESCLI_BASE_URL API endpoint https://ai.eightstate.co/v1
ESCLI_IMAGE_MODEL Default model gpt-image-2
ESCLI_IMAGE_QUALITY Default quality high
ESCLI_IMAGE_SIZE Default size 1024x1024
ESCLI_IMAGE_FORMAT Default format png
ESCLI_OUT_DIR Output directory .
ESCLI_TIMEOUT Timeout seconds 300
ESCLI_CONFIG_DIR Config directory ~/.escli

Config

Credentials stored at ~/.escli/config.json with 600 permissions (owner-only read/write).

License

MIT

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

eightstatecli-0.4.3.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

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

eightstatecli-0.4.3-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file eightstatecli-0.4.3.tar.gz.

File metadata

  • Download URL: eightstatecli-0.4.3.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","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 eightstatecli-0.4.3.tar.gz
Algorithm Hash digest
SHA256 62a234840c48af10527a15192c934f8ea3dd285ff6caafce68587b6a9b687ab4
MD5 cf242d8cf7d9dfe19701b011b7c949e8
BLAKE2b-256 a0b8097fbfc5074cc798b24c286ba777232f28d1dcaa0526061fd9da5cc2793d

See more details on using hashes here.

File details

Details for the file eightstatecli-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: eightstatecli-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 47.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","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 eightstatecli-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8a9563569909d6e39338fe4615260e2d25699dd658244dc0682e4bd3efc9cd59
MD5 313a50ceac005968a7977a0f3126f5f6
BLAKE2b-256 afcd441e9f553d8d592c4ca17f6fc42ee285e32bd8057b82b85060d847751f68

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