Gemini Interactions API : registered Cloud Storage files can't read a 3 hour video (504 after 10 min). How do we get GCS to work for long videos?

We’re a paid Tier 3 project on the Gemini API. Each job sends one 2 to 5 hour recorded videos (360p mp4, roughly 300 MB per hour) to gemini-3.7-flash through the Gemini Interactions API with processing: “agentic” and store: true, then keeps chaining turns off it for days with previous_interaction_id. The Gemini Files API’s 20 GB per project cap is far too small for us, so we’re trying to move the videos to Google Cloud Storage and use the Gemini API’s files:register endpoint, which gives 30 days of access and no total cap.

Registration works fine (HTTP 200 in under a second, state ACTIVE immediately, source REGISTERED, done with an API key bound to a service account that can read the bucket). Reading the registered file from gemini-3.7-flash gets slower with length and stops working at full length. First agentic turn, one request each, SDK retries off:

1 minute (4.9 MB): 10 s
30 minutes (165 MB): 356 s
60 minutes (332 MB): about 47 minutes
171 minutes (889 MB): HTTP 504 “Deadline expired before operation could complete” after about 605 s, both synchronously and with background: true

The same 171 minute file uploaded with files.upload sits in PROCESSING for about two minutes and then answers agentic turns in 20 to 400 s. Chained turns on the registered file also re-bill the entire video every turn (the 30 minute clip’s second turn charged all 163,801 video tokens again, total_cached_tokens 0), where the uploaded file serves them from the retained context.

Is there a way to make registered Cloud Storage files usable with Gemini for videos of this length, for example a pre-processing step we’re missing?