# Slideshot documentation

Slideshot turns a natural-language goal and a target URL into a polished product demo video. Point it at the app you want to record, describe the workflow, and Slideshot drives a browser through the flow and returns a clean MP4: with optional GIF, intro card, background framing, and shortcut overlays.

These docs cover the three integration paths, the features you can configure per run, and the HTTP API the CLI and MCP server are built on.

## Three ways to use Slideshot

- [Connect from an AI agent (MCP)](/docs/getting-started): Add the Slideshot MCP server to Claude Code, Codex, ChatGPT, Cursor, or any MCP-capable agent. The agent discovers Slideshot tools and drives recording from natural language.
- [Run from the command line (CLI)](/docs/mcp-vs-cli): Install the `slideshot` npm package for scripts, CI jobs, and scheduled automation.
- [Call the HTTP API directly](/docs/api): Use any HTTP client with an API key to create runs and download artifacts.

## Get started

The fastest path is to pick the agent or environment you already use.

- [Choose your agent](/docs/getting-started): Pick Claude Code, Codex, ChatGPT, Cursor, or another agent.
- [Claude Code & Cowork setup](/docs/getting-started/claude-code): CLI path for Claude Code, plugin marketplace path for Cowork.
- [Codex setup](/docs/getting-started/codex): Setup flow for OpenAI Codex CLI.
- [ChatGPT setup](/docs/getting-started/chatgpt): Setup flow for ChatGPT.
- [Cursor setup](/docs/getting-started/cursor): Setup flow for the Cursor editor.
- [Other agents](/docs/getting-started/other-agents): Generic flow for agents not listed above.
- [MCP versus CLI](/docs/mcp-vs-cli): When to choose each integration path.
- [Install skills](/docs/install-skills): Install Slideshot skills so agents know how to plan a recording.

## Features

Configure what the generated video looks like and how it handles the recorded app.

- [Describe the demo flow](/docs/describe-demo-flow): Write prompts that produce sharper recordings.
- [Login to any web app](/docs/authentication): Save credentials so Slideshot can sign into the target app.
- [Customize video](/docs/customizing-video): Overview of every visual control.
- [Intro templates](/docs/customizing-video/intro-templates): Prepend a branded title card to the demo.
- [Background](/docs/customizing-video/background): Frame the recorded UI on a solid or gradient canvas.
- [Video and content size](/docs/customizing-video/video-and-content-size): Choose output dimensions and inner framing.
- [Blur emails](/docs/customizing-video/blur-emails): Hide private identifiers during recording.
- [Show shortcuts](/docs/customizing-video/show-shortcuts): Surface keyboard shortcuts as overlays.

## API reference

The HTTP API is the source of truth. The CLI and MCP server call the same endpoints.

- [API key](/docs/api): Create an API key and authenticate requests.
- [API overview](/docs/api/overview): Base URL, request shape, errors, and pagination.
- [Runs](/docs/api/runs): Create runs, poll status, submit input, cancel, and list artifacts.
- [Credentials](/docs/api/credentials): Save and reuse credentials for target apps.
- [Artifacts](/docs/api/artifacts): What every run produces and how to download it.
- [Feedback](/docs/api/feedback): Send feedback tied to one or more runs.
- [Brand extraction](/docs/api/brand): Fetch brand assets for any URL.

## Quickstart

Create a run from the command line with `npx`. No global install required.

```bash
export SLIDESHOT_API_KEY="sk_live_xxxx"

npx slideshot runs create https://app.example.com \
  --goal "Create a new project and open the analytics dashboard"
```

Or call the HTTP API directly:

```bash
curl -X POST https://api.slideshot.ai/v1/agent/runs \
  -H "x-api-key: $SLIDESHOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://app.example.com",
    "goal": "Create a new project and open the analytics dashboard."
  }'
```

```json
{ "run_id": "11111111-2222-3333-4444-555555555555" }
```

Then poll the run until it reaches `succeeded` and download `demo.mp4` from the artifacts list. See [Runs](/docs/api/runs) and [Artifacts](/docs/api/artifacts) for the full flow.
