Your reference image got cropped on upload
Some pipelines hard-crop uploaded references to the target ratio without warning. Pre-pad to that ratio yourself so the crop has nothing to take.
If your square reference went into a 9:16 job and the output looks like a centre-cut of that square, the pipeline cropped the upload. It will not always tell you.
A reference image is a description made of pixels: identity, product, set. The model is free to show that subject from another angle. It is not supposed to throw away the left third of the description on the way in. Some pipelines hard-crop the upload to the output aspect ratio before the model ever sees it.
Adobe's Firefly community has a thread where a square first-frame upload on Veo 3.1 was cropped to 9:16 with no warning. A community manager replied that Veo 3.1 only accepts 9:16 and 16:9, so an off-ratio still is cropped to fit. That is Firefly's hosted path, not a finding about every Veo 3.1 endpoint. It is still enough to change the habit: pre-pad the reference to the target ratio yourself, so a centre-crop, if it happens, has nothing to take.
The crop you didn't ask for
There are two different crops in this workflow, and they get blamed on each other.
Output composition. Asking for 9:16 makes the model compose a tall shot. That is working as designed. The same prompt at 16:9 is a different picture, not a crop of the 9:16. If the output is a waist-up figure, first check whether you named a shot type. That failure has its own fix.
Input auto-crop. This one happens before generation. The pipeline fits your reference into the target rectangle by cutting, not by letterboxing. A 1:1 photo into a 9:16 job loses the left and right. A 16:9 photo into a 9:16 job loses a lot of left and right. A 9:16 photo into a 16:9 job loses head and feet. The model then references whatever survived. It cannot use the product label you placed on the right edge, because that edge is gone.
You will not always get an error, a warning, or a preview of the cropped file. The Adobe thread is specifically about the silent case: square original, 9:16 crop, no warning. Diagnose from the output, not from the upload confirmation.
A centre-crop of a square into 9:16 keeps a vertical band through the middle. If your subject was centred, they survive and you may not notice. If the thing you cared about was off-centre (a bottle on the right, a second person, a logo on a bag), it is gone, and the generation will look like the model "ignored" the reference. It did not ignore it. It never received it.
This is a different failure from a weak reference (soft, tiny subject, motion blur) and from a mixed reference set that averages into a third face. Those are garbage in and reference hygiene. Auto-crop deletes information that was fine. Hygiene cannot restore pixels the pipeline cut off.
What actually gets deleted
Work it out as arithmetic, not as a vibe, so you know what to pad.
A 1:1 reference, width = height = 1. A 9:16 crop at full height has width 9/16 = 0.5625 of the height. The surviving band is about 56 percent of the square, centred. You lose 22 percent on the left and 22 percent on the right.
A 16:9 reference into 9:16 is harsher. Width is 16/9 ≈ 1.78 times the height. The 9:16 crop at full height needs 0.5625 of the height as width, which is 0.5625 / 1.78 ≈ 32 percent of the original width. Two thirds of the landscape is gone.
A 9:16 reference into 16:9, centre-cropped at full width, keeps about 32 percent of the original height: the 16:9 slice is 9/16 of the width tall, and the original is 16/9 of the width tall, so (9/16) ÷ (16/9) ≈ 0.32. Head and feet vanish. A full-length character sheet becomes a torso.
| Reference | Target | Surviving band (centre crop) | What usually dies |
|---|---|---|---|
| 1:1 | 9:16 | ~56% of width | Left/right context, off-centre products |
| 16:9 | 9:16 | ~32% of width | Almost all of the set |
| 4:5 | 9:16 | ~70% of width | Modest side loss |
| 9:16 | 16:9 | ~32% of height | Head, feet, sky, floor |
| Already at target | Same | 100% | Nothing, if they really do not crop |
Letterboxing would keep the whole reference visible, with empty bands. Hard-crop is the hostile behaviour. You cannot tell which you got from the upload widget. You can tell from a test: unique objects in each corner, then see which marks survive.
On VEO 3.1 reference-to-video work, treat this as a pre-flight. A cropped character sheet is a different character sheet. Three-quarter and profile views near the edges of a square are the first to go.
Pre-pad so the crop has nothing to take
Do the letterbox yourself, on your machine, before upload. Then a centre-crop of the file is a crop of empty pad, not of the subject.
- Know the target ratio. 9:16 for a Reel or Short. 16:9 for a landscape cut. 1:1 only if the job is actually square. Match the generation you are about to run, not the ratio of the photo you happen to have.
- Make a canvas at that ratio. For 9:16, a 1080×1920 or 1440×2560 canvas is enough. For 16:9, 1920×1080. Work at a size the model will actually read; a 400-pixel pad is a new low-resolution problem.
- Place the whole reference inside, uncropped. Scale the photo until the longest edge that must survive just fits. The subject, the label, the hands, the second product. Nothing hangs off the canvas.
- Fill the empty bands on purpose. Do not leave them as default white unless the scene is already a white sweep. A hard white letterbox becomes part of the reference: models pick up the bars as walls, as light, as a frame. Better options, in order: match the background colour of the photo; extend with a heavy blur of the edge pixels; a neutral grey that does not appear in the scene. The blur is the most robust for location stills. The matched sweep is the most robust for product.
- Export, then upload the padded file. Keep the unpadded original. You will need it if the next job is a different ratio.
A square head-and-shoulders into a 9:16 talking-head job should sit in the upper-middle of the tall canvas, not centred in the whole height. If you centre a bust in 9:16, you invent a lot of empty body-space below the crop of the photo, and the model may try to grow a torso into it. Place the face where you want the face in the output.
A square full-length placed onto a 9:16 canvas without cropping becomes a smaller figure. That is correct. A tiny but complete person is a better reference than a large amputated one. Do this per target ratio: a padded 9:16 master is the wrong upload for a 16:9 job. Padding does not fix a blurry source. It only stops a clean source from being cut.
Check the reference the model received
Before you spend a full generation fighting a "model that ignores the product," run a cheap check.
Corner marks. Put a distinct object or a colour chip in each corner of the unpadded photo, pad, generate a short or cheap take, and see which chips are in the output's read of the reference. If the left chips vanish on a 9:16 job, you were cropped.
Off-centre product. Place the thing you care about away from centre on a sacrificial still. If the output "forgets" it, the crop ate it.
Compare to a pre-cropped control. Centre-crop the square to 9:16 yourself, upload that, and generate. If the result matches the unpadded square upload, the pipeline was cropping anyway. You have your answer. From then on, pad.
Once you know a given path crops, pad by default for that path. Adobe's thread is about Firefly's host, not a verdict on Versely's VEO 3.1 reference-to-video. Other hosted image-to-video paths may letterbox, crop, or follow the input. The corner-mark test is faster than a forum thread, and it is the test to run on this path.
If the reference is a first frame, auto-crop is a different opening shot. Pad those too. A first-frame/last-frame pair should share the same padded canvas, or the join has a geometry change that is really an input change. Extra slots do not help: extra cropped references are still cropped.
FAQ
How do I know the pipeline cropped my reference?
If a square upload into a 9:16 job comes back as a centre-cut of that square (side context gone, off-centre objects missing), it cropped. Corner marks and an off-centre product make the test obvious in one cheap take. An upload widget that says "received" is not evidence the model saw the whole file.
What should I pad with?
Match the photo's background when you can. Blur the edge pixels out into the bands when the background is a location. Avoid default white unless the original is already a white sweep. The pad will be treated as part of the reference.
Does every model crop references to the output ratio?
No. Some letterbox, some follow the input, some crop. Adobe's Firefly thread is a reason to pad for Veo-shaped jobs, not proof that every host crops. Run the corner-mark test on any path you have not checked. Do not assume a catalog page that accepts a reference also promises to keep its aspect ratio.
Should I just crop the reference myself to 9:16?
Only if you are willing to choose which pixels die. A self-crop you directed is better than a silent centre-crop you did not. Padding is better than both when the whole original matters. Crop yourself when the original contains things you actively do not want the model to inherit (a messy room, a second face). That is hygiene, not pad-work.