# Generate AI video inside ChatGPT and Claude with the eroq MCP server

> Connect eroq to ChatGPT or Claude as a custom connector and generate images, clips and speech from a chat. Setup, the tools, a sample flow and what it costs.

Published 2026-09-02 · eroq.ai — canonical: https://eroq.ai/blog/generate-ai-video-inside-chatgpt-and-claude


You already describe shots to an assistant all day — "give me a slow push-in on a rainy alley, vertical, moody." The render should not require a tab switch. eroq runs a remote [MCP server](/docs/mcp) at `https://eroq.ai/mcp`; connect it once and image, video and speech generation appear inside ChatGPT or Claude as tools the assistant can call. Same API key, same wallet, same credit prices as the API and the studio. Nothing new to meter.

## What the MCP server is, in one paragraph

The Model Context Protocol is the open standard assistants use to call external tools. eroq's server speaks Streamable HTTP, is stateless, and every tool is a thin client of the public `/v1` API — `generate_image` is `POST /v1/images/generations` with a friendlier name. If you have used the API, you already know what each tool will do, what it costs and what it refuses.

## Two URL forms — and why one of them is a secret

Clients that can send headers (Claude Code, Cursor, anything scriptable) authenticate the normal way:

```text
https://eroq.ai/mcp
Authorization: Bearer eroq_sk_YOUR_KEY
```

ChatGPT and Claude custom connectors cannot attach a custom header, so they use the URL form instead:

```text
https://eroq.ai/mcp/eroq_sk_YOUR_KEY
```

Read that twice. **The URL is the credential.** Anyone who has it can spend your credits until you revoke the key. Treat it like a password: never paste it into a shared doc, a screenshot or a support ticket, and create a dedicated key for each connector so you can kill one without touching your production integration. The dashboard's MCP & CLI tab does exactly that — a "Generate a connect key" button, then the snippet for each client with the key already filled in.

Per-key rate limits apply (video and speech at 6 requests a minute on the base tier, multiplied by your plan), which is a comforting property for a key you hand to an assistant.

## Connect ChatGPT

1. Open Settings, then Connectors, then Create.
2. Paste `https://eroq.ai/mcp/<your key>` as the server URL.
3. Set Authentication to None — the key in the URL *is* the authentication.
4. Enable the connector in a conversation and ask for something.

Custom connectors are gated by ChatGPT plan and workspace settings — as of September 2026, verify the current rules on their site.

## Connect Claude (web and desktop)

1. Settings, then Connectors, then Add custom connector.
2. Paste the same `/mcp/<key>` URL.
3. Toggle the eroq tools on in the chat's tool menu.

Claude Code takes the header form instead, in one line:

```bash
claude mcp add --transport http eroq https://eroq.ai/mcp \
  --header "Authorization: Bearer eroq_sk_YOUR_KEY"
```

## The nine tools

- `generate_image` — text-to-image; returns the render URL. 10 credits on any of the three [image models](/models).
- `generate_video` — starts an async render and waits briefly; if the clip is not done yet it hands back a job id.
- `get_video_status` — free; polls that job id. Failed jobs refund themselves.
- `generate_speech` — text-to-speech MP3; roster voices, your clones, or `char:<id>` to speak as one of your characters.
- `enhance_prompt` — free; turns a rough draft into an engine-grade image or video prompt, or invents one when you give it nothing.
- `list_models` — free; every model with its credit price, availability and plan gate.
- `list_voices`, `list_characters`, `get_account` — free; the roster, your cast, and the wallet.

Every render also lands in your [Library](/studio/library) with its full recipe, so a clip made from a chat can be remixed in the studio later.

## A sample conversation

Here is roughly what a session looks like. The assistant decides which tool to call; you talk in plain language.

```text
You:  I need a vertical teaser for a short film about a lighthouse keeper.
      Tighten this into a real prompt first: "keeper climbs the stairs at night, storm".

AI:   [enhance_prompt kind=video]
      "A lighthouse keeper in a yellow raincoat climbs the spiral stairs of a
      stone lighthouse at night, lantern swinging, slow tracking shot following
      her up, warm practical light against cold blue storm windows, rain streaks
      on the glass, tense, patient mood, 35mm film grain."

You:  Good. Render it, 10 seconds, 9:16, on Motion One.

AI:   [generate_video model=eroq-motion-one seconds=10 aspect=9:16]
      Started — job b7e6c2d4. Rendering usually takes one to five minutes.

You:  Check on it.

AI:   [get_video_status id=b7e6c2d4]
      Done. Clip: https://…/library/…/b7e6c2d4.mp4 — 180 credits spent, 1,720 left.
```

Two things to notice. `enhance_prompt` is free, so use it liberally; the rewritten prompt names subject, motion, camera, light and mood in one paragraph, which is what the engines like. And `generate_video` is honest about time: it does not pretend a two-minute render finished in ten seconds. Ask again, or let the assistant poll.

The same flow works for stills — "make me a poster frame of that keeper on Image Art, 3:4" — and for voice — "read the logline with Orion, slower."

## What it costs

New accounts get 50 free credits, which is a still or two and a quick test of the tools. After that, prices are the flat ones on the [pricing page](/pricing):

- Images: 10 credits each, any model.
- [Motion One](/models/eroq-motion-one): 100 credits for 5 s, 180 for 10 s, on every account. It is also the uncensored video engine; the premium engines (Seedance, Kling, Hailuo, Veo) are moderated upstream and SFW only, and need a Hobby or Creator plan.
- Speech: 3 credits per 100 characters on Voice One, 2 on Voice Turbo.
- `enhance_prompt`, `list_models`, `list_voices`, `list_characters`, `get_account` and `get_video_status`: free.

Charges happen before the engine runs and refund themselves if the render fails. A request outside the acceptable-use policy returns `content_blocked` and is never charged. An empty wallet answers HTTP 402 — the assistant will tell you, not fail silently.

One policy note. The assistant you are talking to applies its own usage rules to what it is willing to write and send; eroq's [policy](/glossary/uncensored-ai) applies to what renders. Adults only, fiction only, on both sides.

## FAQ

### Does the connector work on the free tier?

Yes. The 50 welcome credits, Motion One, every image, voice and text model, clips up to 10 seconds. Premium video engines and longer clips are plan-gated.

### Should I use my production API key for the connector?

No. Create a dedicated key per connector from the dashboard. If a URL leaks, you revoke that one key and nothing else breaks.

### Why did generate_video give me a job id instead of a clip?

Video takes one to five minutes and the tool only waits briefly. The job id is your receipt: `get_video_status` is free and returns the clip when it is done — or the refund if it failed.

Ready to try it? [Get an API key](/signup) and paste one URL.
