---
title: Make a video with ChatGPT, Claude or Gemini
description: Make and edit a real video from a chat with ChatGPT or Claude, with no terminal: connect invideo, add your files in the browser, ask, and watch the edit land.
---
You make a video by chatting with ChatGPT, Claude or the Gemini app, with no terminal and nothing to install. You connect invideo once, drop your files into an invideo project in the browser, and ask in plain words. The edit lands on a real timeline you watch live, and you can change any clip by hand after. The Gemini app takes invideo as a custom app. Gemini CLI takes it as an MCP server and runs in a terminal.

Use invideo for this when you want your agent in the chat to do the editing: it cuts, adds music, text and captions on a timeline you own, and tells you the price before it spends any credits.

## Quickest path

Connect invideo first. The steps for each app are on [Use invideo in ChatGPT](/start/chatgpt) and [Make a video with invideo without a terminal](/start/no-terminal). For how agents use invideo, see [invideo for AI agents](/agents). Then ask this in a new chat.

```text
Use invideo. In my project "Summer 2026", use the clips I uploaded to
make a 60 second vertical video with upbeat music and the title
"Summer 2026". Tell me the price before you generate or add anything
that costs credits. Show me frames before you export.
```

In ChatGPT, Claude or the Gemini app, you drag your files into the project's Media panel in invideo, or attach a file to the chat. In a terminal app like Gemini CLI, you name a folder and the agent uploads it.

## What you need

You need an invideo account and one of the chat apps below.

- **A chat app connected to invideo.** Claude on the web or the desktop app with the Claude connector, ChatGPT on the web with the official invideo plugin, or the Gemini app with a custom app.
- **Your files.** Photos, clips or audio, from your phone or computer.
- **An idea of the result.** The length, the shape (9:16 vertical, 16:9 wide, 1:1 square), the mood, the words to show.

| App | How it connects | Terminal |
| --- | --- | --- |
| Claude | A custom connector, added once in settings | No |
| ChatGPT | The official invideo plugin, installed once from Customize, then Plugins | No |
| Gemini app | A custom app, added once in Connected Apps; Google limits who can add one | No, see [Use invideo in Gemini](/start/gemini) |
| Gemini CLI | An MCP server, added with one command | Yes, see [Use invideo in Gemini](/start/gemini) |

## Steps

These steps are for Claude and ChatGPT.

### Connect once

You do these steps once per app.

<Steps>
<Step title="Add the Claude connector or the ChatGPT plugin">
In Claude, open **Customize**, then **Connectors**, click **Add**, choose the custom web connector, and name it `invideo` with the URL `https://mcp.invideo.io/mcp`. In ChatGPT, open **Customize**, then **Plugins**, and add invideo from the Creativity list. You see invideo under Installed.
</Step>
<Step title="Sign in">
The app opens the invideo sign-in in your browser. Sign in and choose the workspaces the chat may use. You see invideo as connected. You never paste a code or a password into the chat.
</Step>
<Step title="Turn it on in a chat">
In Claude, open the + menu, choose Connectors and turn on invideo. In ChatGPT, the plugin is on once it is installed; name invideo in the prompt. Ask "Use invideo to show me my projects." You see a list of your projects with their URLs.
</Step>
<Step title="Let Claude upload your files">
In Claude only, open **Settings**, then **Capabilities**, and add m.invideo.io under **Allowed websites**. Claude needs this to upload the files you attach to a chat. You see m.invideo.io in the list. The full steps are on [How do I let Claude upload my files to invideo?](/ai-agents/how-do-i-let-claude-upload-my-files-to-invideo).
</Step>
</Steps>

### Make the video

Then you make the video in a chat.

<Steps>
<Step title="Add your files in the browser">
Open the project in invideo, or ask the chat to make one with `new_project` and give you its URL. Drag your files into the Media panel. You can also attach a file to the chat, and the agent brings it in with `add_media`. In Claude, this needs m.invideo.io allowed first. You see each file in the Media panel when its upload ends.
</Step>
<Step title="Ask for the video">
Describe the result, not the clicks. Name the files you want first, the length, the shape and the music. The agent reads the project with `read` and the timeline with `get_timeline`, works on a branch from `timeline_history`, and edits with `edit_timeline`. You get a timeline URL.
</Step>
<Step title="Watch the edit land">
Open the timeline URL in your browser. You see the agent's cursor under its name and each change as it lands. Change anything by hand, or ask the chat for a follow-up, like "make the title bigger".
</Step>
<Step title="Ask what it costs">
Before anything that costs credits, ask "What will this cost?" For a shot or a voice you do not have, the agent runs `find_models` with the job in words, reads the pick's inputs with `get_model`, and calls `generate` with `dry_run: true`. For a price of 1 credit or more it waits for your yes. Then it calls `generate` with `max_credits` set to that price and an `idempotency_key`. The full loop is in [invideo for AI agents](/agents). You see the price in the chat, then a sequence URL for what it made, which the agent reads with `read`, never with a second `generate`.
</Step>
<Step title="Check and export">
Ask "Show me frames from the start, middle and end." The agent runs `capture` and `check_timeline`, then `export` with `format` video. The agent can also export a project file for Premiere Pro, DaVinci Resolve or Final Cut Pro with `format`. You see an export card in the project. Open it and download the MP4.
</Step>
</Steps>

