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 predictsvideo, 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
textis 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.
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
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 theirtext,posted_atand whatever counts you have (views,likes,comments,reposts). Up to 100.
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
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.relativeis in multiples of the account’s usual post;predictedturns 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.14is +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_commentsare simulated, andtipsare concrete changes that would raise reach.
Failures
A prediction that could not finish ends asfailed 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.