Account Settings and API Behavior
Some of your account's behavior is configured once — most of it on the web app's profile settings page, one exception (Model Tier, below) only by the ImageToTable.ai team — rather than through this API. This page explains, for every such setting, exactly how it shows up in v1: whether the API follows it unconditionally, or lets you override it per request. This deliberately isn't spread thin across individual endpoint docs — it's collected here because the cross-cutting behavior is easy to miss if you only read one endpoint's reference page at a time.
The general rule
v1 reads your account's current configuration directly and applies it — there is no separate API-layer configuration system, and (with one deliberate exception, below) no way to override an account setting for a single request. This is intentional: maintaining two independent places to configure the same behavior (the web app and a parallel API config) would inevitably drift out of sync, and the goal is that the same account behaves the same way no matter which surface — web app, this API, or the Google Sheets Add-on — kicked off the processing.
Settings and their API behavior
| Setting | Web app behavior | v1 API behavior | Overridable per request? |
|---|---|---|---|
bbox auto-annotateauto_annotate_bbox | An account-level toggle. When on, every completed extraction automatically triggers a paid bbox annotation pass. | Followed exactly — batches created and processed through v1 obey this toggle with no exception. If it's on, you can be billed for bbox annotation even if you never call POST /documents/{document_id}/bbox yourself. | No. No request-level way to skip or force it. |
Processing qualitythinking_type | An account-level setting choosing a speed/quality tier for processing. | The one exception to the rule above. When you omit quality on POST /batches/{batch_name}/process, it falls back to your account's current setting — same behavior as the web app. But you can also pass quality: "fast" or quality: "high" on that request to override it for that call only. | Yes — the only setting on this page you can override per request. |
Data retentionauto_delete / auto_delete_after | An account-level setting for automatically deleting original images N days after processing. | Followed exactly — documents created through v1 are subject to the same retention policy as anything uploaded through the web app. | No. |
| Processing mode (internal rec_mode, exposed as mode) | The web app currently supports table-style extraction and full-document Word conversion. | v1 currently supports only mode=table (structured field extraction). Full-document conversion is planned but not yet available through the API. | Not applicable yet — there's only one value to choose from. When more modes ship, this will be a pure addition, not a behavior change to the existing value. |
Model Tiermodel_tier | Which AI model an account's extractions run on, and what each processed document costs: Standard (1 credit, the default for every account), Advanced (3 credits), or Premium (6 credits). Assigned by the ImageToTable.ai team — there is no tier selector in account settings. | Followed exactly. POST /batches/{batch_name}/process deducts credits at whatever rate the account's current tier costs, with no way to request a different tier for a single call. The tier is locked in at the moment that endpoint is called — a document already queued keeps the tier (and the credit cost) it was charged at even if the account's tier changes before that document finishes processing, and it's refunded at that same locked-in tier if it's later canceled or fails. See Account usage for how a non-Standard charge shows up in the credit ledger. | No. Stricter than every other row on this page: it isn't even a self-service account setting on the web app, so there's nothing to read and mirror per request — v1 has no tier parameter anywhere. |
Why not just add request-level overrides?
bbox auto-annotate and the retention policy are treated as account-level governance, not per-call preferences — they're the kind of "on for everything, or off for everything" switch where letting one API call quietly deviate from the account's standing configuration would create exactly the two-config-sources-drift problem this design avoids. quality is different: which speed/quality tier makes sense can genuinely vary call to call (this batch needs to go out fast, that one needs maximum accuracy), so it's treated as an operational choice rather than a governance setting, and opened up as the one override.
Model Tier goes a step further than "no per-request override" — it isn't even a self-service account setting. The other rows on this page are things you configure yourself on the profile settings page and v1 simply mirrors; Model Tier is a rate the ImageToTable.ai team assigns based on the workload an account is actually running, since it directly changes what each document costs. Exposing it as something a caller could flip per request (or even per account, unassisted) would let a single mistaken value silently multiply a batch's bill 3x or 6x with no confirmation step in between — the credits-are-real-money version of the same drift problem the rest of this page avoids.