> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unstructured.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Image Description task

> The Image Description task uses agentic AI or a vision language model (VLM) to generate text-based summaries of detected images in partitioned documents.

*Type*: `prompter`

*Subtype*: see [Settings](#settings)

## Usage guidance

An image description node enriches an element's `text` attribute, as does an [Optical Character Recognition (OCR) enrichment](/api-reference/workflow/nodes/enhancement/prompter-generative-ocr). Always place the image description enrichment *after* the OCR enrichment, so that it overwrites the results from the OCR enrichment.

For more information, see [Image descriptions](/concepts/enriching/image-descriptions).

<Warning>
  Unstructured can potentially generate image summary descriptions only for workflows that are configured as follows:

  * With a **Partitioner** node set to use the **Auto** or **High Res** partitioning strategy, and an image summary description node is added.
  * With a **Partitioner** node set to use the **VLM** partitioning strategy. No image summary description node is needed (or allowed).

  Even with these configurations, Unstructured actually generates image summary descriptions only for files that contain images and are also eligible
  for processing with the following partitioning strategies:

  * **High Res**, when the workflow's **Partitioner** node is set to use **Auto** or **High Res**.
  * **VLM** or **High Res**, when the workflow's **Partitioner** node is set to use **VLM**.

  Unstructured never generates image summary descriptions for workflows that are configured as follows:

  * With a **Partitioner** node set to use the **Fast** partitioning strategy.
  * With a **Partitioner** node set to use the **Auto**, **High Res**, or **VLM** partitioning strategy, for all files that Unstructured encounters that do not contain images.
</Warning>

## Settings

<ParamField body="subtype" type="string" required>
  Enrichment algorithm and provider. Set at the `WorkflowNode` level, outside of `settings`. Allowed values:

  * `twopass_image_description` — Agentic AI image description output. Best for complex images. Do not specify `provider_type` or `model` when using this subtype.
  * `anthropic_image_description` - VLM image description output using Anthropic.
  * `bedrock_image_description` - VLM image description output using Amazon Bedrock.
  * `openai_image_description` - VLM image description output using OpenAI.
  * `vertexai_image_description` - VLM image description output using Vertex AI.

  <Note>
    The preceding list applies only to Unstructured **Let's Go** and **Pay-As-You-Go** accounts.

    For Unstructured **Business** accounts, to get your current list of available values, contact your
    Unstructured account administrator or Unstructured sales representative, or [request support](support/request).
  </Note>
</ParamField>

<ParamField body="provider_type" type="string" required>
  Provider that matches the prefix of `subtype`. Not used with `twopass_image_description`. Allowed values:

  * `anthropic`
  * `bedrock`
  * `openai`
  * `vertexai`
</ParamField>

<ParamField body="model" type="string" required>
  Model to use for image description. Not used with `twopass_image_description`. For a full list of the models available in Unstructured, see [Available models](/api-reference/workflow/models).
</ParamField>

<RequestExample>
  ```python Python SDK theme={null}
  image_description_enrichment_workflow_node = WorkflowNode(
      name="Enrichment",
      subtype="<subtype>",
      type="prompter",
      settings={
          "provider_type": "<provider-type>",
          "model": "<model>"
      }
  )
  ```

  ```json cURL theme={null}
  {
      "name": "Enrichment",
      "type": "prompter",
      "subtype": "<subtype>",
      "settings": {
          "provider_type": "<provider-type>",
          "model": "<model>"
      }
  }
  ```
</RequestExample>
