Skip to main content
Inspiration is the research layer. It reads the social accounts you track and their posts, ranked by outlier score. It is the grounding the pipeline draws on before any draft.

Two kinds of tracked account, one list

A tracked account is either inspiration (a creator or competitor you watch) or brand (one of your own profiles). Both live in list_tracked_accounts, and every row reports its own accountType, so omit the filter to see both and pass one to narrow. They mean opposite things, which is why the distinction is worth keeping straight: inspiration accounts tell you what works for other people, brand accounts tell you what works for you.

Operations

Reads need no scope; moving a tracked account within its list needs inspiration:write. Full parameters are in the inspiration tool reference.

What an outlier score is

An outlier score measures how far a post overperformed its own creator’s baseline, not the platform’s. A small account’s breakout ranks above a large account’s routine post, which is what makes the list useful for finding transferable patterns rather than just popular accounts. list_content spans both the creators you watch and your own posts by default. Every row carries isOwn, so one call answers both “what is working for the people I watch” and “how did my own posts do”. Narrow with scope when you want only one.

Scoping to a brand kit

list_tracked_accounts and list_content accept a brandKitId so you see only what is linked to one brand. If a scoped read comes back empty, the brand kit may have no linked accounts; check get_brand_kit for its inspirationAccounts and brandAccounts.

Mining outliers (the two-step)

Outliers carry the signal that makes a draft perform. List them, then go deep on the best.
1

List

list_content (scoped with brandKitId) to find the top performers, already ranked by outlier score.
2

Get content

get_content on the top few for the full detail: hashtags, keywords, audio, and the structure you want to learn from. The transcript is opt-in, because a long video is a large document: pass transcript: "text" for the whole thing or "segments" for timed slices, then narrow with startMs, endMs or transcriptSearch. To see a video, not only read it, run analyze_content with kind: "scenes" once, then pass scenes: "frames" to get_content. Each scene comes with its time range, what happens, what is said, and a frame; narrow with startMs/endMs. Scenes cost credits per minute of video the first time and are free to read after that.
This two-step is the Ground phase of the pipeline. The patterns you extract here are what the host LLM emulates, in the user’s own voice, when it drafts.