> ## 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.

# Auto strategy

> The Auto strategy dynamically routes each page to the Fast, High Res, or VLM partitioning strategy at runtime, optimizing for the highest quality at the lowest cost.

*Type*: `partition`

*Subtype*: `vlm`

## Settings

<ParamField body="provider" type="string">
  VLM provider to use if Auto routing selects the VLM strategy. Allowed values: `anthropic`, `auto`, `bedrock`, `openai`, `vertexai`. Default: `anthropic`.
</ParamField>

<ParamField body="provider_api_key" type="string">
  If specified, overrides the default API key used for VLM provider calls. Default: none (uses Unstructured's internal default).
</ParamField>

<ParamField body="model" type="string">
  VLM model to use if Auto routing selects the VLM strategy. Default: `claude-sonnet-4-20250514`.

  For a full list of the models available in Unstructured, see [Available models](/api-reference/workflow/models).
</ParamField>

<ParamField body="output_format" type="string">
  Format of the partitioner response. Allowed values: `text/html`, `application/json`. Default: `text/html`.
</ParamField>

<ParamField body="format_html" type="boolean">
  If `true`, applies Beautiful Soup's `prettify` method to any HTML generated by the VLM partitioner, adding indentation for readability. Default: `true`.
</ParamField>

<ParamField body="unique_element_ids" type="boolean">
  If `true`, assigns UUIDs to element IDs, guaranteeing uniqueness (useful when used as database primary keys). If `false`, assigns a SHA-256 hash of the element's text as its ID. Default: `true`.
</ParamField>

<ParamField body="is_dynamic" type="boolean" required>
  Must be `true` to enable dynamic routing of pages to Fast, High Res, or VLM as needed for optimal performance and cost.
</ParamField>

<ParamField body="allow_fast" type="boolean" required>
  Must be `true` to allow routing of pages to Fast partitioning for better performance and cost savings.
</ParamField>

<RequestExample>
  ```python Python SDK theme={null}
  auto_partitioner_workflow_node = WorkflowNode(
      name="Partitioner",
      subtype="vlm",
      type="partition",
      settings={
          "provider": "<provider>",
          "provider_api_key": None,
          "model": "<model>",
          "output_format": "<output-format>",
          "format_html": <True|False>,
          "unique_element_ids": <True|False>,
          "is_dynamic": True,
          "allow_fast": True
      }
  )
  ```

  ```json cURL theme={null}
  {
      "name": "Partitioner",
      "type": "partition",
      "subtype": "vlm",
      "settings": {
          "provider": "<provider>",
          "provider_api_key": null,
          "model": "<model>",
          "output_format": "<output-format>",
          "format_html": <true|false>,
          "unique_element_ids": <true|false>,
          "is_dynamic": true,
          "allow_fast": true
      }
  }
  ```
</RequestExample>
