Type to search.

Perform dense embedding inference on the service

Auth The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability Experimental This functionality is experimental and is not ready for production usage. Experimental features may change or be removed at any time. Elastic will work to fix any issues, but experimental features are not subject to the support SLA of official GA features. Specific Support terms apply. Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

Required privileges

Cluster privileges monitor_inference

Path parameters

inference_id string required

The inference Id

Query parameters

timeout union oneOf · default: 30s

Specifies the amount of time to wait for the inference request to complete.

Values: -1 0

Request body

input union oneOf required

Inference input. Either a string, an array of strings, a content object, or an array of content objects. content objects may contain a single item or an array of items. Models that support multiple items per content object will return a single embedding for each content object, regardless of how many items it contains. Support for multiple items in a single content object is available in Elasticsearch 9.5.0 and later.

string example:

Text
"input": "Some text"

string array example:

Text
"input": ["Some text", "Some more text"]

content object example:

Text
"input": {
    "content": {
      "type": "image",
      "format": "base64",
      "value": "data:image/jpeg;base64,..."
    }
  }

content object array example:

Text
"input": [
  {
    "content": {
      "type": "text",
      "format": "text",
      "value": "Some text to generate an embedding"
    }
  },
  {
    "content": {
      "type": "image",
      "format": "base64",
      "value": "data:image/jpeg;base64,..."
    }
  }
]

content object using the url format example (available in Elasticsearch 9.6.0 and later):

Text
"input": {
    "content": {
      "type": "image",
      "format": "url",
      "value": "https://example.com/image.jpg"
    }
  }

Multiple items in one content object example (available in Elasticsearch 9.5.0 and later):

Text
"input": [
  {
    "content": [
      {
        "type": "image",
        "format": "base64",
        "value": "data:image/jpeg;base64,..."
      },
      {
        "type": "text",
        "value": "Some text to create an embedding"
      }
    ]
  }
]
One of:

Allows specifying text-only inputs for the embedding task.

input_type string

The input data type for the embedding model. Possible values include:

  • SEARCH
  • INGEST
  • CLASSIFICATION
  • CLUSTERING

Not all models 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.

Note

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.

task_settings object

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.

Response

application/json