Photo, screenshot, ad, or video: route the reference to a different output schema
The output you want from a reference depends on what you plan to do with it. A photo needs a visual description. A website screenshot needs design rules. An ad needs layout and copy slots. A video needs an ordered shot plan. A set of Ling-3.0-flash-VL examples on OpenRouter uses four prompts around that distinction. The accompanying creative-breakdown setup instructions make the routing step explicit before the model call. A reusable routing instruction: ` Choose the analysis task from the supplied reference and the user's goal: Photo, illustration or render → visual description. Website or app screenshot → reusable design brief. Ad or poster → observed layout plus replaceable product/copy slots. Video → approximately timed shot plan from sampled frames. When the material supports more than one task, ask one short question about the intended output. Send the reference with the matching analysis prompt. Check that the response is valid JSON with that task's expected top-level keys. ` For the actual output contracts, the photo uses fields such as subject , composition , lighting and materials_and_textures . The screenshot uses layout , typography , components and the other design sections. The ad includes both text_blocks for observed wording and template for replaceable content. The video uses overall and an ordered shots array. The setup instructions also call for keeping the four full prompts in separate reference files. For videos, the frame interval in the analysis prompt should match the sampling interval used to make the contact sheet. An ad screenshot can therefore take two paths: extract design rules when the goal is visual styling, or extract layout and copy slots when the goal is a reusable ad template.