# ViewPress > ViewPress makes short-form videos with AI: generate images, video clips, > voiceover, music, and SFX; compose them on a timeline; caption, enhance, and > publish to TikTok, Instagram, and YouTube. The whole surface is available to > agents over MCP and a REST API. ## Connect an agent (MCP) MCP server: https://viewpress.ai/api/mcp (streamable HTTP). Claude, Claude Code, Cursor, and VS Code sign in with OAuth — no API key needed. For Claude Code: claude mcp add --transport http viewpress https://viewpress.ai/api/mcp then run /mcp, select viewpress, and choose Authenticate. Header-configurable clients can send `Authorization: Bearer vp_...` instead (create keys at https://viewpress.ai/api-keys). ## API - [API reference](https://viewpress.ai/docs/api): every endpoint, auth, credits, errors, and the timeline (tracks) model - [OpenAPI spec](https://viewpress.ai/api/v1/openapi.json): machine-readable, generated live from the server's own validation schemas - [Render body schema](https://viewpress.ai/api/v1/renders): full JSON schema of the timeline composition payload (GET, no auth) ## How it works - All generation is async: a POST returns `{ assetId, status: "pending" }` — poll `GET /api/v1/assets/{assetId}` until `ready`. - Generation debits credits, auto-refunded on failure. Rate limit: 120 requests/minute per account, one window shared across REST, MCP, API keys, and OAuth connections. Over it returns 429 with a `retry-after` header (seconds). - Every generated asset attaches to a video's chat in the web app, so a person can open the video and continue the work where the agent left off.