Gemini Omni: video exists in GCS, but GET returns completed without output/usage; streaming GET stays in_progress

Hello Google team,

We are seeing inconsistent results when retrieving a Gemini Omni video generation interaction through Gemini Enterprise Agent Platform.

The generated video exists in Google Cloud Storage, but the non-streaming GET response contains only the original inputs. A streaming GET for the same interaction reports in_progress instead.

Environment

  • Platform: Gemini Enterprise Agent Platform
  • Location: global
  • Model: gemini-omni-flash-preview
  • API host: aiplatform.googleapis.com
  • API revision: 2026-05-20
  • Interaction ID: ChAzN2Y4OTlhNzAwZTczMDYzEAgaATAqBG1haW4
  • Verification date: September 20, 2026
  • Input: Two JPEG images and a text prompt

1. Non-streaming GET: completed, but no output or usage

GET https://aiplatform.googleapis.com/v1beta1/projects/vcfd7m-qhji-02/locations/global/interactions/ChAzN2Y4OTlhNzAwZTczMDYzEAgaATAqBG1haW4
Authorization: Bearer {ACCESS_TOKEN}
Api-Revision: 2026-05-20

Repeated queries returned:

  • HTTP 200
  • Content-Type: application/json
  • Status: completed
  • Response body: 20,185,267 bytes
  • Only three user_input steps: two images and one text prompt
  • No model_output, output video URI, usage, or error information

Response structure, with input content omitted:

{
  "id": "ChAzN2Y4OTlhNzAwZTczMDYzEAgaATAqBG1haW4",
  "status": "completed",
  "steps": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "image",
          "mime_type": "image/jpeg",
          "data": "<base64 omitted>"
        }
      ]
    },
    {
      "type": "user_input",
      "content": [
        {
          "type": "image",
          "mime_type": "image/jpeg",
          "data": "<base64 omitted>"
        }
      ]
    },
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "<prompt omitted>"
        }
      ]
    }
  ],
  "object": "interaction",
  "model": "gemini-omni-flash-preview"
}

We subsequently found the corresponding generated video in our GCS output location.

2. Streaming GET: the same interaction reports in_progress

We queried the same endpoint with ?stream=true:

GET https://aiplatform.googleapis.com/v1beta1/projects/vcfd7m-qhji-02/locations/global/interactions/ChAzN2Y4OTlhNzAwZTczMDYzEAgaATAqBG1haW4?stream=true
Authorization: Bearer {ACCESS_TOKEN}
Api-Revision: 2026-05-20
Accept: text/event-stream

The response was HTTP 200, Content-Type text/event-stream. These were the only events received before our client’s 90-second timeout:

event: interaction.created
data: {"interaction":{"id":"ChAzN2Y4OTlhNzAwZTczMDYzEAgaATAqBG1haW4","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}

event: interaction.status_update
data: {"interaction_id":"ChAzN2Y4OTlhNzAwZTczMDYzEAgaATAqBG1haW4","status":"in_progress","event_type":"interaction.status_update"}

No output, usage, or completion event arrived within that window. The stream did not finish normally; the client stopped it at the timeout.

Checks performed

To investigate possible client-side truncation, we used a standalone Go diagnostic:

  • It queried the Google API directly, bypassing our application’s inbound API gateway and frontend.
  • It saved the raw response bytes before JSON parsing, filtering, or database persistence.
  • The non-streaming response was read successfully and parsed as a complete, valid JSON document.
  • The configured response size limit was 160 MiB, well above the approximately 20 MB response. Exceeding that limit would produce an explicit error.

The missing fields are therefore absent from the raw response we received, rather than being discarded by our application’s typed response parser.

Expected behavior

For a completed video generation interaction with a video already stored in GCS, the retrieval API should return the output reference and available usage information. Streaming retrieval should eventually reflect the same terminal result.

Questions

  1. Could you investigate why this interaction’s GET response contains only inputs despite the video existing in GCS?
  2. Why does non-streaming retrieval report completed, while streaming retrieval only reports in_progress during the observed window?
  3. Is this a known issue with interaction result persistence or retrieval, or is an additional retrieval parameter required?
  4. Can the missing output reference and usage information be recovered?

We have preserved both raw responses and their HTTP metadata. We can provide the GCS object path and complete response files privately to Google support, since the full JSON contains our input images and prompt.

Hello @Lau_Lau, this forum is primarily intended for the Gemini API and Google AI Studio. For issues related to the Vertex AI API, please contact your Google Cloud sales representative if you have one. Otherwise, you can find more relevant assistance on the Google Cloud Forum.