Skip to content
vidarax
Esc
↑↓navigate↵open⌘Jpreview
On this page

Gemini Flash review

Gemini 3.8 Flash routing, dense recorded review controls, and evidence limits.

Gemini Flash media review

Implementation status: the compatibility and dense review changes are available on the gemini-3-8-flash branch, pending PR review. The deployed API must run this version to accept the new controls. Live Gemini access, effective sampling, billing and review quality depend on the configured service.

Verified on 2026-10-03 against Google’s model catalog and model specification: the latest stable full Flash model is gemini-3.8-flash. It supports image, video, audio and structured JSON. gemini-flash-latest resolves locally to this ID. Flash-Lite aliases and low-cost backend/UI/CLI defaults are unchanged.

Configure the existing Gemini backend with model = "gemini-3.8-flash". The commented backend in vidarax.toml illustrates the shape. Use existing credential management. Explicit model routing recognizes aliases in both inference tiers and does not silently reroute a full Flash failure to a local model. An omitted Gemini backend model still defaults to Flash-Lite.

Image input uses inline JPEG/PNG; native video uses source-time MP4 clips and the Gemini File API. Responses join visible text parts while excluding thought summaries, preserve token usage, and retain the thinking-budget retry. Vidarax leaves thinking level to Google’s default; it does not request unsupported minimal thinking. The benchmark’s illustrative standard rate is $0.75 input / $3.75 output per million tokens through 2026-12-31, then $1.50 / $7.50 from 2027-01-01. Check the rate card and use benchmark overrides for current billing.

Caller-directed recorded review

semantic_prompt and output_schema are preserved in both inference tiers. General default prompts remain unchanged. Supply your own visible-evidence criteria and schema when the review needs more than a generic event description. Custom output is available as raw_output; a custom schema without moments does not automatically become timestamped moment events.

For dense frame review, a /v1/runs/{run_id}/reason body can include:

{
  "source_uri": "/path/to/video.mp4",
  "model": "gemini-3.8-flash",
  "sampling_policy": "fixed",
  "fixed_fps": 60,
  "max_frames": 3600,
  "chunk_size": 60,
  "semantic_frames_per_chunk": 120,
  "semantic_context_frames": 30,
  "source_start_ms": 10000,
  "source_end_ms": 14000,
  "semantic_prompt": "Inspect this interval for the caller's visible criteria; distinguish observation from uncertainty."
}

Frame mode allows 1–256 images per chunk (default 2), selected from the owned chunk plus up to 128 context samples on each side. Increasing the count alone does not increase local decoding FPS. To inspect every sample, choose a count at least as large as chunk plus context. Large windows still select uniformly when the count is smaller. Each supplied image has an actual sampled source frame index and PTS in the prompt and input_image_timestamps; context reuse does not duplicate stateful analysis metadata. A visual-diff previous image is identified separately. Context is bounded by the selected source interval.

For native media, use media instead of frame context:

{
  "mode": "audio_video",
  "window_ms": 2000,
  "overlap_ms": 1000,
  "video_fps": 24,
  "resolution": "high",
  "persist_evidence": true
}

Attach this object under media in the same reason request. video omits audio; audio_video requires an audio track. Clips use exact source-time boundaries and retain normal-speed source frames. Overlap may be at most half the window; windows are 100–60000 ms. Both tiers receive the same clip, prompt, schema and FPS. Overlapping identical moments are deduplicated by absolute source times; adjacent repeated actions remain separate. Semantic events are journaled in chunk order even when inference completes out of order.

CLI equivalents include --semantic-frames-per-chunk, --semantic-context-frames, --source-start-ms, --source-end-ms, --media-window-ms, --media-overlap-ms, and --video-fps. CLI mode spelling is audio-video; JSON uses audio_video. TypeScript request types expose the same optional controls.

Capabilities, budgets and evidence limits

Both tier providers must declare the required capacity. Gemini accepts up to 256 images and explicit video FPS in (0,24]. An OpenAI-compatible backend is limited to 64 images by default to preserve live clip batches. Set max_input_images (1–256) to match the backend capacity. Live clip admission checks both inference tiers before startup. Configure failover backends for compatible image counts. Native FPS requires a provider declaring that capability. Dense and native requests disable fallback that could discard controls.

Requests reject invalid intervals, unsupported capabilities, excessive overlap, more than 2048 review chunks/windows, more than 10000 unique JPEGs, or more than 20000 image submissions counting context reuse and both possible tiers. JPEG pipe output is bounded at 256 MiB and per-request base64 image data at 32 MiB. Each recorded JPEG/clip/audio child has a 120-second deadline with kill, reap and bounded pipe draining. A cancelled blocking task can finish after the caller leaves; audio-video plus local WAV preparation can use two sequential child deadlines. Immediate cancellation is not promised. Native clips are limited to 64 MiB each and aggregate retained native evidence to 256 MiB; a runtime extraction/input budget failure is recorded as an explicit semantic error rather than silently thinning evidence. Split or downscale large reviews. Native overlap also increases provider work and cost.

Explicit dense/target/FPS requests reject max_frames truncation. Targeting currently filters after local source decoding: the full-source scan budget must cover the source, even for a late narrow interval. A range selects available samples; it cannot recover motion between them. Provider video FPS is separate from local fixed_fps and does not guarantee observation of every source frame.

The generateContent reference and current v1beta discovery schema still list Part.videoMetadata.fps (default 1, range (0,24]) and Part.mediaProcessing: STATIC. These are Vidarax’s serialized controls. Both mark VideoMetadata deprecated and name GenerateContentRequest.processing_options as its successor, but neither defines that request field or its JSON shape. Schema presence does not prove that the live service honors it for a given model. Vidarax retains the documented field rather than inventing a replacement payload.

The current video guide documents input[].processing = {"type":"static","fps":...} for the separate /v1beta/interactions API; this is not a documented drop-in generateContent request field. Interactions/agentic processing is not implemented in Vidarax. The guide warns default 1 FPS sampling may miss rapid motion.

Provider capability checks report ability to serialize a documented FPS request, not measured or guaranteed effective density. provider_sampling_interval_ms is the requested interval; provider_sampling_status is requested_unverified when FPS is specified. No service acknowledgment/effective-rate measurement is available in this path. timestamp_resolution_ms remains conservative (1000 ms for Gemini). None of these fields guarantees observation of every source frame or localization accuracy. Measure live acceptance and effective sampling on representative footage.

Visual-review quality and operating limits

Image and video requests preserve caller prompts, schemas and source timing. Actual model access, upload processing, FPS-control acceptance, latency, billing and visual judgment depend on the configured Gemini service. Effective sampling must be measured on representative footage.

Model support alone does not establish reliable visual reviews. State changes and animation triggers cannot prove visible contact, path quality, sliding or IK attachment. Use prompts with explicit visible-evidence criteria, sufficient temporal and spatial detail, and findings that can be replayed against known flaws. For brief motion defects, prefer dense source-time images or overlapping clips and require timestamps plus supporting media for each finding.