Docs/AgentEyes/Import a video
AgentEyes

Import an external video

4 min read

You already have videos that are not AgentEyes recordings - a Teams meeting you recorded, a screen capture from another tool, a clip someone sent you. Import brings one of those into your AgentEyes library, transcribes it, and names it, so it becomes a normal library recording sitting next to the ones you made yourself.

What import does

Point AgentEyes at a video file and it:

  • Copies the video into a new recording folder in your library. Your original file is left exactly where it is - import copies, it does not move or delete.
  • Extracts the audio and transcribes it into a timestamped transcript.
  • Gives the recording a title and a short description generated from the transcript, the same way a native recording is named.
  • Writes the transcript as three files in the recording folder: transcript.json (timed segments), transcript.txt (plain text), and transcript.en.vtt (WebVTT captions, ready for subtitles).
Note
Transcription and the generated title/description use DevThrottle's hosted AI (Whisper for the transcript, a chat model for the title). That means the imported video's audio is sent to DevThrottle through your signed-in account to be transcribed. You need to be signed in to DevThrottle for import to transcribe. The video file itself only ever lives in your local library.

Supported files

Import accepts the common video containers: .mp4, .mkv, .mov, .avi, .webm, .m4v, .wmv, .flv, .ts, .m2ts, .mpg, and .mpeg. The file must contain a video stream; an audio-only file or a file with an unrecognized extension is rejected with a clear message rather than half-imported.

Import from the command line

The CLI command takes the path to the video:

Import a Teams recording
agenteyes import "C:\Users\me\Videos\Weekly sync.mp4"

It prints progress as it copies, transcribes, and names the recording, then reports the new recording id and its folder:

[ok] importing 'Weekly sync.mp4' -> ...\Videos\AgentEyes\<id>
  copied video (12:04)
  transcribing (DevThrottle, whisper-large-v3) ...
  42 transcript segment(s)
  naming the recording ...
  title: Weekly sync - roadmap and blockers
[ok] imported recording <id>
[ok] folder: C:\Users\me\Videos\AgentEyes\<id>
Tip
The recording id it prints is the name of the recording folder. You pass that id to translate and subtitle to add captions in another language.

Import over the Control API

The same import runs over the local Control API, so an agent can do it headlessly. The call is synchronous - it returns once the import (including transcription) has finished - and answers with the new recording id and folder.

POST/import
Body: { "path": "C:/Users/me/Videos/Weekly sync.mp4" }. A bad or missing path returns 400.
POST http://127.0.0.1:7882/import
// response
{
  "id": "<recording-id>",
  "dir": "C:\\Users\\me\\Videos\\AgentEyes\\<recording-id>"
}

Where to go next

An imported recording is a normal library recording, so you can add captions in another language to it right away - see Multilingual subtitles. For the full command set, see the CLI reference.