ClippedDocs

API reference

Streamers

Watching a streamer is what makes Clipped record them whenever they go live, with nobody at a browser. It is the thing that produces clips, so it is usually the first call an integration makes.

A channel is a name or a link on Twitch, Kick or YouTube. A bare name is Twitch; the others are written kick:xqc and youtube:@handle, or pasted as a link. In a path, URL-encode it: /api/v1/streamers/kick%3Axqc.

Each streamer can have rules of their own — whether their clips post themselves, whether those get captions, how long their clips run, what makes a moment on their stream — which beat the account's settings. null in a PATCH puts one back on the account's. Rules can be set before you watch someone, so they are in place for their first stream.

A free account cannot keep a lineup — it opens one channel at a time from the web app — so watching needs a paid plan and answers 402 plan_required without one. How many are recorded at once is the plan's channelsAtOnce.

Endpoints

GET/api/v1/streamers

Who you are watching.

streamers is the names; lineup is each with whether they are live and their rules.

POST/api/v1/streamers

Start watching one.

{ "channel": "jynxzi" }.

GET/api/v1/streamers/{channel}

One streamer: live or not, and their rules.

PATCH/api/v1/streamers/{channel}

Give them rules of their own.

autoPost, ending, captions, captionPosition, taste; null for the account's.

DELETE/api/v1/streamers/{channel}

Stop watching one.

Recording stops now; clips already cut are kept.

Fields

A streamer

channelstring

The channel's key: jynxzi, kick:xqc, youtube:@handle.

followingboolean

Whether it is on your lineup.

liveobject | null

The recording running now — sessionId, title, game, startedAt (ms), moments found so far — or null.

autoPost{ on, minScore }

Whether their clips post themselves, and from what score.

endingstring

tight, balanced or loose: how long a clip runs past the moment.

captionsboolean

Whether their clips that post themselves get captions burnt in.

captionPositionstring

Where those go: auto, top or bottom. Their own once one of their clips is captioned by hand, which also keeps that clip's font and colours for them.

tasteobject

What makes a moment on their stream. See Settings.

ownobject

{ autoPost, ending, captions, captionPosition, taste }: which are the streamer's own rather than the account's.

Examples

Tight clips for one streamer, and back to the default auto-post ruleShell
curl -X PATCH https://app.clipped.so/api/v1/streamers/kick%3Axqc \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{ "ending": "tight", "autoPost": null }'

Use cases