Skip to main content
Because the artwork URL is treated as immutable. Every asset.url you send has to resolve to the same image forever, so an address that already served one design can return that design again. To change a design, publish it at a new URL and render with that one.

Why this happens

A render reproduces the image it is handed, and the address identifies the design, not the file behind it. Overwrite a file, keep its address, and nothing in the request has changed. This is confusing because:
  • Your storage shows the new design, so the upload looks finished.
  • Anything on your side that already fetched the earlier design goes on serving it, which is what an immutable address asks of it.

How to identify this issue

  • The render returns a design you already replaced.
  • You uploaded the new design over the old one and kept the same link.
  • Opening the artwork URL yourself returns the earlier image.

Solution

Give every version of a design its own address. Upload the new design under a key no earlier design has used, then send that URL as asset.url on Render a PSD mockup. A content hash in the filename makes this automatic: the address changes exactly when the bytes change, and never otherwise. Every field on asset is in Artwork placement.
A query string appended to the same file does not count. The file behind the address still changes, and a parameter is not a different image.

Google Drive

This is where the problem turns up most often. Replace file and Manage versions both keep the same shareable link, so the link goes on resolving to the design that was there first. Upload the new design as a new file and render with its link.
Do not run Replace file or Manage versions on a design a render request has already pointed at. The link outlives the replacement.

If you changed the PSD instead

Artwork is a render-time argument, so a new design never calls for the template to be uploaded again. A change to the PSD itself does, and Upload a PSD covers when.

Get more help

If the address is new and the render still returns the earlier design:
  1. Fetch the URL yourself and confirm which image it serves, using the checks below.
  2. Confirm the request carries the new URL, not one your application stored earlier.
  3. Read Errors for ASSET_UNREACHABLE and ASSET_BLOCKED.
  4. Contact support with the mockup uuid and the artwork URL.
If the length or ETag matches the old design, your storage is still serving it and the render is faithfully reproducing what it was given.
Digest the file and compare the result to the design you meant to publish. When they differ, fix the upload, not the render request.