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

# Pipelines

> Choose between cloudsquid-flash and cloudsquid-pro based on your accuracy and speed requirements.

A pipeline is the AI model configuration used for an extraction run. You set a default pipeline per extraction table via the settings API, and it applies to every run on that table unless overridden.

## Comparison

| Pipeline              | Speed           | Accuracy | Best for                                                         |
| --------------------- | --------------- | -------- | ---------------------------------------------------------------- |
| `cloudsquid-flash`    | Fastest         | Good     | High-volume, cost-sensitive, simple schemas                      |
| `cloudsquid-flash-v3` | Fast            | Better   | **Default starting point** — good balance of speed and quality   |
| `cloudsquid-pro-v2`   | Slower (10–30s) | High     | Complex documents, nested schemas                                |
| `cloudsquid-pro-v3`   | Slower          | Highest  | Dense or visually complex layouts, highest accuracy requirements |

<Note>
  Start with `cloudsquid-flash-v3` for all new tables. Switch to `cloudsquid-pro-v3` only if accuracy on complex document layouts is insufficient.
</Note>

## Bounding boxes

Enabling `bounding_boxes` adds source-location metadata to each extracted value — a reference back to the exact position in the original document. Useful for auditability and human review workflows, but increases processing time regardless of pipeline.

## How to set a pipeline

Use the extraction settings endpoint to update a table's active pipeline.

<CodeGroup>
  ```python Python theme={null}
  import requests

  requests.patch(
      "https://api.cloudsquid.io/api/projects/my-project/tables/TABLE_ID/extraction-settings",
      headers={"X-API-Key": "YOUR_API_KEY"},
      json={
          "active_pipeline": "cloudsquid-flash-v3",
          "bounding_boxes": False,
          "review_mode": False
      }
  )
  ```

  ```bash cURL theme={null}
  curl -X PATCH \
    "https://api.cloudsquid.io/api/projects/my-project/tables/TABLE_ID/extraction-settings" \
    -H "X-API-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"active_pipeline": "cloudsquid-flash-v3", "bounding_boxes": false, "review_mode": false}'
  ```
</CodeGroup>

<CardGroup cols={2}>
  <Card title="Table Types" icon="table" href="/concepts/table-types">
    How Extraction, Reconcile, and Storage tables work together.
  </Card>

  <Card title="Async Run Pattern" icon="repeat" href="/concepts/async-run-pattern">
    The three-step upload → start → poll flow.
  </Card>
</CardGroup>
