The oEmbed protocol is used by a number of sites to make it easier to get thumbnail images or inline video player code for a foreign-hosted media entry that we've just got a URL for. We use this in StatusNet to fetch previews and video embedding for remote media.
oEmbed data can be read via JSON or XML formats; this may be a good candidate for a custom API module like the opensearch suggestions.
Note that there's an oEmbed proxy service which provides basic metadata on articles for Wikipedia:
but it does a poor job on images, where it's really more important:
We should be able to expose most files as 'photo' or 'video' types, which lets us include a thumbnail URL, and inline HTML for Ogg video players etc.
Compare with Flickr and YouTube entries:
There are also optional 'maxwidth' and 'maxheight' parameters, which can be used to specify what size thumbnail or inline image/video player you want; the resulting photo/thumb URL or HTML should match.
<link rel>s can specify the JSON and/or XML discovery URLs for the item on the current page, and should be provided to third-party services will pick it up.
I _think_ we should be able to make the video handling pretty general by grabbing HTML fragments from the media handler, though I'm not 100% sure.
* T45436 Twitter cards
* T31242 becoming an oEmbed consumer