Required Parameters Lux

Here is a list of the required parameters for an image optimization request. Note that this is just one of the parts of the multipart request.

An example can be seen below, we will go through the parameters in more detail.

json_contents = {
        "job_name": <job_name>,
        "image_file_hash": <image_file_hash>,
        "original_image_size_in_bytes": <original_image_size>,
        "precursor_name": <image_file_type>,
        "relative_path": <relative_path>,
        "expected_optimized_image_filename": <somewhere/data>,
        "max_overhead": <max_overhead>
        "domains": [<domain1>],
        "force_reprocessing": <False/True>,
        "shimmercat_job_record": {
            "task_thread": <image_file_hash>,
            "adjustments": {<desired adjustments for master, shifter, and encoder>}


A name to identify multiple image submissions.

pattern: ^[a-z0-9+-]{4,64}$
minLength: 4
maxLength: 64


The sha-1 hash of the image. Must match the hash used in the URL.


The original size of the image in bytes. This must be the unencoded length of the file field. This field is optional.

precursor_name (string)

Output format + purpose. All the values currently supported are for the purpose “small size”.

The enumerated admissible value formats are as follow:

  • webp0: WebP
  • prjpg: Standard, old good JPEG images
  • pngzo: PNG
  • jp2o0: JPEG2000
  • avifo0: AVIF image format


The file name, relative to the domain, as reported in ShimmerCat’s job record.

For consumers of the API different than ShimmerCat, we recommend using here a file-name-like identifier, including directory components, that can be later used to address this particular image if talking to our technical support.


A filesystem name for the optimized image, once optimized. You can use here any name that would uniquely identify the resulting image once you download it.

This field is used by the API to name where the optimization submission helper (“usher”) should put the optimized file once acquired. If you are using the API without our submission helper, you can fill in whatever value makes sense to you here.


Domain connected to the token.

force_reprocessing (boolean)

Undocumented field. Do not use.