Video editing API to level up your applications
Add SendShort's AI editing to your product. Send a video link, get short clips with captions back, and schedule them to TikTok and YouTube. A REST API with webhooks, from Professional ($29/month).
curl -X POST "https://app.sendshort.ai/api/v1/import" \
-H "Authorization: Bearer ss_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"youtube_url": "https://youtu.be/xxxxxxxx"}'
# 202 {"job_id": "…", "status": "queued"}
const res = await fetch("https://app.sendshort.ai/api/v1/import", {
method: "POST",
headers: {
Authorization: "Bearer ss_sk_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({ youtube_url: "https://youtu.be/xxxxxxxx" }),
});
const { job_id } = await res.json(); // status: "queued"
import requests
res = requests.post(
"https://app.sendshort.ai/api/v1/import",
headers={"Authorization": "Bearer ss_sk_your_api_key"},
json={"youtube_url": "https://youtu.be/xxxxxxxx"},
)
job_id = res.json()["job_id"] # status: "queued"
Why the SendShort API
The clipping engine of our editor, as an API
The API uses the same pipeline as the SendShort editor: AI moments, captions, crop and framing, B-roll and translation. You do not run any video servers.
Import a video from YouTube, Twitch, Kick or a direct link. Clip it into shorts, make music videos, and schedule the results to TikTok and YouTube. Webhooks tell your app when each job is done.
Getting started
From API key to finished shorts in three steps
01
Get your API key
On Professional or Business, open Settings → Preferences → API keys and create a key.
02
Import and clip
Import a video link, then start a clip job with the number of shorts, the caption theme and the format.
03
Get results
Poll the job or get a webhook. The clip status has the download link of each short.
API features
What you can do with the API
Long videos into shorts
A video link goes in. The AI finds the best moments and cuts them into shorts. Pick a count or the moments you want.
Captions
Word-level captions in 100+ languages, with the caption themes and templates of your account.
Editing options
Crop, format, B-roll, zoom, silence cut, transitions, audio effects and caption translation, in the same clip request.
Music videos
A 9:16 video of the first 60 seconds of a song, with lyric captions, a sound wave, beat bars and a background clip.
Scheduling
Schedule shorts to TikTok and YouTube, and slideshows to TikTok as photo posts. List and cancel posts.
Webhooks
Signed events when a short is ready, a post goes live or a job fails. 7 retries over about 42 hours.
Reference
Authentication and API keys
Base URL https://app.sendshort.ai. Send every request with these headers:
Authorization: Bearer ss_sk_your_api_key
Content-Type: application/json
- Create keys in Settings → Preferences → API keys. Up to 10 active keys.
- Expiry: 30 days, 90 days, 1 year or never.
- Keep the key on your server. Never put it in a URL or in browser code.
- Plan: Professional ($29/month) or Business.
Rate limits
Limit
Value
All requests
120 a minute per key (shared with the AI Agent)
Clip starts
5 a minute
Import starts
3 a minute
Music-video starts
3 a minute
Over the limit
429 with a Retry-After header
Endpoints
All paths are under https://app.sendshort.ai. Jobs (import, clip, music video) return 202 with a job_id. Poll the status endpoint or use webhooks.
Method and path
Purpose
GET /api/v1/status
Plan, quotas, rate limits
POST /api/v1/import
Import a long video (202 + job_id)
GET /api/v1/import/:jobId
Import status
GET /api/v1/videos
List long videos (search, limit, offset)
POST /api/v1/videos/:videoId/delete
Delete a long video
GET /api/v1/videos/:videoId/moments
AI moments (generate=true creates them)
GET /api/v1/themes
Caption themes
GET /api/v1/templates
Templates
POST /api/v1/clip
Clip into shorts (202)
GET /api/v1/clip/:jobId
Clip status and download links
POST /api/v1/music-video
Create a music video
GET /api/v1/music-video/:jobId
Music-video status
POST /api/v1/music-video/upload
Signed upload URL for audio or your own video
GET /api/v1/shorts
List shorts
GET /api/v1/shorts/:shortId
One short and its download link
GET /api/v1/slideshows
List slideshows
GET /api/v1/social-accounts
Connected TikTok and YouTube accounts
POST /api/v1/schedule/short
Schedule a short
POST /api/v1/schedule/slideshow
Schedule a slideshow (TikTok)
GET /api/v1/schedule
List scheduled posts (include_past=true)
POST /api/v1/schedule/:scheduleId/cancel
Cancel a post
GET, POST /api/v1/webhooks
List webhooks and event types / subscribe
GET, DELETE /api/v1/webhooks/:id
One webhook / unsubscribe
POST /api/v1/webhooks/:id/test
Send a webhook.test event
GET /api/v1/events
Event log, last 30 days (type, since, limit)
Request fields and responses: full API reference.
Clip a video into shorts
curl -X POST "https://app.sendshort.ai/api/v1/clip" \
-H "Authorization: Bearer ss_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"video_id": 12345, "count": 5}'
# 202 {"job_id": "…", "status": "queued"}
# Then poll GET /api/v1/clip/:jobId for the download links.
Make a music video
curl -X POST "https://app.sendshort.ai/api/v1/music-video" \
-H "Authorization: Bearer ss_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"audio_url": "https://youtu.be/xxxxxxxx", "media_type": "gameplay"}'
# 202 {"job_id": "…", "status": "queued"}
# Then poll GET /api/v1/music-video/:jobId.
Use only songs that you have the rights to. See the music video generator.
Schedule a short to YouTube
curl -X POST "https://app.sendshort.ai/api/v1/schedule/short" \
-H "Authorization: Bearer ss_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"short_id": 67890,
"publish_at": "2026-11-20T18:00:00+01:00",
"youtube": {"account_ids": ["…"]}}'
# Account IDs come from GET /api/v1/social-accounts.
Webhooks and events
Subscribe with POST /api/v1/webhooks or in Settings → Preferences → Webhooks. Webhooks also work with Zapier, Make and n8n.
Event
Sent when
short.ready
A short is ready
short.failed
A short failed
post.published
A scheduled post went live
post.failed
A scheduled post failed
import.completed
A long video finished importing
import.failed
An import failed
clip.failed
A clip job failed
music_video.completed
A music video is ready
music_video.failed
A music video failed
- Signed with Standard Webhooks headers. Check the signature before you trust an event.
- 7 retries over about 42 hours.
- Up to 25 webhooks.
GET /api/v1/eventsreturns the event log of the last 30 days.
curl -X POST "https://app.sendshort.ai/api/v1/webhooks" \
-H "Authorization: Bearer ss_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/sendshort", "events": ["short.ready", "post.failed"]}'
# 201. Then POST /api/v1/webhooks/:id/test sends a webhook.test event.
Video editing API use cases
Agencies
Clip and caption videos for every client from one script.
Education
Schools and course platforms can caption and clip lectures at scale.
Creators
Turn one recording into a week of scheduled posts without an editor.
Automation builders
Connect SendShort to n8n, Zapier or Make with the API and webhooks.
SaaS
Add clipping and captions to your podcast or course product.
Studios
Automate the repeated half of post-production and take on more clients.
FOR AI AGENTS
The same jobs as MCP tools
The MCP server gives Claude, ChatGPT and Grok Bot 20 tools for the same jobs. It shares the API rate limit.
Import and clip videos
Make music videos
Schedule to TikTok and YouTube
Read the AI Agent guide See all integrationsFrequently asked questions
Which plan do I need for the SendShort API?
Professional ($29/month) or Business. Starter does not include the API. See pricing.
How do I get an API key?
In SendShort, open Settings → Preferences → API keys. You can have up to 10 active keys. Each key expires after 30 days, 90 days or 1 year, or never.
What are the API rate limits?
120 requests a minute per key. Clip starts: 5 a minute. Import starts: 3 a minute. Music-video starts: 3 a minute. Over the limit, the API returns 429 with a Retry-After header.
Can the API post to TikTok and YouTube?
Yes. POST /api/v1/schedule/short schedules a short to TikTok and/or YouTube. POST /api/v1/schedule/slideshow schedules a slideshow to TikTok as a photo post. The API does not post to other platforms.
Do I have to poll for results?
No. Subscribe to webhooks, for example short.ready or music_video.completed, and SendShort sends a signed request to your URL.
Where is the full API reference?
The full reference with all request fields is in the sendshort-mcp README (HTTP API).