Hi @Christian8, welcome to the forum!
If you check out the example from st.column_config.ImageColumn - Streamlit Docs, you’ll see that for base64 images, you need to include data:image/png;base64,
before the actual base64 contents. If you modify your image_to_base64 function to do that, it should work fine
def image_to_base64(img):
if img:
with BytesIO() as buffer:
img.save(buffer, "png")
raw_base64 = base64.b64encode(buffer.getvalue()).decode()
return f"data:image/png;base64,{raw_base64}"