API

Developers

Send a topic, get back a finished vertical video - script, voiceover, footage, captions and music - for YouTube Shorts, TikTok and Reels. Paid from your credits, like a video made in the app.

1. Get a key

API keys come with the Silver plan and up. Make one below, give it a name, and copy it - it's shown once. You can have 5 at a time, and revoke any of them whenever you like. Send it with every request:

Authorization: Bearer tc_live_…

Keep it on your server. Anyone with the key can spend your credits.

2. Make a video

curl -X POST https://tallclip.com/api/v1/videos \
  -H "Authorization: Bearer $TALLCLIP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"topic": "Why the Moon is drifting away from Earth", "tone": "Educational", "length": "YouTube Shorts", "visuals": "stock"}'

The answer comes straight back, while the video is made:

HTTP/1.1 202 Accepted
{ "id": "6f1c…", "status": "queued", "credits": 1200, "statusUrl": "/api/v1/videos/6f1c…" }

The whole price is taken when the request is accepted. The voiceover is charged at its most and the difference is given back once the script is written. If the video can't be started, everything is given back; if the render fails, its part is given back automatically.

FieldWhat it is
topicrequiredWhat the video is about, 3 to 300 characters.
toneoptionalDefault "Dramatic". One of: Dramatic, Scary, Funny, Motivational, Mysterious, Educational, Commentator, News report, Documentary, Storyteller, Deadpan, Calm, Advert, How-to, Countdown, Review.
lengthoptionalDefault "YouTube Shorts". One of: Quick (~12s), Instagram Reels (~35s), Snapchat (~50s), YouTube Shorts (~62s), TikTok (~70s), Facebook Reels (~85s), X (~135s), LinkedIn (~175s), Custom / long-form (~180s).
voiceoptionalA voice id - the one the voice picker on the create page uses, e.g. en-US-Chirp3-HD-Charon (the default). Your plan decides which voices you can use.
visualsoptional"stock" (real stock footage, the default) or "photos" (a new AI picture for every shot, Silver and up).
languageoptionalDefault "en". One of: en (English), es (Español), fr (Français), de (Deutsch), it (Italiano), pt (Português), nl (Nederlands), pl (Polski), tr (Türkçe), id (Bahasa Indonesia), sv (Svenska).

Moving AI clips aren't offered through the API yet - make those in the app.

3. Check on it

curl https://tallclip.com/api/v1/videos/VIDEO_ID \
  -H "Authorization: Bearer $TALLCLIP_KEY"
{ "id": "6f1c…", "status": "rendering", "progress": 0.42, "stage": "rendering", "credits": 1200, … }
{ "id": "6f1c…", "status": "done", "progress": 1, "videoUrl": "https://…mp4", … }

Ask every 10 to 15 seconds; a one-minute video usually takes a few minutes. GET /api/v1/videos?id=VIDEO_ID works too, and GET /api/v1/videos lists your 20 newest.

statusMeans
queuedAccepted, about to start.
writingThe script and voiceover are being made.
renderingWith the video server - progress runs from 0 to 1.
doneFinished. videoUrl is a direct MP4 link that lasts a few hours - ask again for a fresh one. Videos are kept for 30 days.
failedIt couldn't be made; error says why and what was given back.
expiredFinished too long ago - the file has been cleared.

Your account

curl https://tallclip.com/api/v1/me -H "Authorization: Bearer $TALLCLIP_KEY"

{ "credits": 52000, "available": 52000, "plan": { "id": "silver", "name": "Silver", "videosPerDay": 2 }, "api": { "allowed": true, … } }

available leaves out credits set aside for scheduled Auto-Pilot posts, which API videos can't spend. In a team, the API spends the team owner's credits, as the app does.

What a video costs

In credits, with a standard voice - the same prices as the app. Taken from your plan's credits or any you've topped up. AI pictures are made on your plan's picture model, so they cost what that model costs.

Credits to pounds: 27,000 credits for £10 at top-up prices, so 1,000 credits is about 37p - a plan's credits work out cheaper. See pricing for plans.

LengthStock videoAI pictures (Silver, Gold)AI pictures (Diamond)
Quick (~12s)450 (about 17p)780 (about 29p)1,200 (about 44p)
Instagram Reels (~35s)800 (about 30p)1,890 (about 70p)3,290 (about £1.22)
Snapchat (~50s)1,000 (about 37p)2,520 (about 93p)4,520 (about £1.67)
YouTube Shorts (~62s)1,200 (about 44p)3,200 (about £1.19)5,700 (about £2.11)
TikTok (~70s)1,300 (about 48p)3,490 (about £1.29)6,290 (about £2.33)
Facebook Reels (~85s)1,500 (about 56p)4,120 (about £1.53)7,520 (about £2.79)
X (~135s)2,270 (about 84p)6,520 (about £2.41)12,020 (about £4.45)
LinkedIn (~175s)2,790 (about £1.03)8,290 (about £3.07)15,290 (about £5.66)
Custom / long-form (~180s)2,860 (about £1.06)8,460 (about £3.13)15,610 (about £5.78)

A premium voice adds to the voiceover part: at YouTube Shorts length it's 540 credits on Silver and 1,100 from Gold up, against 340 for a standard voice. These are the most a video is charged; the voiceover's share usually comes in a little under and the rest is given back.

Limits

LimitPer key
New videos20 an hour, 100 a day
All requests (including status checks)1,200 an hour
Videos being written at once5 per account
Keys5 per account

Past a limit you get 429 with a Retry-After header saying how many seconds to wait.

Errors

Every error has the same shape: { "error": { "code": "…", "message": "…" } }. The message is written to be shown to a person.

HTTPcodeWhen
400invalid_requestA field is missing or not one of the allowed values - the message lists them.
401unauthorizedNo key, a mistyped key, or a revoked one.
402insufficient_creditsNot enough credits. Includes balance and needed. Nothing was charged.
403plan_requiredYour plan doesn't include the API (Silver and up).
403plan_blockedYour plan doesn't include that voice or those visuals.
403account_on_holdThe account is on hold after a disputed payment.
404not_foundNo video with that id on this account.
429rate_limited / too_many_in_flightSlow down - see Limits.
500 / 503server_error / try_againOur side. Nothing was charged for a request that didn't get a 202.

Make a Short from any page

Reading an article you want to turn into a video? Drag this to your bookmarks bar, then click it on any page - TallClip opens with that page ready under From a link. Nothing is charged until you press the button there.

Make a Short (TallClip)← Drag this to your bookmarks bar

Or add a bookmark by hand with this as its address:

javascript:(function(){window.open('https://tallclip.com/create?link='+encodeURIComponent(location.href),'_blank');})();

Chrome extension

The same thing as a button in Chrome's toolbar. It only sees the page you click it on, and only when you click it. To try it before it's in the Chrome Web Store: download it, unzip it, open chrome://extensions, switch on Developer mode, choose Load unpacked and pick the unzipped folder.

Download the extension (.zip)