---
title: "Video input"
canonical: "https://canmyagentuse.com/features/video-input"
contentKind: "feature"
locale: "en"
description: "Upload or select a video for use as model input."
llmSummary: "Video input means an uploaded video contributes model context. Frame, audio, transcript, timing, and format behavior are recorded as qualifiers only when documented."
publishedAt: "2026-08-28T00:00:00.000Z"
updatedAt: "2026-08-28T00:00:00.000Z"
verifiedAt: "2026-08-28"
tags: ["perception","video","uploads","multimodal"]
---

# Video input

Video input means an uploaded video contributes model context. Frame, audio, transcript, timing, and format behavior are recorded as qualifiers only when documented.

- HTML: https://canmyagentuse.com/features/video-input
- JSON: https://canmyagentuse.com/api/v1/features/video-input.json
- Markdown: https://canmyagentuse.com/features/video-input.md

Terminology basis: **Common product term** — https://docs.x.ai/grok/faq.

## Current support at a glance

Video input: 4 supported, 1 partial, 0 unsupported, 26 unreviewed across 31 cataloged products.

- Reviewed current products: 5 of 31
- Supported: 4
- Partial: 1
- Unsupported: 0
- Unreviewed: 26
- Not applicable: 0

Unknown or unreviewed means insufficient published evidence; it does not mean unsupported.

This row asks whether an uploaded or selected video contributes content to the model. Evidence should record whether the product uses sampled frames, native temporal input, extracted audio, a generated transcript, metadata, or some combination when that behavior is documented.

Record accepted containers and codecs, maximum bytes and duration, frame or sampling policy, audio handling, timecode awareness, resolution changes, model and plan restrictions, processing latency, and whether links are supported in addition to local uploads. A harness that accepts a video only for storage, sharing, or an unrelated editing tool remains unsupported for this row.

## Catalog context

- Category: [perception](/categories/perception.md)
- Terminology basis: Common product term
- Aliases: video input, video attachment, video upload, video understanding
- Family: [File and media inputs](/features/file-inputs.md)
- Siblings: [Audio file input](/features/audio-file-input.md), [Document input](/features/office-document-input.md), [File upload limits](/features/upload-limits.md), [Image input](/features/image-input.md), [PDF input](/features/pdf-documents.md)

## Compatibility assertions

Unknown means insufficient published evidence; it does not mean unsupported.

### ChatGPT (web)

- Harness: [ChatGPT](/harnesses/chatgpt-web.md)
- current: **Unknown**
- preview: **Unknown**

### Claude (web)

- Harness: [Claude](/harnesses/claude-web.md)
- current: **Unknown**
- preview: **Unknown**

### Gemini (web)

- Harness: [Gemini](/harnesses/gemini-web.md)
- current: **Supported**
  - Target: hosted-observation — 2026-08-28 Gemini Apps documentation observation; observed 2026-08-28
  - Environment: hosted-default
  - Constraint (runtime): direct video upload and analysis are documented, with a 2 GB per-video limit
  - Constraint (plan): total video is limited to 5 minutes without a Google AI plan and 1 hour with Google AI Pro or Ultra
  - Constraint (runtime): frame sampling, temporal precision, timecodes, and audio-visual alignment are not established by the reviewed page
  - Evidence: [Google Gemini Apps Help — Upload and analyze files](https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DDesktop&hl=en) — documented; observed 2026-08-28
  - Qualification note 3: Evidence checked 2026-08-28: Gemini Apps accept video uploads up to 2 GB and document total video-duration limits of 5 minutes without a Google AI plan or 1 hour with Google AI Pro or Ultra. The reviewed page does not define frame sampling, timecode, or audio-visual alignment semantics.
- preview: **Unknown**

### Copilot (web)

- Harness: [Copilot](/harnesses/copilot-web.md)
- current: **Unknown**
- preview: **Unknown**

### Grok (web)

