POST /v1/demos - body is a recording id and a context object: company, industry, systems, figures. Bearer key in the header, nothing else required.
An API that returns an interactive demo per prospect
You record your product once. Each call names one prospect's company, systems and figures, and Understudy's classifier decides which regions of your captured screens get substituted for them. Below 0.95 confidence it substitutes nothing. Back comes a demo URL.
No card required.
€0.40
per generated demo
200
free every month, permanently, on every account
0.95
the classifier's floor; under it a span is left exactly as you recorded it
Common questions
Everyone in this category prices the library. That is the bug.
Rivia.AI publishes $19 a month for up to 20 demos and $49 for up to 50. Past that there is an Enterprise plan with no price on it. Supademo counts creators instead, and its AI demo agent runs on prepaid credits at roughly six cents each.
None of that is unfair. It is how you price a platform: something is stored, something is served, somebody logs in. The count is a proxy for how much of the platform you are using.
It is a bad proxy for a per-account motion. The number of demos you should make this quarter is the number of deals worth building one for. So the cap binds in week six, and the deletion is chosen by view count rather than by pipeline.
- The per-account demo is the reason the tool was bought. It is also the first thing rationed.
- Deleting a demo deletes what it taught you, which is the part you cannot re-buy next quarter.
Product
One call, and what comes back
Ingest happens once per recording. After that a demo is a POST.
At ingest every frame is segmented and each candidate span is classified: the seeded company name, a connector label, a chart figure, a header cell, body copy that must not move. Below 0.95 nothing is substituted and the span is flagged for a reviewer on your side.
Returns 201 - a demo URL, the substitution rules applied, and the spans that were flagged and left alone. About two seconds.
Webhook on finish - posted to your endpoint when a viewer reaches the last step, carrying the demo id and the step they stopped at.
what you get
One recorded screen, generated for one named prospect
What the classifier substituted, and what it refused to touch.
| span | as recorded | as generated |
|---|---|---|
| company name, header | Northwind Trading | Bellhaven Freight |
| account owner cell | j.okafor@northwind | m.reyes@bellhaven |
| plan label | Growth | Enterprise |
| invoice total | €18,400 | €61,200 |
| chart axis label, 0.91 | Q3 revenue | left as recorded |
| sidebar avatar, 0.72 | JO | left as recorded |
A drawn frame, not a customer demo. Chrome that must never move is left alone, and so is anything under the floor.
Who it is for
Whether this fits your motion
This is for you if
- ✓You send different demos to different accounts, and somebody keeps a list of who got which
- ✓An engineer or an ops person will call an API, because there is no interface to click
- ✓Your capture workflow already exists and you are not looking to replace it
This is not for you if
- ✕You send the same three demos to everybody, in which case a cap is not binding and a subscription is cheaper
- ✕You want a library, an editor and a dashboard, all of which we deliberately do not have
- ✕You have no recording to start from, because we do not capture
Where this is
The endpoint and the review queue are running. Recording ingest is limited to captures under twenty minutes until December.
Integrations
What tends to call it
Nothing here is required. The endpoint takes a bearer key and a JSON body, so anything that can POST is already integrated.
- HubSpot
- Salesforce
- Slack
- Segment
- Google Analytics
- Notion
- Linear
Results
The limits this thing actually has
Numbers from the product's own design, not from anybody's price list.
- 010.95confidence below which a span is left exactly as recorded
- 022 secondsfrom POST to a returned demo URL
- 0330 daysdefault demo expiry, changeable per call
- 04€0.40per generated demo, after 200 free each month
Pricing
€0.40per generated demo, after 200 free a month
Views are not counted. A demo sent to one person and a demo opened four hundred times cost exactly the same.
- Every demo the endpoint returns, served for its lifetime from Ireland
- The review queue, with as many reviewers as you want
- Per-demo analytics and the finish webhook
- Email support on the API and the queue
- The first 200 demos every month are free on every account, permanently, with no card.
- No minimum, no annual term, no platform fee. Stop calling the endpoint and the bill stops.
- A call that fails to return a demo is not billed.
- Deleting a demo deletes its context and its analytics in the same call.
Scope
What we do not have
The first three are the reasons a fair buyer picks the platform instead.
What's in scope
- ✓Generation of a demo per prospect, at any volume, with no count to manage.
- ✓Per-demo analytics, a finish webhook, and deletion that takes the analytics with it.
- ✓A review queue for flagged spans, and export of everything as JSON from the API.
What we don't do
- ✕No platform. No editor, no library UI, no dashboard, no screen of ours to log into.
- ✕No recorder. You bring the capture from whatever you already use.
- ✕No engagement or feedback suite. One endpoint, one job, and the sequences stay where they are.
FAQ
The four we get asked
What happens to a span it is unsure about?⌄
It is left exactly as recorded and flagged. An uncertain call makes a demo more generic, never wrong.
Can a prospect tell it was generated?⌄
Every frame is from your recording, so it looks like the demo you approved, because it is.
What if we record against a live tenant?⌄
Then real customer data is in our processing. Use a seeded tenant; we say so during setup and we cannot enforce it.
Is there a plan with a fixed monthly number?⌄
No. If you need the invoice known in advance, this pricing is wrong for you and we would rather say so here.
Take a key and generate one
A work email gets you a key and the API reference. Upload one recording, post one context object, and look at what comes back before anyone talks to you.
We'll come back within one business day with a straight yes or no.