I've got a basic image transform in a template:

{% set crop = {
    mode: 'crop',
    width: 560,
    height: 550,
    quality: 80
} %}

<img src="{{ image.getUrl(crop) }}">

Once the transforms are generated for a page, it seems like changes to the focal point don't trigger a regeneration of the image transform. Altering the template code (eg. from quality: 80 to quality: 79) does trigger the regeneration of the image.

Is this expected behavior?

  • That isn’t expected behavior, no. We’ll look into it and get back to you. Commented Dec 6, 2018 at 21:13
  • @BrandonKelly Was this ever addressed? I have a related question: if I'm defining a transform in a template (eg. {% set crop = { width: 640, height: 640 } %}), do I need to specify the position parameter and somehow pass the focal point to it, or does an image transform automatically look up the focal point of the image?
    – Sandwich
    Commented May 5, 2019 at 20:09

1 Answer 1


Changing a focal point will delete all the transform files as well as transform index entries, so I suspect that you're just seeing cached data.

The reason why it works when changing quality is that that will actually affect the path where the transform is located, so the browser will actually have to look for the new file instead of assuming that the cached version is safe to use.

  • If this is the case (and I'm not ruling it out), then the first call to the re-focal-pointed image would never be cached, since it's a direct (API?) call to Craft to regenerate the image, and the path is wildly different. I'll have to retest to see if this is happening.
    – Sandwich
    Commented Dec 9, 2018 at 9:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.