ClipForge

API & webhooks

Available on the API plan. Generate and manage keys from Settings.

Authentication

Send your key as a bearer token on every request. Keys are shown once at creation — store them somewhere safe.

Authorization: Bearer cf_live_...

Endpoints

POST /api/v1/videos

Queue a new clip. Same config shape as the dashboard.

curl -X POST https://clipsforge.pages.dev/api/v1/videos \
  -H "Authorization: Bearer cf_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "sourceType": "youtube_url",
    "sourceRef": "https://youtu.be/...",
    "autoDetect": true,
    "config": { "captions": true, "aspectRatio": "9:16" }
  }'

# -> 201 { "video": { "id", "status", "source_type", "source_ref",
#                      "duration_seconds", "error", "created_at",
#                      "download_url", "download_expires_at" } }
# download_expires_at is set when the video is a storage.to download link
# (free plans, or a paid video over 40 MB sent at full quality); null when
# download_url is a short-lived link to a video kept in your library.

GET /api/v1/videos

List your videos, newest first. ?limit= (default 20, max 100).

GET /api/v1/videos/:id

Poll a single job’s status and download link.

curl https://clipsforge.pages.dev/api/v1/videos/<id> \
  -H "Authorization: Bearer cf_live_..."

GET /api/v1/me

Verify a key and read the account’s tier, limits and current usage.

Rate limits

  • 120 read requests / minute, per key.
  • 10 write requests / minute, per key (video creation).

A 429 response includes standard X-RateLimit-* headers.

Discord webhooks

Set a webhook URL in Settings and we’ll POST a message to it every time one of your clips finishes rendering — whether it was queued from the dashboard or the API.