﻿---
title: stack es inference inference cli command
description: Perform inference on the service. Behaviour flags: --dry-run — validate all inputs and exit without performing any action 
url: https://www.elastic.co/elastic/docs-builder/docs/4097/reference/elastic-cli/cli/stack/es/inference/inference
applies_to:
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview
---

# stack es inference inference cli command
<cli-modifiers>
</cli-modifiers>

```bash
elastic stack es inference inference \
  --input <input> \
  --inference-id <inference-id> \
  [options]
```

Perform inference on the service.
**Behaviour flags:**
`--dry-run` — validate all inputs and exit without performing any action

## Options

<definitions>
  <definition term="--input string required">
    The text on which you want to perform the inference task.
    It can be a single string or an array. > info
    > Inference endpoints for the `completion` task type currently only support a single string as input.
    **Repeatable:** pass `--input` multiple times to supply more than one value
  </definition>
  <definition term="--inference-id string required">
    The unique identifier for the inference endpoint.
  </definition>
  <definition term="--timeout string">
    The amount of time to wait for the inference request to complete.
  </definition>
  <definition term="--query string">
    The query input, which is required only for the `rerank` task.
    It is not required for other tasks.
  </definition>
  <definition term="--input-type string">
    Specifies the input data type for the embedding model. The `input_type` parameter only applies to Inference Endpoints with the `embedding` or `text_embedding` task type. Possible values include:
    - `SEARCH`
    - `INGEST`
    - `CLASSIFICATION`
    - `CLUSTERING`
      Not all services support all values. Unsupported values will trigger a validation exception.
      Accepted values depend on the configured inference service, refer to the relevant service-specific documentation for more info. > info
  </definition>
</definitions>
> The `input_type` parameter specified on the root level of the request body will take precedence over the `input_type` parameter specified in `task_settings`.
<definitions>
  <definition term="--task-settings string">
    Task settings for the individual inference request.
    These settings are specific to the task type you specified and override the task settings specified when initializing the service.
  </definition>
  <definition term="--task-type enum">
    The type of inference task that the model performs.
    **Values:** sparse_embedding, text_embedding, rerank, completion, chat_completion, embedding
  </definition>
  <definition term="--error-trace">
    When set to `true` Elasticsearch will include the full stack trace of errors
    when they occur.
  </definition>
  <definition term="--filter-path string">
    Comma-separated list of filters in dot notation which reduce the response
    returned by Elasticsearch.
    **Repeatable:** pass `--filter-path` multiple times to supply more than one value
  </definition>
  <definition term="--human">
    When set to `true` will return statistics in a format suitable for humans.
    For example `"exists_time": "1h"` for humans and
    `"exists_time_in_millis": 3600000` for computers. When disabled the human
    readable values will be omitted. This makes sense for responses being consumed
    only by machines.
  </definition>
  <definition term="--pretty">
    If set to `true` the returned JSON will be "pretty-formatted". Only use
    this option for debugging only.
  </definition>
  <definition term="--input-file string">
    path to a JSON file to use as command input
  </definition>
  <definition term="--dry-run">
    validate all inputs and exit without performing any action (preview changes without applying them)
  </definition>
</definitions>


## Global Options

<definitions>
  <definition term="--json">
    output as JSON
  </definition>
</definitions>