Documentation Index Fetch the complete documentation index at: https://mintlify.com/xcoder-es/media-cleaner-pro/llms.txt
Use this file to discover all available pages before exploring further.
The /api/status endpoint is a synchronous snapshot of the entire pipeline state at the moment of the request. It returns the status of every processing stage, live throughput statistics, the running and paused flags, and up to the last 1000 log messages. Poll this endpoint periodically to drive a dashboard UI, or call it once before launching a job to confirm no other job is already running.
Response fields
stages
array of StageInfo
required
Ordered list of all pipeline stages and their current execution state. Human-readable stage name, e.g. "Exact Duplicate Removal".
Short description of what the stage does.
One of: "pending", "running", "completed", "failed", "skipped".
Completion percentage from 0 to 100.
Number of items processed so far in this stage.
Total number of items to process in this stage.
ISO 8601 timestamp when the stage began, or null if it has not started yet.
ISO 8601 timestamp when the stage finished, or null if it has not completed yet.
Error message if the stage failed, otherwise null.
Live throughput and resource counters for the currently running job. Show ProcessingStats fields
Absolute path of the image file currently being processed, or null when idle.
Hex-encoded 64-bit difference hash of the current image, or null when not yet computed.
Running count of images classified as unique so far.
Running count of images classified as duplicates so far.
Number of images that could not be processed due to errors.
Current processing throughput in files per second.
Estimated seconds remaining until the job completes, based on current speed.
Current process resident memory usage in megabytes.
Current CPU utilisation as a percentage (0–100).
true when a job is actively executing; false when idle or after a job has finished or been cancelled.
true when a running job has been suspended via POST /api/control. The job remains in memory and can be resumed.
log_messages
array of LogMessage
required
Ring buffer of up to 1000 most recent log entries. Oldest entries are discarded once the buffer is full. ISO 8601 / RFC 3339 timestamp, e.g. "2024-06-01T10:23:45.123Z".
Log severity: "INFO", "WARN", or "ERROR".
Name of the pipeline stage that emitted the message, or "system" for lifecycle events.
Example
curl http://127.0.0.1:8080/api/status
{
"is_running" : true ,
"is_paused" : false ,
"stages" : [
{
"name" : "Exact Duplicate Removal" ,
"description" : "Removes byte-for-byte identical files using SHA-256 hashing." ,
"status" : "completed" ,
"progress" : 100 ,
"processed" : 3200 ,
"total" : 3200 ,
"started_at" : "2024-06-01T10:23:45.000Z" ,
"completed_at" : "2024-06-01T10:24:10.500Z" ,
"error" : null
},
{
"name" : "Perceptual Duplicate Detection" ,
"description" : "Detects visually similar images using dHash and Hamming distance." ,
"status" : "running" ,
"progress" : 38 ,
"processed" : 1216 ,
"total" : 3200 ,
"started_at" : "2024-06-01T10:24:10.501Z" ,
"completed_at" : null ,
"error" : null
}
],
"stats" : {
"current_file" : "/home/user/photos/2024/IMG_4821.jpg" ,
"current_dhash" : "F0A3C1B2D4E56789" ,
"unique_count" : 1128 ,
"duplicate_count" : 88 ,
"error_count" : 0 ,
"speed" : 134.7 ,
"eta_seconds" : 148 ,
"memory_mb" : 210 ,
"cpu_percent" : 72.4
},
"log_messages" : [
{
"timestamp" : "2024-06-01T10:23:45.123Z" ,
"level" : "INFO" ,
"stage" : "system" ,
"message" : "Job started"
}
]
}