{"name":"VideoAgent (vid.tv)","description":"Turn any URL into an on-camera AI video host. vid.tv reads the site, writes the agent's grounded Q&A, casts a consistent character, renders talking answer videos, embeds with one script tag, auto-tracks visitors, and emails the owner a weekly report written by the agent.","url":"https://vid.tv","version":"1.0","capabilities":["site-analysis","video-agent-build","on-camera-answers","one-line-embed","visitor-analytics","weekly-agent-report","knowledge-sources","grounded-text-answers","mcp-endpoint"],"authentication":{"type":"bearer","description":"API keys from https://vid.tv/console (account keys vk_* and per-agent keys)"},"endpoints":{"build_agent":{"method":"POST","path":"/v1/agents","description":"Analyze a website and build its video host: {website, seedCount?, label?, callback_url?} -> {agentId, apiKey, webhookSecret, brain, embed}"},"ask":{"method":"POST","path":"/v1/agents/{agentId}/ask","description":"Public cache-first ask: {question} -> {status, url} (talking video answer)"},"record":{"method":"GET","path":"/v1/agents/{agentId}","description":"Full agent record (authed)"},"analytics":{"method":"GET","path":"/v1/agents/{agentId}/analytics","description":"7-day visitors, pages, referrers, questions asked (authed)"},"list_agents":{"method":"GET","path":"/v1/agents","description":"List the account's agents with per-agent URLs (account key)"},"leads":{"method":"GET","path":"/v1/agents/{agentId}/leads","description":"Leads the agent captured: name, email, question (authed)"},"all_leads":{"method":"GET","path":"/v1/leads","description":"Every lead across the account (account key)"},"render_video":{"method":"POST","path":"/v1/videos","description":"Render a custom-script talking video (agent key)"},"build_site":{"method":"POST","path":"/v1/sites","description":"Generate a full website for a domain -> preview + package.zip (account key)"},"add_source":{"method":"POST","path":"/v1/agents/{agentId}/sources","description":"Train the agent: upload a PDF (multipart field 'file') or JSON {url} / {text}. Chunked, embedded, citable (agent key)"},"list_sources":{"method":"GET","path":"/v1/agents/{agentId}/sources","description":"What the agent has been trained on (agent key)"},"answer":{"method":"POST","path":"/v1/agents/{agentId}/answer","description":"Public text answer grounded ONLY in the agent's sources: {question} -> {answer, cites[], covered}"},"chat":{"method":"POST","path":"/v1/agents/{agentId}/chat","description":"The agent's own tool-using chat: sources + connected tools (Stripe, analytics, database, calendar, webhooks, aimusicvideo). Sensitive actions come back as pendingActions until approved (approve=<id>). Agent key, owner key, or public when the owner enabled it."},"connections":{"method":"GET","path":"/v1/agents/{agentId}/connections","description":"List/attach services to an agent; each becomes MCP + chat tools (owner or agent key). POST {kind,label,config}; kinds: stripe, umami, pocketbase, aimv, google_calendar (OAuth via /connections/google/start), webhook."},"market":{"method":"GET","path":"/v1/market","description":"Public catalogue of listed agents (name, blurb, price in credits, tool + source counts, page/MCP/embed URLs). Owners list via POST /v1/agents/{agentId}/listing."},"mcp":{"method":"POST","path":"/mcp/{agentId}","description":"Streamable-HTTP MCP endpoint exposing tools ask / search_sources / list_sources (agent key as Bearer)"}},"interop":{"openapi":"https://vid.tv/openapi.json","docs":"https://vid.tv/docs","embed_example":"<script src=\"https://vid.tv/embed/{agentId}.js\" async></script>","mcp_example":"https://vid.tv/mcp/{agentId}"},"contact":"support@vid.tv"}