You’re missing the step where you upload the image to bluesky as a blob. You can’t use the url of the images original location. You have to upload it to bluesky as a blob, then use the blob ref link when creating your post.
but I was having issues with the “image” code in the above example, so I used the image json code from the api: Creating a post | Bluesky
I’ll also note, I used Make’s ‘Image’ module to convert my images to jpeg first… not sure if that’s totally necessary, but I was having some issues uploading my image to bluesky until I did this.