Records and images actually have a many-to-many relationship, but on the LIV it's been defined as a one-to-many; using the URL as an ID for the image was causing subsequent references to the same image to overwrite the previous record associations, so some records did not have any images (or at least were missing some of their images).
This also caused long loading times because the image would be requested for every record but only shown for the last. Using an ID that is unique to the resource, record, and image means that images are repeated but that's probably clearer anyway.
Records and images actually have a many-to-many relationship, but on the LIV it's been defined as a one-to-many; using the URL as an ID for the image was causing subsequent references to the same image to overwrite the previous record associations, so some records did not have any images (or at least were missing some of their images).
This also caused long loading times because the image would be requested for every record but only shown for the last. Using an ID that is unique to the resource, record, and image means that images are repeated but that's probably clearer anyway.