> **Shapeless capabilities index**
> Fetch https://shapelessai.com/llms.txt to discover every page before exploring further.
> Every page also answers Markdown: append `.md` to its path, or send `Accept: text/markdown`.

# Generate AI video

*Verified 2026-10-07. Source: https://shapelessai.com/capabilities/generate-video*

Generate a short clip from a prompt: one continuous camera move over one subject, silent unless you ask for audio, which costs more per second.

It is the most expensive asset there is, so the price per second is on GET /api/tools before you call. Output carries a SynthID watermark and needs an AI-generated label wherever the platform asks for one. The clip comes back as a media key ready to edit, caption or post.

## Ask in plain words

- "generate a 5 second clip of rain on a window at night"
- "AI video generation API for short-form content"
- "make b-roll of a city at dusk with sound"

## From an agent host (MCP)

Server: `https://shapelessai.com/mcp` ([add it to your host](https://shapelessai.com/connect)).

- `tools_run` with `{ "name": "generate_footage", "input": { ... } }`: the input is the REST body below; `tools_list` prints its JSON Schema.

## From code (REST)

Bearer API key with the scope each call names ([auth](https://shapelessai.com/docs/auth), [OpenAPI](https://shapelessai.com/api/openapi.json)).

- `POST /api/videos/generate` (write scope): Generate AI footage (tool generate_footage): {name, prompt, duration_seconds?, aspect?, resolution?, with_audio?, budgetUsd?}.

## From a terminal (CLI)

- `shapeless tools run generate_footage --input '<json>'` (`tools show generate_footage` prints the schema)

## Example

```bash
curl -s https://shapelessai.com/api/videos/generate -H "Authorization: Bearer $SHAPELESS_API_KEY" -H "Content-Type: application/json" -d '{"name":"rain window","prompt":"Slow push-in on rain hitting a window at night, neon bleeding through."}'
```

## Refusals

| Status | Meaning |
| --- | --- |
| 400 | The input does not match the tool's schema; the message names the field. |
| 402 | Not enough credit to hold budgetUsd, or the call costs more than budgetUsd. |
| 404 | No such tool on this deployment. |
| 422 | The tool refused this input; nothing was charged. |
| 502 | The tool failed; nothing was charged. |

## Where else

- [The api docs](https://shapelessai.com/docs/api) ([markdown](https://shapelessai.com/docs/api.md))
