Table
🤖 AI Drafted (Not reviewed)
Extract tables from images
|
|
| Tool id |
table_extract |
| Category |
vision |
| Uses a language model |
yes |
| Needs a generative model |
yes |
| Runs over many items |
yes |
| Item handling |
batch |
| Structured output |
yes |
| Human-verified |
not yet |
What it reads
| Port |
Type |
Required |
What it is |
Files (files) |
files |
yes |
Image files |
Context (context) |
any |
no |
Previous text/transcription |
Metadata (metadata) |
json |
no |
Existing metadata |
Documents (documents) |
json |
no |
Document metadata |
What it emits
| Port |
Type |
Required |
What it is |
Text (text) |
text |
— |
Raw text response |
Value (value) |
any |
— |
Parsed value |
Texts (texts) |
array |
— |
Per-item texts |
Values (values) |
array |
— |
Per-item values |
Results (results) |
json |
— |
Full results |
Records (records) |
array |
— |
Per-document text records [{doc_id, text}, …]. |
Artifacts (artifacts) |
json |
— |
Artifact IDs |
Options
| Option |
Type |
Default |
What it does |
choices |
array |
— |
Valid choices. (Not shown in the editor.) |
chunk_size_chars |
integer |
0 |
Chunk large input text above this character budget (0=auto). |
force_ocr |
boolean |
no |
Force image processing instead of existing text. |
include_headers |
boolean |
yes |
Detect header row. |
match_mode |
string |
prefer |
Match mode. One of: prefer, strict, inform. |
max_image_dimension |
integer |
8192 |
Max image size. |
max_items |
integer |
10 |
List max items. |
max_tokens |
integer |
8192 |
Max response. |
max_words |
integer |
50 |
Word limit. |
metadata_field |
string |
— |
Save to field. |
model_name |
string |
— |
Model name. |
output_format |
string |
text |
Response format. One of: text, boolean, choice, number, words, list, json. |
output_style |
string |
csv |
Table output format. One of: csv, json_rows, json_columns, markdown. |
prompt |
string |
— |
Custom prompt. |
provider_name |
string |
— |
LLM provider. One of: openai, anthropic, google, ollama, lmstudio, groq, together, deepseek, mistral, openrouter, dashscope, xai, perplexity, fireworks, deepl. |
quality_gate |
boolean |
yes |
Stop the run if output is unreadable. |
reference_values |
object |
— |
Known values to match. (Not shown in the editor.) |
save_to_db |
boolean |
yes |
Save to library. |
save_to_file |
boolean |
no |
Export to file. |
temperature |
number |
0.7 |
Creativity. |
thinking_mode |
string |
off |
Chain-of-thought reasoning depth. One of: off, short, medium, long. |
vision_mode |
string |
auto |
Vision engine. ‘auto’ picks based on the resolved provider: apple → Apple Vision OCR; anything else → LLM vision path. One of: auto, apple, llm. (Not shown in the editor.) |
The prompt it sends
This is what the tool asks a model, with every option left at its default. Changing the options above changes this text.
Extract the table data from this image as CSV format.
The first row contains column headers.
Rules:
- Use comma as separator
- Wrap EVERY field in double quotes, without exception. A ledger column full
of dates and comma'd lists produces ragged rows the moment quoting is
optional, and the model is the only place that can get it right — nothing
downstream can recover the column boundaries afterwards.
- Escape a literal double quote inside a field by doubling it ("")
- Every row must have exactly the same number of fields as the header row;
emit "" for an empty cell rather than dropping it
- First row is the header row if one is visible
- One row per line
Return ONLY the CSV content, no code fences or explanations.
If the image contains no table, output exactly NO TABLE and nothing
else. That is a correct and complete answer — never invent rows to fill the
reply.
A table is data laid out in rows and columns as part of the DOCUMENT. It is not
a measuring ruler or scale bar laid beside the page, a colour calibration
chart, a strip of page or folio numbers, a margin, or any other photographic
furniture that belongs to the act of scanning rather than to the document.