Carve logoCarve Get free clips
Home Automate shorts

Automate shorts end to end: one request in, one webhook out

TL;DR

The whole automation loop is two HTTP messages. You POST a video URL with an API key and a webhook address; when processing ends, Carve sends exactly one signed webhook carrying clip titles and durable download links. No polling loop, no timeout guessing.

API calls draw from the same minute balance as the dashboard, with no separate meter and no per-call pricing. On the self-hosted edition there is no meter at all, which is what makes an always-on pipeline affordable.

For agent-driven automation (Claude, ChatGPT, custom agents) the same account also exposes an MCP server; that protocol surface is documented on its own page.

The loop, end to end

Start a job with one request:

curl -X POST https://api.carve.app/api/process \
  -H "Authorization: Bearer osk_..." -H "Content-Type: application/json" \
  -d '{"url": "https://youtube.com/watch?v=...", "acknowledged": true,
       "webhook_url": "https://your-server.com/hooks/carve",
       "webhook_secret": "your-shared-secret"}'

The response returns a job id immediately. Minutes later, when the clips are cut, subtitled and archived, Carve POSTs once to your webhook URL with the job outcome, clip titles and download links durable enough to fetch later. A failed job also fires the webhook, so your pipeline never hangs on silence.

Verifying the webhook

If you passed a webhook_secret, the request carries an X-Carve-Signature header of the form sha256=<hex>: the HMAC-SHA256 of the raw request body under your secret. Recompute it and compare in constant time:

expected = "sha256=" + hmac.new(secret, raw_body, hashlib.sha256).hexdigest()
hmac.compare_digest(expected, request.headers["X-Carve-Signature"])

Reject anything that does not match and you have closed the door on forged deliveries.

Using it from n8n, Zapier or Make

No dedicated node is needed: the flow is a generic HTTP Request step that POSTs to /api/process, then a Webhook trigger that receives the completion payload and fans out to whatever comes next, posting to socials, dropping links in Slack, logging to a sheet. There is no official n8n template yet; the two-step shape above is the whole integration, which is why generic nodes cover it.

A weekly pipeline in one cron line

Because the API is one POST, scheduling is whatever scheduler you already have. A cron job that submits the latest episode URL every Monday, a GitHub Action on your podcast repo, or an agent that watches a feed. The webhook does the second half, so nothing stays running in between. If you would rather not write the curl, the CLI wraps it:

uvx carve process "$EPISODE_URL" \
  --webhook https://your-server.com/hooks/carve \
  --webhook-secret "$SECRET"

What automation costs

API and MCP calls draw from the same minute balance as the dashboard. There is no per-call price, no separate API tier and no automation surcharge. As of August 2026 that is not the market default: the mainstream tools meter their APIs per source minute or per operation, on top of subscription tiers, so an always-on pipeline runs with a taxi meter attached. Self-hosted Carve has no meter of any kind, and the hosted plans are flat:

Carve comes in two editions and they are priced very differently, so it is worth being precise. Carve (self-hosted) is free and free to self-host: Free to self-host. You run it with Docker on your own machine and bring your own API keys. No watermark, no usage cap, no subscription. What it costs you is hardware and time: on a typical CPU an 8-minute video takes 5 to 8 minutes to process. Carve Cloud is the hosted service: The same software with the compute and API keys covered. An NVIDIA GPU clips that same 8-minute video in about 50 seconds. Free plan is 2 videos lifetime with a watermark and no credit card required. Creator plan is $29/month for 10 videos with no watermark. Studio plan is $59/month for 35 videos.

Agents instead of scripts

If the thing driving the pipeline is an AI agent rather than a script, the same account exposes a native MCP server with six tools covering process, status, clips, quota, subtitles and publishing. The endpoint, the tool table and client setup live on the MCP server and API page.

Common questions

Can I automate YouTube Shorts creation with Carve?
Yes. Carve's self-hosted edition serves the same REST API and MCP server as the hosted service, with no metering. One POST submits a video, a signed webhook returns the finished clips, and the publishing endpoint posts them to YouTube Shorts, TikTok and Instagram Reels.
Is there an n8n integration for Carve?
There is no official n8n template yet, and none is required: the integration is a generic HTTP Request node posting to /api/process plus a Webhook trigger receiving the completion payload. Any platform with those two primitives, n8n, Zapier, Make or plain cron, can run the whole loop.
Do automated API calls cost more than using the dashboard?
No. API and MCP usage draws from the same minute balance as the dashboard with no per-call pricing: 20 free minutes a month on the hosted free tier, flat paid plans from $29/month, and no meter at all on the self-hosted edition.

Sources

Related comparisons