ShortsCutter · Developers

ShortsCutter API

Submit long videos, poll for finished Shorts, and check your quota from your own tools. The API is included with every ShortsCutter subscription and draws on the same quota pool as the website — including team seats and rollover — so the two channels can never double-spend your allowance.

Authentication

Create an API key in My clips (Account panel → API keys). Keys look like sc_live_…, are shown once at creation, and only a hash is stored afterwards. Send the key as a Bearer token on every request:

Authorization: Bearer sc_live_…

Base URL: https://shortscutter-api.dylan-xm.workers.dev. Revoke a key in My clips at any time — revocation is immediate. Each key may make up to 60 requests per minute.

Endpoints

Method & pathWhat it does
POST /api/v1/jobsSubmit a long video for cutting. Returns 201 with the job id.
GET /api/v1/jobs/:idJob status (queued → running → done/failed) plus its clips with file URLs, scores and score reasons once done.
GET /api/v1/usageCurrent period usage: base allowance, rolled-in slots, used, remaining.

Submit a job

curl -X POST https://shortscutter-api.dylan-xm.workers.dev/api/v1/jobs \
  -H "Authorization: Bearer sc_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=…",
    "size": "9:16",
    "prompt": "focus on the pricing discussion"
  }'

video_url (required) is a public http(s) link, up to 500 characters. size (optional) is 9:16, 1:1, 4:5, 16:9, or a custom WxH between 100 and 4000 px per side. prompt (optional, up to 200 characters) steers which moments get picked. Response:

{ "ok": true, "id": 123, "kind": "paid", "status": "queued" }

Poll a job

curl https://shortscutter-api.dylan-xm.workers.dev/api/v1/jobs/123 \
  -H "Authorization: Bearer sc_live_…"
{ "ok": true,
  "job": { "id": 123, "status": "done", "size": "9:16", "kind": "paid", … },
  "clips": [ { "id": 456, "idx": 1, "file_url": "https://…", "duration": 42.5,
               "score": 87, "reasons": "[…]", "title": "…" } ] }

Check usage

curl https://shortscutter-api.dylan-xm.workers.dev/api/v1/usage \
  -H "Authorization: Bearer sc_live_…"
{ "ok": true, "period": "2026-11", "base": 30, "rolled_in": 8,
  "used": 12, "allowance": 38, "remaining": 26, "pool_size": 2 }

Quota & rollover rules

Errors

StatusMeaning
400invalid video url / invalid size / bad json — fix the request body.
401invalid api key — the key is unknown or revoked.
403The account behind the key has no active subscription, or its free sample is spent.
404not found — no such job in your pool.
429monthly quota reached (with a usage object) or rate_limited (over 60 requests/minute for this key).

Keys are account credentials. Treat them like passwords: keep them in a secrets manager, never commit them, and revoke immediately if one leaks. Questions: [email protected].