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 and description use DevThrottle's hosted AI (speech to text for the transcript, a chat model for the title). What import does, in order: it copies the video into your local library, extracts the audio to a WAV beside it, and sends that WAV to DevThrottle through your signed-in account to be transcribed. The transcript text then goes to the chat model for the title. You need to be signed in for import to transcribe. Nothing here uploads the video container itself - the audio is what travels.

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.