# Let there be videos!

> Add videos to your LLMs calls.

[Your browser does not support the audio element.](https://microsoft.github.io/genaiscript/llms-full.txt.mp3 "Generated by 🤖 AI with random voice personality. Content interpretation may vary.")

Generated by 🤖 AI

The latest release includes support for including videos and audio transcripts in your scripts.

```js
const frames = await ffmpeg.extractFrames("demo.mp4", {
  transcription: true,
});
def("DEMO", frames);


$`Describe what happens in the <DEMO>.`;
```

Say you want to analyze a video file. For most LLMs that support images, you would have to extract screenshots at particular timestamps then send them as a sequence of images. Choosing those timestamp could be a challenge since you will run out of context window. GenAIScript provides a helpers to solve this tedious tasks around video analysis using LLMs.

* visit the [documentation](/genaiscript/reference/scripts/videos).

## tools and agents

[Section titled “tools and agents”](#tools-and-agents)

We also provides wrap the new functionalities in [tools](/genaiscript/reference/scripts/tools) and [agents](/genaiscript/reference/scripts/agents) so you can use them in your scripts.

For example, to include the frame extraction tool so that the LLM is able to call it, you can use the following snippet:

```js
script({
  tools: "video_extract_frames",
});
```

Or just let the agent work on the video for you.

```js
script({
  tools: "agent_video",
});
```