{"name":"AutoEditor","description":"AI-powered video editor that automatically cuts dead air, understands narrative context, relocates the best moment to the opening, and preserves setups, payoffs, and tension builds — like a senior long-form editor.","version":"1.0.0","baseUrl":"https://api.autoeditor.app/agent","capabilities":[{"name":"sign-in","endpoint":"https://api.autoeditor.app/agent/sign-in","method":"POST","description":"Sign in on behalf of a user using email and password. Returns a JWT access token and API key for subsequent calls.","parameters":{"email":{"type":"string","required":true,"description":"User email address"},"password":{"type":"string","required":true,"description":"User password"}},"returns":{"accessToken":"string — JWT token for Bearer auth","apiKey":"string — Atlas API key (atlas_...) for API auth","userId":"string — Supabase user ID"}},{"name":"upload","endpoint":"https://api.autoeditor.app/agent/upload","method":"POST","description":"Create a new video editing job from a URL. The video is downloaded and processed automatically with context-aware editing.","auth":"Bearer token from sign-in","parameters":{"videoUrl":{"type":"string","required":true,"description":"Direct URL to the video file (MP4, MOV, etc.)"},"mode":{"type":"string","required":false,"enum":["long","vertical","horizontal"],"default":"long","description":"Editing mode: long-form, vertical (shorts), or horizontal (standard)"},"aggression":{"type":"string","required":false,"enum":["low","medium","high","viral"],"default":"high","description":"Cutting aggressiveness level"},"filename":{"type":"string","required":false,"description":"Optional filename for the upload"}},"returns":{"jobId":"string — job ID for tracking","status":"string — initial job status","estimatedDuration":"number — estimated processing time in seconds"}},{"name":"choose-mode","endpoint":"https://api.autoeditor.app/agent/choose-mode","method":"POST","description":"Get a recommendation for the best editing mode and aggression level based on video properties. No auth required.","parameters":{"durationSeconds":{"type":"number","required":true,"description":"Video duration in seconds"},"hasSpeech":{"type":"boolean","required":false,"default":true,"description":"Whether the video contains speech"},"contentType":{"type":"string","required":false,"enum":["talking-head","gaming","podcast","vlog","tutorial","reaction","interview","unknown"],"default":"unknown","description":"Type of video content"},"description":{"type":"string","required":false,"description":"Brief description of the video content"}},"returns":{"recommendedMode":"string — long, vertical, or horizontal","recommendedAggression":"string — low, medium, high, or viral","reasoning":"string — explanation of the recommendation"}},{"name":"subscribe","endpoint":"https://api.autoeditor.app/agent/subscribe","method":"POST","description":"Create a Stripe checkout session for a subscription plan. Returns a URL the user must visit to complete payment.","auth":"Bearer token from sign-in","parameters":{"plan":{"type":"string","required":true,"enum":["basic","starter","creator","studio","founder"],"description":"Subscription plan tier"},"billing":{"type":"string","required":false,"enum":["weekly","monthly","annual"],"default":"monthly","description":"Billing cycle"}},"returns":{"checkoutUrl":"string — Stripe checkout URL for the user to complete payment"}},{"name":"get-job","endpoint":"https://api.autoeditor.app/agent/job/:jobId","method":"GET","description":"Check the status of an editing job. Returns progress, output URL when ready, and viral score.","auth":"Bearer token from sign-in","parameters":{"jobId":{"type":"string","required":true,"description":"Job ID returned from upload"}},"returns":{"status":"string — analyzing, pacing, rendering, ready, failed","progress":"number — 0-100","outputUrl":"string — download URL when ready","durationSeconds":"number — output duration","viralScore":"number — predicted viral score (0-100)"}},{"name":"list-plans","endpoint":"https://api.autoeditor.app/agent/plans","method":"GET","description":"List all available subscription plans with pricing. No auth required.","returns":{"plans":"array — list of { plan, billing, price, priceId, features }"}}]}