agent

Image Processor

01KFFC66JTGWW67M3D5ZP8YXEV

Properties

actions_required
  • file:view
  • file:create
  • file:update
  • entity:view
  • entity:update
description
Creates large, medium, and thumbnail versions of JPEG images. Supports batch processing for multiple images.
endpoint
https://image-processor.arke.institute
endpoint_verified_at
2026-01-21T04:14:51.435Z
input_schema
oneOf
  • required
    • entity_id
  • required
    • entity_ids
properties
entity_id
description
Single JPEG file entity to process (for backward compatibility)
type
string
entity_ids
description
Array of JPEG file entity IDs to process (preferred for batch processing)
items
type
string
type
array
options
description
Processing options
properties
batch_size
default
10
description
Number of images per Lambda call (default: 10)
type
number
lambda_concurrency
default
5
description
Maximum parallel Lambda calls (default: 5)
type
number
quality
description
JPEG quality settings for each version
properties
large
default
90
description
Quality for large version (2400px max)
type
number
medium
default
85
description
Quality for medium version (1288px max)
type
number
thumbnail
default
80
description
Quality for thumbnail version (256px max)
type
number
type
object
type
object
required
  • entity_id
type
object
output_description
For each input JPEG file entity, creates up to three new file entities — large (2400px max dimension, quality 90), medium (1288px max dimension, quality 85, optimized for OCR), and thumbnail (256px max dimension, quality 80). Each derivative is a separate JPEG file entity uploaded to the same collection as the source. Resizing preserves aspect ratio using a fit-inside strategy, and versions are skipped if the source image's longest side is already at or below the target dimension (no upscaling is performed). Derivative filenames follow the pattern '{original_name}_{suffix}.jpg' where suffix is 'large', 'medium', or 'thumb'. To find a source image's derivatives, follow its 'has_derivative' relationships. To find a derivative's original, follow its 'derived_from' relationship.
output_relationships
  • Each derivative file has a 'derived_from' relationship pointing to the source JPEG entity
  • The source JPEG entity gains a 'has_derivative' relationship pointing to each derivative file
  • These relationships are bidirectional — created in a single POST to /relationships with source_predicate 'derived_from' and target_predicate 'has_derivative'
  • To find all resized versions of an image: query the source entity's 'has_derivative' relationships
output_tree_example
source JPEG 'manuscript_page_042.jpg' (4800x3600) ├── file 'manuscript_page_042_large.jpg' (2400x1800, ~quality 90) ├── file 'manuscript_page_042_medium.jpg' (1288x966, ~quality 85) └── file 'manuscript_page_042_thumb.jpg' (256x192, ~quality 80) If the source were smaller, e.g. 'photo.jpg' (1000x800): ├── file 'photo_thumb.jpg' (256x205, ~quality 80) └── (large and medium skipped — source already smaller than 2400px and 1288px)
status
active
Image Processor | Arke