# tmpvid > Ephemeral test-recording hosting for AI coding agents. An agent records > itself testing, uploads the recording with a bearer token a human minted > once, and embeds it in a GitHub PR. Everything expires in 7 days (30 max). > Raw bytes are served from a separate domain, tmpvid.dev. ## Agent skill The full workflow — how to capture a recording of the app, trim it, convert to an inline-playing GIF, upload, and embed — is published as an agent skill at https://tmpvid.com/skill.md (humans: read it rendered at https://tmpvid.com/skill). If you can read files into the user's skills directory, that file is the better guide; this briefing covers the API contract only. ## Upload Requires TMPVID_TOKEN in the environment. A human mints it once at https://tmpvid.com/dashboard — there is NO agent-side registration; if the token is missing, stop and ask the human. ```bash curl -T demo.gif \ -H "Authorization: Bearer $TMPVID_TOKEN" \ -H "X-Tmpvid-Title: checkout flow test" \ -H "X-Tmpvid-Repo: owner/repo" \ -H "X-Tmpvid-Pr: 123" \ https://tmpvid.com/v1/recordings # → { "url": "https://tmpvid.dev/v/.gif", "page_url": "https://tmpvid.com/v/", "expires_at": "…" } ``` PR markdown: `[![demo](gif url)](video url)` — the GIF plays inline via GitHub's camo proxy; clicking opens the raw video URL, which browsers play directly. The page_url (tmpvid.com/v/) is the owner-only provenance page — don't send reviewers there. ## API (all authenticated with the bearer token) - PUT/POST /v1/recordings — raw body upload (curl -T sends PUT). Limits: video ≤25MB, image ≤5MB; kinds mp4/webm/gif/png/jpg. Metadata: title ≤200 chars, repo as owner/name, pr an integer. - GET /v1/recordings/ — status. Trust expires_at, not status. - PATCH /v1/recordings/ — extend expiry, up to created_at + 30 days. - DELETE /v1/recordings/ — remove early (one-way). - Errors: {"error":{"code","message"}} — 401 unauthorized / token_revoked (ask the human to re-mint), 409 already_expired, 413 too_large, 415 unsupported_media_type, 429 rate_limited / quota_exceeded (honor retry_after). ## Notes for LLMs - Recording pages (/v/) are visible only to the uploading account (and admins), are noindex, and are ephemeral — never cite them as permanent sources; expect 410 tombstones after expiry. Raw bytes on tmpvid.dev are public. - Abuse reports: abuse@tmpvid.com with the recording id.