# Gemini 4 Argon video analysis: build and verify a shot log

A shot log helps an editor find moments in a clip, but generated timestamps need verification. This workflow uses `gemini-4-argon` to analyze an existing video, not generate one. It builds on the [Gemini bridge guide](/docs/llm/gemini-bridge-video) and focuses on an editor's deliverable rather than repeating protocol setup.

## Define the log before submitting the video

Keep a manifest with the source asset version, actual duration, language and whether the audio track is relevant. Ask for one row per visible shot with start, end, visible action, audible evidence and uncertainty. Keep description separate from inference: “a person closes a door” is observable; an explanation of their motivation usually is not.

Use an authorized clip and inspect its actual file type and size. A page containing a player is not necessarily a direct video URL. The bridge guide documents the platform's URL download limit and inline-request limits; do not substitute Google's native upload allowance for the platform's transfer contract.

## Request a first-pass log

Confirm that your account can call the video-capable `gemini-4-argon` route. Send this body to `POST /v1beta/models/gemini-4-argon:generateContent` with `x-goog-api-key: API_KEY`. Replace the placeholder file URL before making a billable request.

```json
{
  "contents": [{
    "role": "user",
    "parts": [
      {"text": "Create a shot log for this entire clip. Use a Markdown table: start MM:SS, end MM:SS, visible action, audible evidence, uncertainty. Describe only what the video supports. Label uncertain timestamps as approximate. Do not infer names, motivations or events outside the clip. If no audio can be assessed, say unknown rather than inventing dialogue."},
      {"fileData": {"mimeType": "video/mp4", "fileUri": "https://files.example.com/approved-clip.mp4"}}
    ]
  }],
  "generationConfig": {"maxOutputTokens": 4096}
}
```

The requested Markdown columns are an application-level format, not enforced structured output. Inspect the returned candidates, text parts, finish state and usage. A missing candidate or blocked/length-limited response must not be treated as a complete empty shot list. Preserve non-text context rather than flattening the response to a single string for future requests.

## Validate timestamps in the original player

Convert returned times to seconds and check that each row is within the actual clip duration and start is earlier than end. Check ordering and explain overlaps or gaps instead of silently sorting away possible errors. Then scrub the source video around each proposed boundary. A plausible timestamp is not proof of frame accuracy.

| Review item | What to check |
| --- | --- |
| Coverage | Opening and ending shots were considered |
| Boundary | Scene change exists near the proposed time |
| Visual evidence | Subject and action match the source |
| Audio evidence | Dialogue or sound is actually audible |
| Uncertainty | Approximation remains visible in the edited log |

For an edit decision list that needs exact frames, have your editing tools or a reviewer establish frame boundaries. Do not use approximate model timestamps directly as an automatic destructive cut instruction.

## Ask a targeted follow-up with intact context

If a row is ambiguous, ask about that interval and the specific uncertainty. For native Gemini follow-ups, append the full returned candidate content to the original conversation, then add the new user turn. Preserve opaque signature fields as described in the bridge guide; copying only the visible prose can lose required state. Keep the original video input available for the next request's processing window.

When splitting a long clip locally, record each segment's source-time offset. Translate segment-relative timestamps back to the original timeline during review. Overlapping segments may produce duplicate rows, so deduplicate against source times and evidence rather than text similarity alone. Each segment and follow-up is a separate usage-bearing request.

## Measure usefulness and preserve the source

Track corrected boundaries, omitted shots, unsupported descriptions, reviewer time and usage for an approved sample. Compare those results using the [evaluation guide](/docs/llm/evaluation); do not present an untested accuracy percentage. Keep the original clip and reviewed log together. Signed source URLs and sensitive transcripts should not enter public logs.

Checked 2026-11-03 against [Google's model catalog](https://ai.google.dev/gemini-api/docs/models) and [video understanding guide](https://ai.google.dev/gemini-api/docs/video-understanding), plus the platform bridge implementation and guide. These establish model identity and video-analysis concepts, not account access, frame-accurate results or universal support for Google's native file APIs.