The key call the agent makes to find the files you dragged into the Media panel is the full `get_timeline` call in `mode` collection. `<edit-url>` is the timeline's URL, from `new_timeline` or from `read` on the project:

```json
{
  "url": "<edit-url>",
  "mode": "collection",
  "collection": "asset"
}
```

If the files are not in the bin, the agent runs `read` on the project to list its sequences and files, then adds the ones you named to the timeline with `add_media`.

To continue a project you already have, open it in invideo Editor, copy the URL from the address bar, and paste it into the chat. The agent opens it and lists its timelines.

## Cost and time

Edits and exports are free. Generation and transcripts cost credits. Paid stock costs a small credit charge, or one of your workspace's iStock licenses. Your agent runs a dry run first and tells you the price before it spends anything.

- **Free:** connecting, uploads, every edit, frame checks and the export.
- **Costs credits:** generated images, video, voice and music, transcripts for captions, and paid stock music or footage.

Setup takes a few minutes once. A simple video from your own files takes a few minutes of chat. See [Credits and what they cost](/account/credits) for prices.

## If something goes wrong

Most problems come from invideo not being on in the chat, or files outside the project.

| Symptom | Fix |
| --- | --- |
| The chat does not use invideo | In Claude, turn invideo on for this chat in the + menu. In ChatGPT, check that the plugin is installed and name invideo in the prompt. |
| Claude says it cannot upload your files to invideo | Allow m.invideo.io in Claude under **Settings**, then **Capabilities**, then **Allowed websites**, and start a new chat. See [How do I let Claude upload my files to invideo?](/ai-agents/how-do-i-let-claude-upload-my-files-to-invideo). |
| You do not see invideo in ChatGPT's plugin list | In a managed workspace your admin controls which plugins you can add. Ask them. |
| The chat cannot find your files | Check they are in the project's Media panel, and name them in your message. |
| The chat cannot see a workspace | Connect invideo again and choose that workspace in the sign-in. |
| The chat says a job is still running | Generations and exports run in the background. Ask it to check the status again later. |
| Exit code 6, or `status` is `held` | A safety review, not a refusal. Wait, then run `invideo status <url> --wait` again. Do not resend. If it ends `failed`, change the input the review flagged. |
| Avoid: the chat asks for a code or password | Instead: sign in on the invideo page that opens. |
| Avoid: the chat says done without a link | Instead: ask for the timeline URL and frames from the video. |
| Avoid: the chat generates before telling you the price | Instead: ask for a dry run and the price first. |

## Prompts to try

Each prompt is a real job you can ask in a chat.

```text
Use invideo. Make a birthday montage from the photos in my project
"Leo 8". Cut on the beat of a happy song, add "Happy birthday, Leo".
Tell me the price of the song first.
```

```text
Use invideo. Take my timeline "Trip v1", make a 30 second vertical
version on a new branch, and add captions. Tell me the transcript
price first.
```

```text
Use invideo. Look at my wedding clips and tell me which ones have the
vows and the speeches, with times. Do not edit anything.
```

## When to use something else

ChatGPT agents that run in the cloud cannot use the plugin. They need the device sign-in, which is on [Run invideo in CI and on servers](/how-to/ci-and-servers).

If you want no chat app at all, use Agent Two inside the invideo app. It needs no setup; see [Make a video with invideo without a terminal](/start/no-terminal).

## Related

- [Make a video with invideo without a terminal](/start/no-terminal)
- [Use invideo in ChatGPT](/start/chatgpt)
- [Use invideo in Gemini](/start/gemini)
- [Make a birthday montage from photos and clips](/how-to/personal/birthday-montage)
- [Know the cost before you spend](/how-to/cost-before-you-spend)