/extract, separate from extensions, which add derived outputs such as chunks or alternate formats.
Refinement
Refinement is off unless you enable it withrefine. 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, andlayoutdoes not accept a custom prompt.refine_prompt— a sibling alias for the same guidance, convenient when you passrefineas a boolean or array.refine.promptwins 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_promptgives the extraction engine document or domain context.refine.prompt/refine_promptapply only to refinement.custom_image_promptapplies to figure and chart interpretation.
Processing versus extensions
Extract API
Complete request and response contract.
Bounding Boxes
Table cells, words, categories, and coordinates.