# Refs Desk > A modern generator takes several inputs at once - a subject reference, a style reference, a first > frame, a pose map, the text - and they are NOT PEERS. Each governs some visual attributes, merely > influences others, and ignores the rest, so TEXT THAT CONTRADICTS AN IMAGE IS NOT A TIEBREAK, IT > IS A NO-OP. Five lanes over one shot-and-references sheet, plus a free browser-side channel > arbitration engine. URL: https://refs-desk.skillsafe.ai/ API: https://refs-desk.skillsafe.ai/api.html Derived from samuraigpt/generative-media-skills (https://github.com/samuraigpt/generative-media-skills), MIT: its muapi-seedance-2 skill, which drives a generator across text-to-video, image-to-video, first-last-frame and omni-reference modes. Not affiliated with or endorsed by samuraigpt. ## The one rule everything follows from Writing "in a red jacket" while supplying a subject reference wearing a grey one does not blend, does not average, and does not win. It does nothing - and the sentence sits in the prompt looking like it worked, which is worse than omitting it because it stops you looking for the real cause. Every attribute resolves to whichever supplied channel claims it most strongly. Everything weaker contributes NOTHING. Not less. Nothing. ## Ties are undecidable A subject reference and a first frame both govern identity and wardrobe. A first frame and a style reference both govern palette and lighting. Which one a given pipeline keeps is a property of that pipeline rather than of the request, so the honest answer is that the request does not determine the output. Never resolve a tie by picking - report it, and give the two coherent sheets either side. Adding a first frame to a request that already has a subject reference feels like it can only help. It ties on four attributes and silences both other images. ## A frame is pixels Supply a first frame for its composition and you have also fixed the wardrobe, the light, the background and the lens. Not a flaw in the frame - it is what a frame is - which makes it the most expensive input to add casually. ## Coverage An attribute no supplied channel governs is RE-ROLLED every generation. Not defaulted, not held from the last run, not inherited. It reads as model instability and it is an unfilled slot. Identity is the one that matters: text describes a face, it does not fix one. A reference governing nothing you asked about was uploaded, paid for, and did nothing you can name. ## What this is a model of The claims matrix is a MODEL, not a measurement - nobody has probed a provider to build it. What it gets right is the shape: a frame is pixels and governs everything in it, a pose map is geometry and governs only arrangement, text governs only what no image can express. If your own experience contradicts a cell, your experience wins. The arithmetic on top of the matrix is exact. ## The sheet ```text SHOT mode | i2v want | identity, wardrobe, palette, motion asserts | wardrobe, motion text | she turns away and walks into the rain, slow push in REFS first | frame-042.png | her mid-stride under the bridge subject | ava-turnaround.png | the character sheet ``` `want` is what you are trying to control. `asserts` is what the text actually pins down, listed rather than guessed - whether a sentence fixes the wardrobe is a judgement no checker should make from a string, and without the list the override check cannot run at all. Channels: `text`, `subject`, `style`, `first`, `last`, `pose`, `depth`. Attributes: identity, wardrobe, palette, lighting, composition, pose, motion, background, lens. Modes: `t2v`, `i2v`, `flf`, `ref`. ## The lanes - `brief` - turns a shot and a pile of assets into a request, choosing what NOT to supply - `check` - says which input decides what, and names every tie - `assign` - gives every attribute one owner and drops the rest by name - `text` - rewrites the prompt down to what text alone decides - `mode` - picks the generation mode from what has to hold rather than what is available ## What it does not do It uploads nothing and generates nothing. It arbitrates between the inputs you describe, so it is only as good as that description.