As per description the models go completely mad when an image is passed as ByteIO to the prepare_image method, the solution is to add a name explicitly to the image like:
image_handle = lms.prepare_image(io.BytesIO(image_data), name="image.png")
please add it to your documentation or fix it i lost over 20 minutes to understand the madman behavior the vLLM was showing.