// read:
{
	"id": 123,
	"media_type": "image/jpeg",
	"width": 500,
	"height": 300,
	"title": { "__": "abc", ... },
	"description": { "__": ... },
	"md5_hash": "123456..."
}
// update:
{
	"title": ...,
	"description": ...
}
// create:
{
	"source": "http://...",
	"title": { "__": "abc", ... },
	"description": { "__": ... },
}
// supported source protocols:
http://
https://
ftp://
data:image/jpeg;base64,...
data:image/png;base64,...
data:image/gif;base64,...