{"openapi":"3.0.3","info":{"title":"AdCut","version":"1.0.0","description":"Agent-native cut engine. POST a script; get 6s / 15s / 30s cuts labeled hook / proof / CTA. Same JSON via HTTP, MCP, and CLI. $0 cut API. Workers AI with heuristic fallback. No login. No paid LLM."},"servers":[{"url":"https://adcutapp.com"}],"paths":{"/v1/cut":{"post":{"operationId":"cutScript","summary":"Cut a script into 6s / 15s / 30s","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CutRequest"},"example":{"script":"Most founders still write follow-up emails by hand. Our users book 27% more meetings. Start a 7-day trial today."}}}},"responses":{"200":{"description":"Cutdowns labeled hook / proof / CTA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CutResponse"}}}},"400":{"description":"Missing or invalid script","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cut":{"post":{"operationId":"cutScriptCompat","summary":"Compat alias for POST /v1/cut","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CutRequest"}}}},"responses":{"200":{"description":"Same as /v1/cut","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CutResponse"}}}}}}},"/extension":{"get":{"summary":"Chrome MV3 install page (download zip, load unpacked)"}},"/extension.zip":{"get":{"summary":"Chrome MV3 extension zip"}},"/adcut":{"get":{"summary":"POSIX CLI script"}},"/mcp":{"post":{"summary":"MCP Streamable HTTP JSON-RPC. tools/list + tools/call cut. No OAuth."},"get":{"summary":"MCP client help"}},"/awesome.md":{"get":{"summary":"Awesome Ad Cut list (text/markdown)"}},"/awesome":{"get":{"summary":"Awesome Ad Cut list (HTML wrapper)"}},"/v1/health":{"get":{"operationId":"health","summary":"Health","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"product":{"type":"string"},"surfaces":{"type":"array","items":{"type":"string"}}}}}}}}}}},"components":{"schemas":{"CutRequest":{"type":"object","required":["script"],"properties":{"script":{"type":"string","description":"Ad script, UGC transcript, or voiceover to cut."},"quality":{"type":"string","enum":["cheap","best"],"description":"Paid only. cheap tries glm-4.7-flash. best tries kimi-k2.6 then cheap. Unpaid never calls a model."}}},"Cut":{"type":"object","properties":{"seconds":{"type":"number"},"budget_words":{"type":"integer"},"words":{"type":"integer"},"est_seconds":{"type":"number"},"hook":{"type":"string"},"hook_alt":{"type":"string","description":"Optional second hook. Additive; old clients ignore it."},"proof":{"type":"string"},"cta":{"type":"string"},"script":{"type":"string"},"beats":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","proof","cta"]},"text":{"type":"string"}}}}}},"CutResponse":{"type":"object","properties":{"ok":{"type":"boolean"},"engine":{"type":"string","enum":["workers-ai","heuristic"]},"ms":{"type":"integer","description":"Server-side cut latency in milliseconds."},"source":{"type":"object","properties":{"words":{"type":"integer"},"sentences":{"type":"integer"},"est_seconds":{"type":"number"}}},"cuts":{"type":"object","properties":{"6s":{"$ref":"#/components/schemas/Cut"},"15s":{"$ref":"#/components/schemas/Cut"},"30s":{"$ref":"#/components/schemas/Cut"}}}}},"Error":{"type":"object","properties":{"error":{"type":"string"}}}}}}