bulk_upload
Process all journal page photos in a folder at once: OCR each image, store captures, and file unmatched or duplicate pages as Wild Art for later review.
Instructions
Process all journal page photos in a folder at once.
Finds every image file (JPG, PNG, TIFF, BMP, WebP) in the folder and runs
the full upload pipeline on each one. Non-image files are skipped silently.
Accept-by-default: no page is skipped. Pages without a readable template
ID, or whose page ID is already taken, are stored as Wild Art (WA)
entries with the reason recorded — review them afterwards with
list_by_tag(entry_type="WA") and promote_capture(). Pass volume=N when
importing a second (or later) journal.
Note: by default this path uses local Tesseract OCR, which performs
poorly on cursive handwriting. For a handful of pages, share photos in
chat and store them via manual_capture instead. For large handwritten
imports, the user can enable cloud OCR with their own key
(KSJ_OCR_BACKEND=azure — see README); it is off by default and every
run states when it is active.
Args:
folder_path: Absolute path to the folder containing journal photos.
force: Set to True to REPLACE existing captures with matching
template IDs (default False — the new page is filed as
WA with reason id_conflict; the existing one is untouched).
Returns a summary table of all processed images.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | ||
| volume | No | ||
| folder_path | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |