Skip to content

auto_mode_configuration accepted by v2 API but triggered_auto_mode is always false — is auto_mode actually implemented in v2? #1106

@haseebrj17

Description

@haseebrj17

Describe the bug

auto_mode_configuration is defined in the v2 SDK types (ProcessingOptionsAutoModeConfiguration in parsing_create_params.py), accepted by the /api/v2/parse and /api/v2/parse/upload endpoints without error, and the response includes a triggered_auto_mode field in per-page metadata — but it is always false for every page, across every configuration we tested.

We ran 6 separate parse jobs against a 45-page investment PDF that contains tables, images, charts, and mixed layouts. We tested:

Config Rules Description Triggered pages
minimal (JSON endpoint) 1 rule table_in_page: true → agentic 0 / 45
minimal (upload endpoint) 1 rule Same rule via /api/v2/parse/upload multipart 0 / 45
booleans 3 rules image_in_page, table_in_page, catch-all 0 / 45
strings 13 rules Full config, numeric thresholds as strings 0 / 45
integers 13 rules Full config, numeric thresholds as integers 0 / 45
raw 13 rules Direct raw httpx request 0 / 45

Every single page across all 6 jobs returned triggered_auto_mode: false and cost_optimized: false. No page was ever routed to a different tier. The document clearly has tables and images (many pages have confidence scores suggesting layout detection ran), yet even the simplest boolean rule (table_in_page: true) never fired.

The core question: Is auto_mode_configuration actually functional in v2, or is it a v1-only feature that's been carried forward in the type definitions but not wired up on the backend?

Files

The test PDF is 2017.02 Industrial Parks US.pdf (3.5 MB, 45 pages) — a commercial real estate investment document with tables, charts, images, and mixed text layouts.

Job IDs

All jobs completed successfully (HTTP 200, status=COMPLETED):

  • pjb-hq4yan4h70a0x57uvctvh63mauvc — minimal config, JSON endpoint (/api/v2/parse)
  • pjb-r47vfdbog8c9mer9w524251ea02n — minimal config, upload endpoint (/api/v2/parse/upload)
  • pjb-f7w0xazjupd34fnmur1owktqdqfw — booleans-only config
  • pjb-uvck1c87hkpwaqqfkzcyb6ygm10f — 13 rules, numeric values as strings
  • pjb-5zwejvm1ib84192y1y3kabd6e8w0 — 13 rules, numeric values as integers
  • pjb-57s0l7cv35h3s4412nnpakjktf5k — raw httpx request

Client

  • Python Library (llama_cloud v2 SDK)
  • API (raw httpx requests to /api/v2/parse and /api/v2/parse/upload)

Additional context

What we sent (minimal example — single boolean rule)

{
  "file_id": "ea1147b0-3079-4626-b0a1-1ef32e635373",
  "tier": "cost_effective",
  "version": "latest",
  "disable_cache": true,
  "processing_options": {
    "auto_mode_configuration": [
      {
        "table_in_page": true,
        "parsing_conf": {
          "version": "latest",
          "tier": "agentic"
        }
      }
    ]
  }
}

What the API returned (per-page metadata, same pattern for all 45 pages)

{
  "page_number": 5,
  "confidence": 0.952,
  "cost_optimized": false,
  "original_orientation_angle": 0,
  "triggered_auto_mode": false
}

Observations

  1. The API accepts auto_mode_configuration without error (no 400/422)
  2. The response includes triggered_auto_mode in per-page metadata — suggesting the field exists
  3. But triggered_auto_mode is always false regardless of rules
  4. No parsing_mode or tier field appears in per-page metadata to show what tier was actually used
  5. The confidence field varies per page (0.0–1.0), suggesting some layout analysis did run
  6. We tried both endpoints (/api/v2/parse with file_id and /api/v2/parse/upload with multipart) — same result
  7. We tried integers vs strings for numeric thresholds — same result
  8. cost_optimized is always false despite being returned
  9. The SDK types (ProcessingOptionsAutoModeConfiguration) have full type definitions for all trigger fields, but none of them appear to be evaluated server-side

What we expected

Pages with tables should match table_in_page: true and be routed to the agentic tier specified in parsing_conf. At minimum, triggered_auto_mode should be true for those pages.

SDK version

llama_cloud (latest pip install as of 2026-02-08)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions