> For the complete documentation index, see [llms.txt](https://docs.eyepop.ai/developer-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eyepop.ai/developer-documentation/cli/reference.md).

# Command Reference

Every command and flag, generated from the CLI's built-in help.

The complete customer command surface. This page is generated from `eyepop <command> --help`, so it always matches the released CLI. For the flags of any command, you can also run its help directly:

```bash
eyepop get datasets --help
```

### eyepop

```
CLI for interacting with the EyePop ecosystem

Usage: eyepop [OPTIONS] <COMMAND>

Commands:
  auth      Authentication commands
  instance  Manage the EyePop instance on this machine
  get       Get or list resources [aliases: show, ls, list]
  create    Create a resource [aliases: new]
  delete    Delete a resource
  patch     Patch (update in place) a resource
  run       Run inference on media
  evaluate  Evaluate an ability against a dataset [aliases: eval]
  system    Show what this machine is and whether it has what EyePop needs
  tui       Launch the interactive run wizard (choose a model, pick media, run)
  update    Update the CLI to the latest version [aliases: upgrade]
  help      Print this message or the help of the given subcommand(s)

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version
```

### eyepop auth

```
Authentication commands

Usage: eyepop auth [OPTIONS] <COMMAND>

Commands:
  login   Login to EyePop via browser OAuth
  logout  Logout from EyePop
  status  Show authentication status
  help    Print this message or the help of the given subcommand(s)

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop auth login

```
Login to EyePop via browser OAuth

Usage: eyepop auth login [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --refresh
          Force fresh authentication to refresh grants

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop auth logout

```
Logout from EyePop

Usage: eyepop auth logout [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop auth status

```
Show authentication status

Usage: eyepop auth status [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop get

```
Get or list resources

Usage: eyepop get [OPTIONS] <COMMAND>

Commands:
  datasets     List or show datasets
  assets       List assets in a dataset
  abilities    List or show abilities
  groups       List ability groups [aliases: group]
  pops         List or show pops
  models       List models by namespaced alias and tag
  accounts     List or show accounts
  keys         List API keys, show one by prefix, or check the key you are using
  deployments  List or show deployments [aliases: deploy, deploys]
  sessions     List or show sessions
  instances    List the account's on-premise instances
  evals        List past evaluations, or show one in flight [aliases: eval]
  usage        Show compute usage and credit status
  help         Print this message or the help of the given subcommand(s)

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get datasets

```
List or show datasets

Usage: eyepop get datasets [OPTIONS] [NAME]

Arguments:
  [NAME]
          Dataset name or UUID for detail view

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -q, --q <Q>
          Case-insensitive name search (substring; glob matches whole name: *my-*)

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --version <VERSION>
          Specific dataset version

  -a, --account <ACCOUNT>
          Account UUID

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --modifiable
          Only show modifiable datasets

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --filter <FILTER>
          Filter datasets (key=value with glob: name=my-*,searchable=true,assets=12)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get assets

```
List assets in a dataset

Usage: eyepop get assets [OPTIONS] --dataset <DATASET>

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

  -d, --dataset <DATASET>
          Dataset UUID or name

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --version <VERSION>
          Specific dataset version

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --filter <FILTER>
          Filter assets (key=value with glob: type=image/*,status=ready,size=1*)

  -a, --account <ACCOUNT>
          Account UUID

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get abilities

```
List or show abilities

Usage: eyepop get abilities [OPTIONS] [NAME]

Arguments:
  [NAME]
          Ability name or UUID for detail view

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --group <GROUP>
          Filter by group name (substring; glob matches whole name: *find*)

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -a, --account <ACCOUNT>
          Account UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --public
          Public rows only (mutually exclusive with --mine)

      --mine
          Owner rows only (mutually exclusive with --public)

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --sort <SORT>
          Sort field (e.g. created_at, updated_at, name)

      --order <ORDER>
          Sort direction
          
          [possible values: asc, desc]

  -q, --q <Q>
          Server-side case-insensitive name search

      --filter <FILTER>
          Filter abilities (key=value with glob: name=my-*,status=published,group=find-events,public=yes,alias=eyepop.*)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get groups

```
List ability groups

Usage: eyepop get groups [OPTIONS]

Options:
  -a, --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --public
          Public rows only (mutually exclusive with --mine)

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --mine
          Owner rows only (mutually exclusive with --public)

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --sort <SORT>
          Sort field (e.g. created_at, updated_at, name)

      --order <ORDER>
          Sort direction
          
          [possible values: asc, desc]

  -q, --q <Q>
          Server-side case-insensitive name search

      --filter <FILTER>
          Filter groups (key=value with glob: name=find-*,description=*events*)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get pops

```
List or show pops

Usage: eyepop get pops [OPTIONS] [NAME]

Arguments:
  [NAME]
          Pop name for detail view

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -q, --q <Q>
          Case-insensitive name search (substring; glob matches whole name: *my-*)

  -a, --account <ACCOUNT>
          Account UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --filter <FILTER>
          Filter pops (key=value with glob: category=vision,source=builtin)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get models

```
List models by namespaced alias and tag

Usage: eyepop get models [OPTIONS]

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --sort <SORT>
          Sort field (created_at, updated_at, name)
          
          [default: name]

      --order <ORDER>
          Sort direction
          
          [default: asc]
          [possible values: asc, desc]

      --filter <FILTER>
          Filter models (key=value with glob: name=eyepop.person*,public=true)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get accounts

```
List or show accounts

Usage: eyepop get accounts [OPTIONS] [NAME_OR_UUID]

Arguments:
  [NAME_OR_UUID]
          Account name or UUID for detail view

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get keys

```
List API keys, show one by prefix, or check the key you are using

Usage: eyepop get keys [OPTIONS] [PREFIX]

Arguments:
  [PREFIX]
          Key prefix for detail view; omit under an API key to describe that key

Options:
  -a, --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --filter <FILTER>
          Filter keys (key=value with glob: name=my-*,account=acc-*,expires=2026-*)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get deployments

```
List or show deployments

Usage: eyepop get deployments [OPTIONS] [SESSION_UUID]

Arguments:
  [SESSION_UUID]
          Session UUID for detail view

Options:
  -a, --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get sessions

```
List or show sessions

Usage: eyepop get sessions [OPTIONS] [SESSION_UUID]

Arguments:
  [SESSION_UUID]
          Session UUID for detail view

Options:
  -a, --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get instances

```
List the account's on-premise instances

Usage: eyepop get instances [OPTIONS]

Options:
  -a, --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --filter <FILTER>
          Filter instances (key=value with glob: instance_name=orin-*,instance_status=active)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get evals

```
List past evaluations, or show one in flight

Usage: eyepop get evals [OPTIONS] [REQUEST_ID]

Arguments:
  [REQUEST_ID]
          Request ID of an in-flight evaluation, from `eyepop evaluate`

Options:
      --ability <ABILITY>
          List the evaluations that ran for this ability, across every dataset

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --dataset <DATASET>
          List the evaluations that ran against this dataset

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --dataset-version <DATASET_VERSION>
          Restrict a dataset listing to one version

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -a, --account <ACCOUNT>
          Account UUID

  -l, --limit <LIMIT>
          Page size (1-1000); defaults to 25 fancy / 100 json

      --offset <OFFSET>
          Page offset (default 0)
          
          [default: 0]

      --filter <FILTER>
          Filter evaluations (key=value with glob: status=completed,ability=069*)

      --watch
          Watch until the request completes

      --timeout <TIMEOUT>
          Wait timeout in seconds (default: 20)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop get usage

```
Show compute usage and credit status

Usage: eyepop get usage [OPTIONS]

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop create

```
Create a resource

Usage: eyepop create [OPTIONS] <COMMAND>

Commands:
  dataset     Create a new dataset
  asset       Upload one or more assets to a dataset
  ability     Create a new ability
  deployment  Create a deployment, wait until healthy, and print the session UUID [aliases: deploy, deploys]
  key         Create an API key and print it once
  help        Print this message or the help of the given subcommand(s)

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop create dataset

```
Create a new dataset

Usage: eyepop create dataset [OPTIONS] --name <NAME>

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -n, --name <NAME>
          Dataset name

  -d, --description <DESCRIPTION>
          Description

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -t, --tags <TAGS>
          Tags (repeatable)

      --searchable
          Make searchable

  -a, --account <ACCOUNT>
          Account UUID

      --media-path <MEDIA_PATH>
          Upload sources on creation (repeatable)

  -r, --recursive
          Recurse into directories (with --media-path)

      --partition <PARTITION>
          Partition label for uploaded media

      --concurrency <CONCURRENCY>
          Upload concurrency
          
          [default: 4]

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop create asset

```
Upload one or more assets to a dataset

Usage: eyepop create asset [OPTIONS] --media-path <MEDIA_PATH> --dataset <DATASET>

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --media-path <MEDIA_PATH>
          Source files, directories, or URLs (repeatable)

  -d, --dataset <DATASET>
          Target dataset name or UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -r, --recursive
          Recurse into subdirectories

      --partition <PARTITION>
          Partition label (e.g., train, test, val)

      --concurrency <CONCURRENCY>
          Maximum concurrent uploads (1-32)
          
          [default: 4]

      --version <VERSION>
          Target dataset version

  -a, --account <ACCOUNT>
          Account UUID

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop create ability

```
Create a new ability

Usage: eyepop create ability [OPTIONS]

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --name <NAME>
          Ability name

      --description <DESCRIPTION>
          Description

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --prompt <PROMPT>
          Text prompt

      --public
          Make ability public

      --publish
          Publish the ability after creation

      --video-chunk-length-ns <VIDEO_CHUNK_LENGTH_NS>
          Video chunk length in nanoseconds

      --video-chunk-overlap <VIDEO_CHUNK_OVERLAP>
          Video chunk overlap ratio (must be < 0.5)

  -a, --account <ACCOUNT>
          Account UUID

      --max-new-tokens <MAX_NEW_TOKENS>
          Maximum tokens to generate

      --image-size <IMAGE_SIZE>
          Target image size (max dimension)

      --fps <FPS>
          Target FPS for video

      --max-frames <MAX_FRAMES>
          Maximum number of frames to load

      --min-frames <MIN_FRAMES>
          Minimum number of frames required

      --max-aspect-ratio <MAX_ASPECT_RATIO>
          Maximum allowed aspect ratio

      --context-length <CONTEXT_LENGTH>
          Maximum visual context length

      --class <CLASSES>
          Output class (repeatable)

      --set <SET>
          Extra config key=value (repeatable)

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop create key

```
Create an API key and print it once

Usage: eyepop create key [OPTIONS]

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -n, --name <NAME>
          Display name

  -a, --account <ACCOUNT>
          Account UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --expires-in <SECONDS>
          Lifetime in seconds (30 days unless given)
          
          [default: 2592000]

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop create deployment

```
Create a deployment, wait until healthy, and print the session UUID

Usage: eyepop create deployment [OPTIONS]

Options:
      --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --display-name <NAME>
          Display name for the deployment

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --model <ALIAS_OR_UUID>
          Model to run: alias from `eyepop get models` or model UUID

      --pop <POP>
          Pop to run: alias from `eyepop get pops`, saved pop UUID, ability, or JSON/YAML (inline or file)

      --dashboard
          Enable the dashboard and open it in your default browser once healthy

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop patch

```
Patch (update in place) a resource

Usage: eyepop patch [OPTIONS] <COMMAND>

Commands:
  deployment  Patch a deployment in place, wait until healthy, and print the session UUID [aliases: deploy, deploys]
  help        Print this message or the help of the given subcommand(s)

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop patch deployment

```
Patch a deployment in place, wait until healthy, and print the session UUID

Usage: eyepop patch deployment [OPTIONS] <UUID>

Arguments:
  <UUID>
          Session UUID to patch

Options:
      --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --display-name <NAME>
          Display name for the deployment

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

      --model <ALIAS_OR_UUID>
          Model to run: alias from `eyepop get models` or model UUID

      --pop <POP>
          Pop to run: alias from `eyepop get pops`, saved pop UUID, ability, or JSON/YAML (inline or file)

      --dashboard
          Enable the dashboard and open it in your default browser once healthy

      --no-wait
          Return immediately without waiting for the deployment to become healthy

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop delete

```
Delete a resource

Usage: eyepop delete [OPTIONS] <COMMAND>

Commands:
  ability     Delete an ability
  dataset     Delete a dataset
  deployment  Delete a deployment by display name, session UUID, or UUID prefix [aliases: deploy, deploys]
  session     Delete a session by display name, session UUID, or UUID prefix
  key         Delete an API key
  help        Print this message or the help of the given subcommand(s)

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop delete ability

```
Delete an ability

Usage: eyepop delete ability [OPTIONS] <NAME>

Arguments:
  <NAME>
          Ability name or UUID

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -y, --yes
          Skip confirmation prompt

      --all
          Delete all matches (when name matches multiple abilities)

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

  -a, --account <ACCOUNT>
          Account UUID

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop delete dataset

```
Delete a dataset

Usage: eyepop delete dataset [OPTIONS] <NAME>

Arguments:
  <NAME>
          Dataset name or UUID

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -y, --yes
          Skip confirmation prompt

      --all
          Delete all matches (when name matches multiple datasets)

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

  -a, --account <ACCOUNT>
          Account UUID

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop delete key

```
Delete an API key

Usage: eyepop delete key [OPTIONS] <PREFIX>

Arguments:
  <PREFIX>
          API key prefix (7 chars, with or without "eyp_")

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -y, --yes
          Skip confirmation prompt

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop delete deployment

```
Delete a deployment by display name, session UUID, or UUID prefix

Usage: eyepop delete deployment [OPTIONS] <NAME_OR_UUID>

Arguments:
  <NAME_OR_UUID>
          Display name, session UUID, or UUID prefix from `eyepop get deployments`

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -y, --yes
          Skip confirmation prompt

  -a, --account <ACCOUNT>
          Account UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop delete session

```
Delete a session by display name, session UUID, or UUID prefix

Usage: eyepop delete session [OPTIONS] <NAME_OR_UUID>

Arguments:
  <NAME_OR_UUID>
          Display name, session UUID, or UUID prefix from `eyepop get sessions`

Options:
      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -y, --yes
          Skip confirmation prompt

  -a, --account <ACCOUNT>
          Account UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop run

```
Run a model, pop, or session against media. Name the target with --model, --pop, or --session, and the media with --media-path. To score an ability against a dataset instead, use `eyepop evaluate`.

Usage: eyepop run [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --model <ALIAS_OR_UUID>
          Model to run: alias from `eyepop get models` or `eyepop get abilities`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --pop <POP>
          Pop to run: alias from `eyepop get pops`, saved pop UUID, ability, or JSON/YAML (inline or file)

      --session <UUID>
          Existing session or deployment to run against

      --media-path <MEDIA_PATH>
          Source files, directories, or URLs (repeatable)

  -p, --prompt <PROMPT>
          Text prompt for VLM runs

  -r, --recursive
          Recurse into subdirectories

      --concurrency <CONCURRENCY>
          Maximum concurrent requests (1-32)
          
          [default: 4]

      --no-cache
          Bypass cache and force fresh inference

      --dashboard
          Enable the session dashboard (pop runs only; requires admin)

      --timeout <TIMEOUT>
          Seconds to wait per result: the inference poll on model runs (default 3600), the worker response on pop and session runs (default 120)

      --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')

Get started:
  1. Sign in:
       eyepop auth login

  2. Find something to run:
       eyepop get models       Models, by alias and tag
       eyepop get abilities    Published abilities, by alias
       eyepop get pops         Pop pipelines, built-in and saved
       eyepop get deployments  Running deployments

  3. Run it against a local file or URL:
       eyepop run --model eyepop.person:latest --media-path image.jpg

Targets (exactly one):
  --model <ALIAS_OR_UUID>   A model or ability alias, or its UUID
  --pop <POP>               A pop alias from `eyepop get pops`, a saved pop UUID, an ability,
                            or a pop as JSON/YAML (inline or a file)
  --session <UUID>          An existing session or deployment

Inputs:
  --media-path <MEDIA_PATH> A file, directory, or HTTP(S) URL; repeat for more

Examples:
  eyepop run --model eyepop.person:latest --media-path image.jpg
  eyepop run --model eyepop.person:latest --media-path image1.jpg --media-path image2.jpg
  eyepop run --pop people-common-objects --media-path video.mp4
  eyepop run --session <session-uuid> --media-path https://example.com/frame.jpg

Every target and every input is a flag, so nothing is read by position and
no identifier needs shell quoting. Copy identifiers straight out of `eyepop get models`,
`eyepop get abilities`, and `eyepop get pops`.

To score an ability against a whole dataset instead, use `eyepop evaluate`.

For a guided workflow, run `eyepop tui`.
```

### eyepop evaluate

```
Evaluate an ability against accepted media in a dataset. Long-running evaluations return a request ID, which `eyepop get evals <request_id>` reports on.

Usage: eyepop evaluate --ability <NAME_OR_UUID> --dataset <NAME_OR_UUID> [OPTIONS]

Options:
  -d, --dataset <NAME_OR_UUID>
          Dataset to evaluate across: name or UUID from `eyepop get datasets`

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

  -a, --ability <NAME_OR_UUID>
          Ability to evaluate: name or UUID from `eyepop get abilities`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --partition <PARTITION>
          Filter to partition(s) - can be repeated

      --filter-class <filter-class>
          Filter to assets containing a ground-truth class (repeatable)

      --no-wait
          Skip result polling and return the request ID

      --timeout <TIMEOUT>
          Wait timeout in seconds (default: 20)

      --video-chunk-length <video-chunk-length>
          Video chunk length in nanoseconds

      --video-chunk-overlap <video-chunk-overlap>
          Video chunk overlap (0.0 to 1.0)

      --account <ACCOUNT>
          Account UUID

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')

Evaluation requires an ability and a dataset.

Required:
  --ability <NAME_OR_UUID>   An ability from `eyepop get abilities`, by name or UUID
  --dataset <NAME_OR_UUID>   A dataset from `eyepop get datasets`, by name or UUID

Examples:
  eyepop evaluate --ability my-namespace.find-kittens:latest --dataset people
  eyepop evaluate --ability my-namespace.find-kittens:latest --dataset people --partition test
  eyepop evaluate --ability my-namespace.find-kittens:latest --dataset people --no-wait

Evaluation is asynchronous. Check on a request with:
  eyepop get evals <request_id>
  eyepop get evals <request_id> --watch

To run against media instead of a dataset, use `eyepop run`.
```

### eyepop system

```
Show what this machine is: docker and its daemon, credentials, any accelerator found and the runtime image it implies, whether an instance is configured, and exactly what gets sent to EyePop when one is registered. Reports only — always exits 0 and changes nothing.

Usage: eyepop system [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop instance

```
Manage the EyePop instance on this machine.

An instance is EyePop running on hardware you control. These commands operate on the one instance this machine holds; to list every instance in your account, use `eyepop get instances`.

Usage: eyepop instance [OPTIONS] <COMMAND>

Commands:
  init     Set up an EyePop instance on this machine and bring it up
  start    Start the instance container and wait until it is healthy
  stop     Stop the instance container; `instance start` brings it back
  restart  Restart the instance container and wait until it is healthy
  set      Change a setting and recreate the instance container
  logs     Show the instance container's logs
  delete   Delete this machine's instance and everything it installed
  help     Print this message or the help of the given subcommand(s)

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance init

```
Set up an EyePop instance on this machine: check prerequisites, register it with your account, generate the compose project and instance configuration, and bring the container up.

Re-running repairs. An existing instance keeps its identity — a wiped volume, a deleted container or a half-written root are all healed by the same command. A genuinely different instance means `eyepop instance delete` first.

On a terminal with nothing supplied it prompts. Use `--yes` to accept defaults, or `--config` plus overriding flags for scripted configuration.

`eyepop init` is an alias for this command.

Usage: eyepop instance init [OPTIONS]

Options:
      --account <ACCOUNT>
          Account to register this instance in; otherwise inferred from the API key or signed-in account

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --pop <POP>
          Pop the instance serves: a pop name, an ability like eyepop.person:latest, or JSON/YAML (inline or file)

      --name <NAME>
          Instance name; defaults to this machine's hostname

  -c, --config <CONFIG>
          Config file, inline JSON, or YAML; flags override it

      --bind <BIND>
          Host interface to publish on

      --log-level <LOG_LEVEL>
          Runtime log level

      --tag <TAG>
          Runtime image tag; defaults to the tag the platform recommends, or `latest` when it cannot answer

      --profile <PROFILE>
          Hardware family selecting the runtime image; detected when omitted. Honoured even when it does not match this machine, so a compose project can be rendered for hardware you are not standing in front of

          Possible values:
          - cpu
          - cuda
          - cuda-jetpack6: `cuda-jetpack` was the spelling before it was unified with the image tag (`-jetpack6`); kept as an alias so an existing `--profile` value and any config written by an older CLI still resolve
          - openvino
          - qnn

      --adopt <ADOPT>
          Claim a specific existing instance record by UUID

      --wait <WAIT>
          Seconds to wait for the container to report healthy
          
          [default: 300]

  -y, --yes
          Accept defaults without prompting; the pop defaults to eyepop.person:latest

      --dump
          Render the artifacts and stop — nothing registered, seeded or started
          
          Writes to ./eyepop-instance/, or to that name under --config-dir, and leaves the real instance root untouched. Asks the platform nothing: the pop is written through as given, so only an ability reference renders a body that would boot.

      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance start

```
Start the instance container and wait until it reports healthy.

Also recreates a container that was removed by hand — the generated compose project is the record, so bringing it up is always the same operation.

Usage: eyepop instance start [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --wait <WAIT>
          Seconds to wait for the container to report healthy
          
          [default: 300]

      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance stop

```
Stop the instance container; `instance start` brings it back

Usage: eyepop instance stop [OPTIONS]

Options:
      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance restart

```
Restart the instance container and wait until it is healthy

Usage: eyepop instance restart [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --wait <WAIT>
          Seconds to wait for the container to report healthy
          
          [default: 300]

      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance set

```
Change a setting and recreate the instance container

Usage: eyepop instance set [OPTIONS] <COMMAND>

Commands:
  pop   Change the Pop this instance serves
  help  Print this message or the help of the given subcommand(s)

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance logs

```
Show the instance container's logs

Usage: eyepop instance logs [OPTIONS]

Options:
  -f, --follow
          Stream new output until interrupted

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --tail <TAIL>
          Number of log lines to show from the end
          
          [default: 100]

      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

  -h, --help
          Print help (see a summary with '-h')
```

#### eyepop instance delete

```
Delete this machine's instance: the container, all its volumes including the model cache, the pulled runtime image, the eyepop network, the generated files, the account's platform record, and the docker registry credential the CLI installed — its robot account is revoked in the registry, and a later `eyepop instance init` mints a fresh one.

Local teardown runs first, then unregistration, then credential revocation — a dead platform record is recoverable, a running box the platform does not know about is not.

With --uuid it deletes that platform record, and only tears this machine down (credential included) when the record is this machine's own.

Usage: eyepop instance delete [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --uuid <UUID>
          Platform record UUID; defaults to this machine's instance

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -y, --yes
          Skip confirmation prompt

  -a, --account <ACCOUNT>
          Account UUID

      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop tui

```
Launch the interactive run wizard (choose a model, pick media, run)

Usage: eyepop tui [OPTIONS]

Options:
      --concurrency <CONCURRENCY>
          Maximum concurrent requests (1-32)
          
          [default: 4]

      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --account <ACCOUNT>
          Account UUID

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

### eyepop update

```
Update the CLI to the latest version

Usage: eyepop update [OPTIONS]

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --no-auto
          Stop updating automatically; future runs only mention that a newer version exists

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

  -h, --help
          Print help (see a summary with '-h')
```

**eyepop instance set pop**

```
Change the Pop this instance serves

Usage: eyepop instance set pop [OPTIONS] <POP>

Arguments:
  <POP>
          Pop the instance serves: a pop name, an ability like eyepop.person:latest, or JSON/YAML (inline or file)

Options:
      --json
          Output as JSON instead of styled tables. Alias for `--format json`

      --wait <WAIT>
          Seconds to wait for the container to report healthy
          
          [default: 300]

      --config-dir <DIR>
          Instance root; everything the instance needs lives under it

      --format <FORMAT>
          How results render on stdout: fancy (colour and tables), text (tab-separated, one record per line), or json

          Possible values:
          - fancy: Styled output with colors and formatting (default)
          - text:  Plain text output for scripting
          - json:  JSON output

      --api-key <KEY>
          API key to authenticate as, overriding EYEPOP_API_KEY and any logged-in session for the whole command. Prefer EYEPOP_API_KEY when unattended: a flag value is visible in shell history and in process listings

      --log-level <LEVEL>
          Log verbosity on stderr: error, warn, info, debug, trace. Accepts per-module targets too, e.g. `eyepop::api=debug,warn`. Falls back to EYEPOP_LOG_LEVEL, then info

      --log-file [<PATH>]
          Also write the log to a file. Without a path, writes to the default filename in the current directory. Falls back to EYEPOP_LOG_FILE

  -h, --help
          Print help (see a summary with '-h')
```

***

*Generated from `eyepop v0.19.0`. Do not edit by hand — this page is synced by the `Publish CLI docs` workflow in the eyepop-cli repo.*
