Не существует CSS-свойства background-opacity, но вы можете подделать его, вставив псевдоэлемент с обычной непрозрачностью, равной точному размеру элемента, стоящего за ним.
div ( width: 200px; height: 200px; display: block; position: relative; ) div::after ( content: ""; background: url(image.jpg.webp); opacity: 0.5; top: 0; left: 0; bottom: 0; right: 0; position: absolute; z-index: -1; )