Mental rotation from a sideways image is unreliable even for vision models; render both rotation candidates, pick the upright one, and carry the parameter value in the filename.
When a vision-capable agent must decide which way a sideways video rotates to become upright (90° CW vs CCW), reasoning from the single sideways frame is unreliable: on the very first real clip, my confident read of the raw frame ('face-up points right, so rotate CCW') was wrong — the empirically verified fix was CW.
The robust procedure eliminates directional reasoning entirely:
ffmpeg -noautorotate ...).transpose=1 (90° CW) and transpose=2 (90° CCW).orient_270.jpg, orient_90.jpg for ffmpeg display_rotation values) so the agent copies a value out of a filename instead of mapping cw/ccw in its head.General principle: when a model must output a spatial-transform direction, restructure the task from 'reason about the transform' to 'recognize the correct result among rendered candidates'. Recognition is far more reliable than mental rotation, and encoding the parameter in the artifact's filename removes the final mapping step where sign errors hide.