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.1.tar.gz (37.9 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.1-py3-none-any.whl (46.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eightstatecli-0.4.1.tar.gz
  • Upload date:
  • Size: 37.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.1.tar.gz
Algorithm Hash digest
SHA256 535c1d4ab352168f8773bdb67a9e3d34de6731f9d68841b50a7fc2530755fc7a
MD5 0fe36a0724807c14c75760cd05f3f3fb
BLAKE2b-256 1cdefb45706e8734810106d5302e6274aea39744b1572c6414b7a8a4d89a35df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eightstatecli-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 46.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 552fb798ed08d546019999b50b33a644311264d2aa2f1ba98c1bc9a1bf24ca38
MD5 73bbe98eff7b5f171eaa00529da93ed7
BLAKE2b-256 ca131483851edbc2caae2c5b35e9a3eefe8514541bf7049beecdfc85b453603e

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