Video embeds not rendering in emails

Am I doing something wrong?

If I embed a video in a post, what shows in the corresponding email is an empty outlined placeholder-like block where the video is meant to be. Is this expected behaviour?

In a Substack email, there is a screenshot or animated GIF clip of the video in that spot, which is better than an empty placeholder.

1 Like

Does anybody have a solution?

Something sounds like it’s not working correctly.

  1. Are you using the Video card or embedding a 3rd party video?
  2. If you’re using the Video card, which browser are you using and do you get any errors in the developer tools console when uploading a video?
  3. Which email client are you using?

For the native video card the editor should be capturing a screenshot automatically as part of adding the video, which should then be used when sending an email. If that’s not happening, something is going wrong somewhere along the line.

No, I’m using the HTML card and inserting the embed code. It works in the browser.

Should I not be doing this?

Yeah, that won’t work in emails. HTML cards render their contents exactly as entered for both the website and email, however video embeds like the type you can copy/paste into a HML card typically work by using javascript which is not supported in emails.

If you want email-friendly video embeds you’ll need to use the native Video card or an Embed card with a service that provides thumbnails as part of the embed metadata (e.g. YouTube or Vimeo).

What if I’m using a different (premium) service for video embeds but one that creates the thumbnail and animated image for, presumably, this reason?

How do I insert this into the post/email? More specifically, how do I show the video in the post and the screenshot in the email?

My guess, as a workaround, might be to be publish the post to email with the thumbnail and, after it’s sent, replace the thumbnail with the video.

It’s a bit labour intensive, but I can’t find another way.

Just to confirm, you tried the embed card, right? (Not just the html card.) I’m not sure that’ll work, but it’d be worth checking!

The embed card doesn’t work even in the post.

If I use the video code and paste it into the video card, all that happens is an external link to the video is given, no embedding.

Is there a Code Injection that would allow me to add an option to the video embed card under ‘other’? Currently, I use bunny.net, which is excellent, but the Ghost video card doesn’t recognise it. Bunny.net includes everything required for the video card (and for email).

If I add the embed code to a video card currently, it simply creates an external link to the video, rather than embedding the video.

Using ChatGPT, I managed to get the Bunny.net direct URL to embed as a video via Code Injection. However, I can’t get it to use the kg-width-wide class.

Any idea how this can be achieved?