In each app
Checks
| Status | Check | Value |
|---|
Tags the crawler saw
tagsWho plays og:video
Support as of 26 Oct 2026| App | This URL | Notes | |
|---|---|---|---|
| iMessage | PLAYS | Autoplays the MP4 muted, looping. With autoplay off or Reduce Motion: poster with a play button. Apple's guidelines: the page itself under 1 MB; icon, image and video together under 10 MB. A video that can only be streamed (HLS) needs a tap. Device-tested 24 Oct 2026. Without og:image: a text bubble with the title, the domain and the site icon (seen 24 Oct 2026). | source |
| Discord | PLAYS | Inline player with a play button; does not autoplay. Device-tested 24 Oct 2026 on the Mac and iOS clients with a plain og:type website page and a direct MP4. Discord's docs only describe og:type video.* or twitter:card player; neither was needed. Without any og: or twitter: tags: no embed at all, just the link (device-tested 24 Oct 2026, Mac and iOS, on a page with only a <title> and meta description). Discord's docs say the <title> and meta description are used as a pair when there are no title and description tags; re-test. Discord's docs: MP4, WebM or MOV; the fetch returns at most 50 MB and must finish, measuring the image and video included, within 10 seconds. | source |
| Telegram | POSTER | Shows og:image. Tested 24 Oct; FxEmbed's claim that it plays did not hold. | source |
| X (Twitter) | POSTER | Link cards show og:image. The viral og:video posts were iMessage screen recordings. The large card needs twitter:card=summary_large_image; otherwise a small card with a square thumbnail. Without og:image: the small card with a placeholder; without any og: or twitter: tags: no card. On the large card X overlays the title in a dark strip at the bottom-left of the image and puts the domain under the card as 'From domain' (measured on x.com at desktop and 390 px phone widths, 24 Oct 2026). | source |
| POSTER | Uses og:image as the thumbnail; og:video not mentioned. | source | |
| Slack | POSTER | Classic unfurls read Open Graph and Twitter Card tags and show og:image; video players only for sites Slack handles itself, or through an app unfurl. | source |
| Bluesky | POSTER | Link cards carry a title, description and one thumbnail (app.bsky.embed.external); there is no video field. | source |
| Mastodon | POSTER | Video cards come from oEmbed, not og:video. | source |
| Signal | POSTER | Shows og:image with the title and description; no video. | source |
| POSTER | Reads og:image, title, description; no video seen. | source | |
| Matrix / Element | POSTER | Element shows the title, description and og:image that the homeserver's URL preview endpoint returns; no og:video support. | source |
| POSTER | Shows og:image. Tested 24 Oct; docs say an MP4 is only 'eligible' for inline play. Without og:image: a text card with the domain and title (Sharing Debugger, 24 Oct 2026). | source |
No evidence either way: Messenger, Instagram DMs, Threads, Reddit, Teams, Google Chat, Pinterest, Tumblr, Snapchat, WeChat, Line, Viber.
Stuck on an old preview?
Apps cache a preview by its URL, so after you fix the tags an app can keep showing the old card. Share the link with a new query string, such as ?v=2, and give a changed og:image or og:video file a new URL too.
- Discord: Caches previews for about 30 minutes; until then, resharing the same URL shows the old card. Share it with a new query string such as ?v=2, or look it up in the Embed Debugger (discord.com/developers/embeds). source
- Slack: Caches each URL across the service for about 30 minutes and documents no way to clear it. Wait that long, or share the link with a new query string such as ?v=2. source
- Bluesky: The card is saved into each post when it's written, so a post keeps its card; a new post fetches the page again. source
- Facebook: Paste the URL into the Sharing Debugger (developers.facebook.com/tools/debug); it scrapes the page again. Images are cached by URL and don't update unless the image URL changes. source
- Everyone else: no documented way to refresh; a new URL is the fix.
Questions
What does Check My OG check?
It fetches your page the way link-preview crawlers do (as Twitterbot and facebookexternalhit) and reads the Open Graph and Twitter Card tags. Then it downloads the og:image and og:video files and checks status, content type, size, codec, MP4 faststart and range requests. It draws the preview the way iMessage, Discord, X and Facebook show it and says which apps will play the video.
Which apps play og:video?
iMessage autoplays it, muted and looping. Discord shows an inline player you tap to play. X, Facebook, Telegram, WhatsApp, Slack, LinkedIn, Bluesky, Mastodon, Signal and Matrix show og:image instead, so og:image is what most people see.
What size should og:image be?
1.91:1 and at least 600 px wide. 1200×630 is the usual choice, and Apple suggests 900 px or more for Messages. If the page has a video, use its first frame.
How do I make a link preview video autoplay in iMessage?
Point og:video straight at an MP4 file, not a player page: H.264, yuv420p, faststart, served as video/mp4 over https with range requests. Apple's guideline is under 10 MB for the icon, image and video together, and under 1 MB for the page itself. Keep og:image as the poster for every other app.
Why does an app still show my old link preview?
Apps cache previews by URL. Discord holds one for about 30 minutes, Facebook fetches the page again from its Sharing Debugger, and Bluesky saves the card into each post. Most apps document no refresh at all, so share the link with a new query string such as ?v=2 and give a changed image or video a new URL.
Is there an API, and is it free?
Yes to both. GET /api/inspect?url=… returns JSON, or Markdown with &format=md; no key, 20 checks a minute. llms.txt and an OpenAPI file describe it for agents. The code is open source under the MIT license on GitHub.
For agents and scripts: curl "https://checkmyog.com/api/inspect?url=https://example.com/&format=md" returns a Markdown report; drop &format=md for JSON. Instructions: llms.txt · OpenAPI. Specs: Open Graph protocol · Apple TN3156 (Messages previews) · Discord link previews. No key; 20 checks a minute.
Fetches the page as Twitterbot and facebookexternalhit, then fetches and probes the og:video and og:image files on the server. The "This browser" checks and every player on this page run in your browser. App previews follow each app's layout and are approximate. Need a known-good page to test an app with? Paste https://checkmyog.com itself: its tags, video and poster pass every check.