A YouTube post now has a Thumbnail row at the top of its settings. Upload an image and it becomes the video's thumbnail once the upload finishes; leave it on Automatic and YouTube picks a frame, as before. The preview shows your thumbnail in the player.
The thumbnail is sent after the video, so if YouTube refuses it (custom thumbnails need a verified channel) the video still publishes and the post's status says why.
Over the API, the thumbnail is platformOptions.youtube.thumbnailUrl on a post, or the same /posts/{id}/cover call that sets an Instagram or Pinterest cover image, with set_post_cover over MCP and orbitwrite cover --image on the CLI.