Settings File
LumiFind stores every user preference in a single JSON file: settings.json. This page documents every key LumiFind reads, its type, default value and purpose. So, you can safely review, back up or hand-tune your configuration (for example on headless servers running Console mode).
File Location
%UserProfile%\.lumifind\settings.json
macOS / Linux
~/.lumifind/settings.json
The fastest way to open the folder is Settings → Open Settings Folder. For a full overview of the directory see Folders and Files.
Edit with care! Invalid values can prevent indexing or searching from working. Before editing: close LumiFind, keep a backup copy of the file, and run a validation afterwards (see Validating the file). Keys marked as managed are written automatically by the app and should not be edited by hand.
Structure Overview
{
"generic": { ... },
"model_info": { ... },
"indexing_settings": { ... },
"search_settings": { ... },
"visual_settings": { ... }
}
All five top-level sections are required; the validator complains if any of them is missing. A few extra keys (last_folder, last_updated) are added automatically by the app.
Section: generic
language
string
"en"
Interface language code.
auto_detect
boolean
true
Detect and use the operating system language on first run.
fallback_language
string
"en"
Fallback language for missing translations.
auto_check_updates
boolean
true
Check for updates when the application starts.
advanced_mode
boolean
false
Show advanced options in the Settings window.
backup_include_thumbnails
boolean
true
Include thumbnails when creating settings backups.
last_backup_date
string
""
Managed. Timestamp of the last backup.
Section: model_info
doc_model_enabled
boolean
true
Enable the document embedding model.
doc_model_name
string
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
Hugging Face model used for document embeddings. See default models and custom models.
image_model_enabled
boolean
false
Enable image search.
image_model_name
string
openai/clip-vit-base-patch32
Hugging Face model used for image embeddings.
voice_model_enabled
boolean
false
Enable voice transcription and search.
voice_model_name
string
openai/whisper-tiny
Hugging Face Whisper model used for transcription.
video_model_enabled
boolean
false
Enable video search (audio track analysis).
frame_model_enabled
boolean
false
Enable frame detection (object detection inside videos/images).
frame_detector_type
string
opencv_ssd_coco
Object detector. Supported values include opencv_ssd_coco, detr, yolov8n, yolov8s.
frame_model_size
number | null
null
Optional override of the estimated download size shown in the interface.
whisper_language_code
string
""
Force transcription language (e.g. "en", "tr"). Empty = auto-detect.
hugging_face_token
string
""
Access token for gated or private Hugging Face models.
Feature switches are gated by your license. If a feature is not part of your license, enabling its switch has no effect.
Section: indexing_settings
Paths and files
index_folder
path
~/.lumifind/lumifind_db
Root folder holding all analysis data.
db_file
path
~/.lumifind/lumifind_db.sqlite3
SQLite database file tracking analyzed files. The GUI Setup Wizard may place it inside the index folder instead.
thumbnail_folder
path
~/.lumifind/thumbnails
Folder for thumbnail images.
models_folder
path
~/.lumifind/models
Folder where downloaded models are cached.
image_cache_folder
path
= index folder
Optional separate location for the image embedding cache.
file_formats
list of strings
(see example)
File extensions to analyze, e.g. ".pdf", ".jpg".
Analysis parameters
doc_batch_size
integer
1000
Documents processed per batch.
image_batch_size
integer
5
Images processed per batch (GUI wizard uses 10).
chunk_size
integer
500
Text chunk size in characters.
chunk_overlap
integer
50
Overlap between consecutive text chunks.
voice_chunk_duration
integer
30
Audio chunk length in seconds.
frame_sample_rate
integer
5
Analyze one frame every N seconds. Must be a positive integer (GUI wizard uses 25).
frame_sampling_enabled
boolean
true
Enable frame sampling during video indexing.
object_confidence_threshold
number (0–1)
0.5
Minimum confidence for detected objects (GUI wizard uses 0.25).
Feature toggles
process_email_attachments
boolean
true
Index attachments found in email files.
pdf_ocr_fallback
boolean
false
Use OCR when a PDF contains no extractable text. See Dealing with scanned documents.
treat_images_as_documents
boolean
false
OCR images and index them as documents. See Dealing with documents as images.
enable_exif_geocoding
boolean
true
Reverse-geocode GPS coordinates from EXIF metadata.
enable_thumbnails
boolean
true
Generate thumbnails for analyzed images.
auto_export_logs
boolean
false
Save session logs to the logs folder after each run.
show_file_info
boolean
false
Show detailed file information in results.
Maintenance and file watching
file_watching_enabled
boolean
false
Watch folders for changes and update the index automatically.
file_watching_interval
integer
60
Polling interval in seconds.
checkpoint_interval
integer
0
Save an indexing checkpoint every N files; 0 disables checkpoints.
oldest_file_date
date string
"1970-01-01"
Skip files created before this date while indexing.
Managed keys — do not edit: indexed_folders, excluded_folders, tracked_files (lists maintained by the app) and previous_doc_model (used internally during model changes).
Section: search_settings
max_results
integer
100
Maximum number of results returned per search.
max_results_per_file
integer
1
Maximum matches returned per file.
min_score
number
0
Discard results below this similarity score.
use_metadata_mode
integer
0
How image search balances metadata against visual content: 0 = balanced (default), 1 = prioritize metadata filters, 2 = prioritize visual matching.
image_top_k
integer
5
Number of candidate images considered per query stage.
metadata_boost_weight
number
0.3
Weight given to metadata matches when ranking.
min_file_size_mb
number
0.0
Ignore files smaller than this size.
max_file_size_mb
number
100.0
Ignore files larger than this size (GUI wizard uses 250).
oldest_file_date
date string
"1970-01-01"
Exclude files created before this date from results.
file_formats
list of strings
(mirror of indexing)
Restrict searches to these extensions.
Section: visual_settings
log_level
string
"INFO"
Logging verbosity (e.g. DEBUG, INFO, WARNING).
date_format
string
"YYYY-MM-DD"
Date display format (GUI wizard uses DD.MM.YYYY).
time_format
string
"HH:mm:ss"
Time display format.
file_size_unit
string
"MB"
Preferred unit for file sizes.
show_thumbnails
boolean
true
Show thumbnails in result lists.
show_original_images
boolean
false
Show original images instead of thumbnails where possible.
add_timestamps
boolean
true
Display timestamps next to entries.
Example: minimal settings.json
This is what Console mode's guided setup produces:
{
"generic": {
"language": "en"
},
"model_info": {
"hugging_face_token": "",
"doc_model_enabled": true,
"doc_model_name": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
"image_model_enabled": false,
"image_model_name": "openai/clip-vit-base-patch32",
"voice_model_enabled": false,
"video_model_enabled": false,
"frame_model_enabled": false,
"frame_detector_type": "opencv_ssd_coco",
"frame_model_size": null
},
"indexing_settings": {
"index_folder": "~/.lumifind/lumifind_db",
"db_file": "~/.lumifind/lumifind_db.sqlite3",
"thumbnail_folder": "~/.lumifind/thumbnails",
"models_folder": "~/.lumifind/models",
"file_formats": [WORK".txt", IN".md", PROGRESS]".pdf", ".docx"],
"doc_batch_size": 1000,
"image_batch_size": 5,
"chunk_size": 500,
"chunk_overlap": 50,
"pdf_ocr_fallback": false,
"treat_images_as_documents": false,
"auto_export_logs": false,
"show_file_info": false,
"enable_exif_geocoding": true,
"frame_sample_rate": 5,
"object_confidence_threshold": 0.5
},
"search_settings": {
"max_results": 100,
"max_results_per_file": 1,
"min_score": 0,
"use_metadata_mode": 0,
"file_formats": [".txt", ".md", ".pdf", ".docx"],
"min_file_size_mb": 0.0,
"max_file_size_mb": 100.0
},
"visual_settings": {
"log_level": "INFO",
"date_format": "YYYY-MM-DD",
"file_size_unit": "MB"
}
}
Note: Paths may be written either absolute or starting with ~/; LumiFind expands both. The GUI Setup Wizard creates the same structure but may pick different initial values for a few keys (batch sizes, sampling rate and date format).
Validating the file
After editing, always validate:
lf --console --validate-config
The check reports:
generic.language is a string; index_folder, db_file are string paths; file_formats is a list.
frame_detector_type is a string and frame_model_enabled is a boolean (when present).
frame_sample_rate is a positive integer.
object_confidence_threshold is a number between 0 and 1.
The whole file is valid JSON and fully serializable.
Exit code 0 means valid, 1 means problems were found (details printed to the console).
Resetting to defaults
lf --console --setup, or choose menu option Settings (create/show) → Create/Reset.
GUI: re-run the Setup Wizard via --welcome-wizard or reinstall/reset from Settings.