Image wasn't persisting because transient model write was in the same transaction. Added cr.commit() after saving image to ensure it's available when WC downloads it. Added size/type logging to trace image data flow. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>