Skip to main content
These endpoints run the models behind Dashboard → Predicted performance on content made anywhere. Send a reel, a text post or a picture post, where it will be posted, and the account’s own past posts; you get back one overall score, how it should rank among that account’s posts, the views, likes and comments to expect, and what in the content moved the prediction.
Each workspace can run up to 5 predictions at once and 200 per rolling 24 hours, past which POST returns 429 prediction_limit.

Pricing

What a prediction costs depends on the plan: A charged prediction costs what its model calls cost us plus 20%. That works out to a few cents: The price is quoted in price_cents as soon as you send the request, and charged only once the prediction succeeds: a failed one costs nothing, and charged says when it has been. If the balance cannot cover it and auto-refill is off, POST returns 402 payment_required and nothing runs. It shows up as ai_prediction in GET /v1/billing/events.

What can be predicted

Each format is predicted only where a model can read it: Any other combination is refused with 400; Instagram takes no text-only post. Media URLs must be public https addresses. Pictures are downloaded once (10 MB each at most, up to 20); X and LinkedIn read the first four, Instagram the first ten, and all are counted.

Image posts on Instagram

An image post on Instagram is read by the reel model, the one that predicts video, adapted to take pictures and text instead of a video:
  • the pictures stand in for the reel’s frames, the first one its opening, and text is its caption;
  • an AI looks through the pictures in order for the same review it gives a reel;
  • length, cuts, motion, speech and sound don’t apply to a picture post, so they count as an average reel’s and move nothing;
  • the account’s past reels are not watched next to it.
It was trained on reels only, so read percentile as “this post against the account’s usual reel”. The counts still scale from the instagram history you send, which may mix reels and picture posts. Sent to X or LinkedIn in the same request, the post is read there by the post models as usual, and the result has one entry in platforms for each.

Start a prediction

It runs in the background, so this answers 202 straight away:

The account’s history

accounts is keyed by platform. For each one, send what you know:
  • followers: sizes the prediction for an account with little history.
  • history: the account’s past posts there, with their text, posted_at and whatever counts you have (views, likes, comments, reposts). Up to 100.
The history is what makes a prediction about your account rather than a typical one. Posts from the last 90 days that are at least two days old set what your usual post does, and the counts in the result scale from it. For text and image posts the newest 20 are also read for how alike the new post is to them and how soon after the last one it goes out. For a video, give past reels a video_url: the newest five are watched next to the new one, which ranks it against your own work. Without any history the counts come from your follower count, or from a benchmark for a new account; result.basis says which.

Poll for the result

Poll every 5 to 10 seconds. A post usually takes under a minute; a video up to six, most of it the model watching it.
(Shortened: a real result has every platform you asked for and more drivers, comments and tips.)

Reading the result

  • overall_score: one 0 to 100 grade, read like a school grade. 70 is a typical post for the account; 85 is clearly better, 55 clearly weaker. It leads with how the content ranks among the account’s own posts, nudged by the AI’s forecast and quality score (overall_score_parts).
  • platforms[].percentile: the share of the account’s own posts this one should beat (0.5 is typical). Treat it as a lean, not a measurement: picking the better of two of an account’s posts, the models are right about 6 times in 10.
  • relative is in multiples of the account’s usual post; predicted turns them into counts, with a low (p10), expected (p50) and high (p90) value. Social reach is heavy-tailed, so the range is wide.
  • drivers: what in the content moved expected engagement, largest first. 0.14 is +14%.
  • quality: 0 to 100 scores where 50 is a routine post. For a video an AI watched it, and for an image post sent only to Instagram an AI looked through its pictures (watch); for any other post an AI read it (review). Null if that step failed; the overall score then rests on the rank.
  • likely_comments are simulated, and tips are concrete changes that would raise reach.

Failures

A prediction that could not finish ends as failed with the reason in error, for example a picture that could not be downloaded or the model taking too long. Fix what it names and send it again. POST itself returns 503 service_unavailable when a model the request needs is down: the reel model for a video or an Instagram image post, the post models for X and LinkedIn.