> **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`.

# Record a product demo

*Verified 2026-10-07. Source: https://shapelessai.com/capabilities/record-demo*

Show a product being used: a real Chromium opens your page and performs the steps you name (type into a field, click, hover, scroll, wait) and you get an MP4 of it drawn the way Screen Studio draws one, with a cursor that travels to each action and a camera that follows it.

Good for a launch post or the middle of a short, where a screenshot cannot show the flow.

## Ask in plain words

- "record a demo of signing up on our site"
- "make a screen recording of our pricing page flow"
- "product demo video API"

## From an agent host (MCP)

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

- `tools_run` with `{ "name": "demo_page", "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/demo` (write scope): Record a product demo of a page (tool demo_page). Schema on GET /api/tools.

## From a terminal (CLI)

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

## Example

```bash
curl -s https://shapelessai.com/api/videos/demo -H "Authorization: Bearer $SHAPELESS_API_KEY" -H "Content-Type: application/json" -d '{"name":"signup demo","url":"https://example.com","steps":"click Get started; type founder@example.com into Email; click Continue"}'
```

## 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))
