Providers map images to per-backend content blocks, so the block rides the message seam beside the tool blocks and round-trips through session checkpoints. Untagged serde keeps old payloads loading; the new variant sits last so the field sets disambiguate. Exhaustive matches on Content across the adapters and views gained a mechanical Image arm; sending images is a later effort.