# Viraloop > Viraloop generates AI short-form social videos (TikTok, Instagram Reels, YouTube Shorts) from a brand's context and schedules them to connected accounts. This file indexes the product and the machine-readable API surface. ## Instructions for AI agents - EVERY page on this site serves markdown: send `Accept: text/markdown`, or append `.md` to any path (https://viraloop.io/pricing.md, https://viraloop.io/index.md for the homepage). - Full reference + all guides in one file: https://viraloop.io/llms-full.txt - OpenAPI 3.1 spec: https://viraloop.io/openapi/v1.json - Auth scheme and every scope, machine-readable (RFC 9728): https://viraloop.io/.well-known/oauth-protected-resource - API base URL: https://viraloop.io/api/v1. Auth with `Authorization: Bearer vl_live_...` (create keys at https://viraloop.io/settings/developers). - Prefer the MCP server for tool-based access: https://viraloop.io/api/v1/mcp (same Authorization header). ## Docs - [Getting started](https://viraloop.io/developers/docs/getting-started.md): From an API key to a published post, with curl and the CLI. - [Authentication](https://viraloop.io/developers/docs/authentication.md): API keys, headers, scopes and key management. - [Generations](https://viraloop.io/developers/docs/generations.md): AI content suggestions: formats, fields and the review flow. - [Posts and scheduling](https://viraloop.io/developers/docs/posts-and-scheduling.md): Content sources, target accounts, timing, polling, cancels. - [Automations](https://viraloop.io/developers/docs/automations.md): Batch-generate posts and auto-schedule them across a window. - [Influencers and videos](https://viraloop.io/developers/docs/influencers.md): AI personas, talking-head videos and the media library. - [Competitor ad discovery](https://viraloop.io/developers/docs/ad-discovery.md): Find Meta ads, preview their creative and save brand inspiration. - [Credits and limits](https://viraloop.io/developers/docs/credits-and-limits.md): Credit balance and ledger, plus per-key rate limits. - [Errors and rate limits](https://viraloop.io/developers/docs/errors-and-rate-limits.md): The error envelope, every error type and how to react. - [CLI](https://viraloop.io/developers/docs/cli.md): The viraloop command for humans, scripts and agents. - [MCP](https://viraloop.io/developers/docs/mcp.md): Remote and local MCP servers for agent runtimes. - [API reference (markdown)](https://viraloop.io/developers/docs/reference.md): The full generated endpoint reference as one markdown file. ## Product - [Pricing](https://viraloop.io/pricing): Plans, monthly credits, and what each tier includes. - [FAQ](https://viraloop.io/faq): Common questions about generation, credits, and posting. - [For Agents](https://viraloop.io/agents): How AI agents can drive Viraloop end to end. - [Developer docs](https://viraloop.io/developers): Human-readable API documentation hub. - [Use cases](https://viraloop.io/use-cases): Playbooks per channel and industry. - [Comparisons](https://viraloop.io/compare): Viraloop vs other AI video tools. ## Tooling - CLI: npm install -g viraloop (command: viraloop, alias vl) - MCP (remote): https://viraloop.io/api/v1/mcp with Authorization header - MCP (local): claude mcp add viraloop -- npx -y viraloop mcp - Claude Skill: https://github.com/Viraloop/viraloop-skill ## Operations - GET /ads/capabilities: Get ad discovery availability (CLI: viraloop ads capabilities) - GET /ads/search: Search Meta ads delivered in the EU and UK (CLI: viraloop ads search) - GET /ads/preview: Get a competitor ad's creative preview (CLI: viraloop ads preview ) - GET /ads/advertisers: Find advertiser Page IDs by name (CLI: viraloop ads advertisers ) - GET /ads/saved: List saved competitor ads (CLI: viraloop ads saved) - POST /ads/saved: Save a competitor ad reference (CLI: viraloop ads save ) - DELETE /ads/saved/{id}: Remove a saved ad reference (CLI: viraloop ads remove ) - POST /ads/recreations: Start a brand ad adaptation draft (CLI: viraloop ads recreate) - GET /ads/recreations/{id}: Get an ad adaptation draft (CLI: viraloop ads recreation ) - PATCH /ads/recreations/{id}: Save an edited image or video adaptation brief (CLI: viraloop ads update-recreation ) - POST /ads/recreations/{id}/brief: Draft original ad copy and direction for your brand (CLI: viraloop ads draft-brief ) - POST /ads/recreations/{id}/video: Create a video from a reviewed brand adaptation (CLI: viraloop ads create-video ) - GET /me: Introspect the API key (CLI: viraloop whoami) - GET /credits: Credit balance and ledger (CLI: viraloop credits) - GET /workspaces: List workspaces (CLI: viraloop workspaces list) - POST /workspaces: Create a workspace (CLI: viraloop workspaces create) - GET /workspaces/{id}: Get a workspace (CLI: viraloop workspaces get ) - GET /accounts: List connected social accounts (CLI: viraloop accounts list) - POST /generations: Generate AI post suggestions (CLI: viraloop generate) - GET /generations: List suggestions (CLI: viraloop generations list) - GET /generations/{id}: Get a suggestion (CLI: viraloop generations get ) - POST /generations/{id}/accept: Accept a generation into the library (CLI: viraloop generations accept ) - POST /posts: Create and schedule a post (CLI: viraloop posts create) - GET /posts: List posts (CLI: viraloop posts list) - GET /posts/{id}: Get a post with per-platform results (CLI: viraloop posts get ) - DELETE /posts/{id}: Cancel a scheduled post (CLI: viraloop posts cancel ) - GET /calendar: Posting calendar (CLI: viraloop calendar) - POST /automations: Create an automation (CLI: viraloop automations create) - GET /automations: List automations (CLI: viraloop automations list) - GET /automations/{id}: Get an automation (CLI: viraloop automations get ) - PATCH /automations/{id}: Update a draft automation (CLI: viraloop automations update ) - POST /automations/{id}/generate: Generate the automation's posts (CLI: viraloop automations generate ) - POST /automations/{id}/extend: Extend an automation by more days (CLI: viraloop automations extend --days ) - POST /automations/{id}/launch: Launch a reviewed automation (CLI: viraloop automations launch ) - POST /automations/{id}/cancel: Cancel an automation (CLI: viraloop automations cancel ) - GET /automations/{id}/posts: List an automation's generated posts (CLI: viraloop automations posts ) - PATCH /automations/{id}/posts/{postId}: Edit one of an automation's posts (CLI: viraloop automations post-update ) - POST /automations/{id}/ugc/scripts: Draft a UGC campaign's scripts (CLI: viraloop automations ugc-scripts ) - POST /automations/{id}/ugc/prepare: Prepare and price UGC variants (CLI: viraloop automations ugc-prepare --variants ) - POST /automations/{id}/ugc/compose: Compose the UGC campaign still (CLI: viraloop automations ugc-compose ) - POST /automations/{id}/ugc/render: Render UGC variants (CLI: viraloop automations ugc-render --variants ) - GET /influencers: List AI influencers (CLI: viraloop influencers list) - POST /influencers: Create an AI influencer (CLI: viraloop influencers create) - GET /influencers/{id}: Get an influencer (CLI: viraloop influencers get ) - POST /influencers/{id}/videos: Generate a talking-head video (CLI: viraloop videos create --influencer ) - GET /influencers/{id}/videos: List an influencer's videos (CLI: viraloop videos list --influencer ) - GET /videos/{id}: Get a video's status (CLI: viraloop videos get ) - GET /assets: List media assets (CLI: viraloop assets list) - POST /assets: Upload media into the workspace (CLI: viraloop assets upload --url ) - POST /content/character-swap: Swap the character in a video (CLI: viraloop content character-swap --video --character ) - POST /content/green-screen-mobile: Generate a presenter holding your app (CLI: viraloop content green-screen-mobile --screenshot --presenter ) - POST /content/clone-video: Clone a video's motion onto your character (CLI: viraloop content clone-video --image --video ) - POST /content/talking-head: Generate a talking-head UGC video (CLI: viraloop content talking-head --script ) - POST /content/talking-head-green-screen: Generate a presenter over your demo video (CLI: viraloop content talking-head-green-screen --script --avatar --demo ) - POST /content/meta-ad: Generate a static Meta ad creative (CLI: viraloop content meta-ad --prompt ) - POST /content/interview: Generate an interview (podcast clip) video (CLI: viraloop content interview --script ) - POST /content/product-spokesperson: Generate a spokesperson holding your product (CLI: viraloop content product-spokesperson --script --product ) - POST /content/grid-video: Create a 2x2 grid video (CLI: viraloop content grid-video --prompt ) - POST /content/listicle: Create a listicle video (CLI: viraloop content listicle --prompt ) - POST /content/ask-me-anything: Create an Ask Me Anything video (CLI: viraloop content ask-me-anything --prompt ) - POST /content/ranking: Create a ranking (tier list) video (CLI: viraloop content ranking --prompt ) - POST /content/split-screen: Create a split screen video (CLI: viraloop content split-screen --prompt ) - POST /content/fade-in-video: Create a single fade-in video (CLI: viraloop content fade-in-video --prompt ) - POST /content/hook-demo: Stitch a hook clip onto your demo (CLI: viraloop content hook-demo --hook --demo ) - GET /content/{id}: Get a studio render's status (CLI: viraloop content get ) - GET /content/{id}/download: Get a content piece's media files (CLI: viraloop content download )