MediaReference is the pointer stored on a run in place of the media bytes. It records which backend holds the object and enough metadata to serve it without a further lookup.
Metadata
Image, Audio, Video and File take a metadata dict. It is written onto the stored object and kept in full on the reference.
.meta.json file beside the object. The reference keeps the whole dict either way.
Over HTTP, send it to the agent or team run route as files_metadata, a JSON array matched to files[] by position. The array must stay under 8000 bytes or the request is rejected with 422.