- Harness: [Grok](/harnesses/grok-web.md)
- current: **Supported**
  - Target: hosted-observation — 2026-08-28 Grok Web documentation observation; observed 2026-08-28
  - Environment: hosted-default
  - Constraint (runtime): transcription and interpretation are documented, but frame sampling, temporal reasoning, timecodes, and audio-visual alignment are not
  - Evidence: [xAI — Grok files and data FAQ](https://docs.x.ai/grok/faq) — documented; observed 2026-08-28
  - Qualification note 1: Evidence checked 2026-08-28: xAI documents direct video uploads in Grok chats and describes transcription and interpretation of audio and video, but the reviewed FAQ does not specify frame sampling, temporal reasoning, or audio-visual alignment.
- preview: **Unknown**

### Grok Bot (desktop)

- Harness: [Grok Bot](/harnesses/grok-bot-desktop.md)
- current: **Supported**
  - Target: hosted-observation — 2026-08-28 Grok Bot desktop documentation observation; observed 2026-08-28
  - Environment: hosted-default
  - Constraint (runtime): video is accepted up to 200 MB, but frame, audio, transcript, timing, metadata, and sampling semantics are not documented on the reviewed page
  - Evidence: [xAI — Grok Bot files and results](https://docs.x.ai/grok-bot/files-and-results) — documented; observed 2026-08-28
  - Qualification note 2: Evidence checked 2026-08-28: Grok Bot lists video among common supported inputs and documents a 200 MB per-video limit, but it does not describe which frames, audio, transcript, timing, or metadata reach the model.

### Perplexity (web)

- Harness: [Perplexity](/harnesses/perplexity-web.md)
- current: **Partial**
  - Target: hosted-observation — 2026-08-28 Perplexity web documentation observation; observed 2026-08-28
  - Environment: hosted-default
  - Constraint (runtime): MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV, and 3GPP uploads are accepted and spoken content is automatically transcribed
  - Constraint (runtime): visual scenes in video are explicitly not indexed or searchable, so this does not establish frame-based or temporal visual understanding
  - Constraint (runtime): the general file-upload page documents a 40 MB per-file limit
  - Evidence: [Perplexity Help Center — File uploads](https://www.perplexity.ai/help-center/en/articles/10354807-file-uploads) — documented; observed 2026-08-28
  - Qualification note 4: Evidence checked 2026-08-28: Perplexity web accepts common video containers and automatically transcribes spoken content, but its documentation explicitly says visual scenes in video are not indexed or searchable. This is transcript-oriented input rather than documented visual-video understanding.
- preview: **Unknown**

### Le Chat (web)

- Harness: [Le Chat](/harnesses/le-chat.md)
- current: **Unknown**
- preview: **Unknown**

### Devin (web)

- Harness: [Devin](/harnesses/devin-web.md)
- current: **Unknown**
- preview: **Unknown**

### Replit Agent (web)

- Harness: [Replit Agent](/harnesses/replit-agent.md)
- current: **Unknown**
- preview: **Unknown**

### ChatGPT (desktop)

- Harness: [ChatGPT](/harnesses/chatgpt-desktop.md)
- current: **Unknown**
- preview: **Unknown**

### Claude (desktop)

- Harness: [Claude](/harnesses/claude-desktop.md)
- current: **Unknown**
- preview: **Unknown**

### Cursor (desktop)

- Harness: [Cursor](/harnesses/cursor.md)
- current: **Unknown**
- preview: **Unknown**

### OpenWork Desktop (desktop)

- Harness: [OpenWork Desktop](/harnesses/openwork-desktop.md)
- current: **Unknown**

### Copilot Chat (desktop)

- Harness: [Copilot Chat](/harnesses/vscode-copilot.md)
- current: **Unknown**
- preview: **Unknown**

### Chrome WebMCP origin trial (desktop)

- Harness: [Chrome WebMCP origin trial](/harnesses/chrome-webmcp-preview.md)
- current: **Unknown**

### Windsurf (desktop)

- Harness: [Windsurf](/harnesses/windsurf.md)
- current: **Unknown**
- preview: **Unknown**

### Zed Agent (desktop)

- Harness: [Zed Agent](/harnesses/zed-agent.md)
- current: **Unknown**
- preview: **Unknown**

### Continue (desktop)

- Harness: [Continue](/harnesses/continue.md)
- current: **Unknown**
- preview: **Unknown**

### Cline (desktop)

- Harness: [Cline](/harnesses/cline.md)
- current: **Unknown**
- preview: **Unknown**

### JetBrains AI (desktop)

- Harness: [JetBrains AI](/harnesses/jetbrains-ai.md)
- current: **Unknown**
- preview: **Unknown**

### Warp (desktop)

- Harness: [Warp](/harnesses/warp.md)
- current: **Unknown**
- preview: **Unknown**

### Claude CLI (cli)

- Harness: [Claude CLI](/harnesses/claude-cli.md)
- current: **Unknown**
- preview: **Unknown**

### ChatGPT CLI (cli)

- Harness: [ChatGPT CLI](/harnesses/chatgpt-cli.md)
- current: **Unknown**
- preview: **Unknown**

### Codex CLI (cli)

- Harness: [Codex CLI](/harnesses/codex-cli.md)
- current: **Unknown**
- preview: **Unknown**

### OpenCode (cli)

- Harness: [OpenCode](/harnesses/opencode.md)
- current: **Unknown**
- preview: **Unknown**

### Gemini CLI (cli)

- Harness: [Gemini CLI](/harnesses/gemini-cli.md)
- current: **Supported**
  - Target: dated-documentation — current Gemini CLI custom-command documentation; observed 2026-08-28
  - Environment: local-default
  - Constraint (runtime): supported video files referenced with @{...} inside a custom command are encoded and injected as multimodal input
  - Constraint (runtime): accepted containers, codecs, limits, frame sampling, timecodes, temporal reasoning, audio handling, and ordinary-prompt attachment methods are not established by the reviewed page
  - Evidence: [Gemini CLI — Custom commands](https://geminicli.com/docs/cli/custom-commands/) — documented; observed 2026-08-28
  - Qualification note 5: Evidence checked 2026-08-28: Gemini CLI custom commands encode a supported video path referenced with @{...} and inject it as multimodal input. The reviewed page does not enumerate containers, codecs, duration, frame sampling, timecodes, or audio-visual alignment.
- preview: **Unknown**

### Aider (cli)

- Harness: [Aider](/harnesses/aider.md)
- current: **Unknown**
- preview: **Unknown**

### Goose (cli)

- Harness: [Goose](/harnesses/goose.md)
- current: **Unknown**
- preview: **Unknown**

### Copilot CLI (cli)

- Harness: [Copilot CLI](/harnesses/copilot-cli.md)
- current: **Unknown**
- preview: **Unknown**

### Amp (cli)

- Harness: [Amp](/harnesses/amp-cli.md)
- current: **Unknown**
- preview: **Unknown**
