Treating each platform copy as a build artifact works well, and the manifest is a good place for one more field: the product version each screenshot was captured from. Technical articles usually go stale through their images before their text, and with five copies out there, a field like captured_from: v2.3 lets you find every post that needs new screenshots when the UI changes. Video needs its own rule per target too. Many email clients won't play an embedded video, so the newsletter version should get a poster image that links to the hosted clip, and your destination check should confirm that image actually renders.