Skip to main content
Core processing settings change the primary extraction result. They are top-level request fields on /extract, separate from extensions, which add derived outputs such as chunks or alternate formats.

Refinement

Refinement is off unless you enable it with refine. It accepts a boolean, an array of modes, or an object with modes and an optional prompt:
Refinement changes markdown, bounding_boxes, and table content in place; there is no second response tree to merge.

Refinement prompts

  • refine.prompt — a string applies to the whole refinement pass; an object keyed by mode ({"tables": "...", "text": "..."}) scopes guidance per mode. Prompt keys must be a subset of the requested modes, and layout does not accept a custom prompt.
  • refine_prompt — a sibling alias for the same guidance, convenient when you pass refine as a boolean or array. refine.prompt wins when both are present.

Selection marks

detect_selections controls the specialized pass for checkboxes, radio buttons, handwritten checkmarks, X marks, and similar controls. It defaults to true. Detected states appear on the relevant bounding-box elements and in bounding_boxes.SelectionMarks when marks are available.

Prompts

  • additional_prompt gives the extraction engine document or domain context.
  • refine.prompt / refine_prompt apply only to refinement.
  • custom_image_prompt applies to figure and chart interpretation.
Prompts guide extraction; they do not change the response schema.

Processing versus extensions

Extract API

Complete request and response contract.

Bounding Boxes

Table cells, words, categories, and coordinates.