- First build. One record per video: every scene boundary with start, end and duration; one
representative keyframe per scene in the key-value store; and an ffprobe report carrying
duration, resolution, frame rate, video and audio codec, audio presence, bitrate, file size and
container format.
- No model and no API key. Every run produces the full product, so there is no preview mode and
nothing to sign up for before the first result.
- Pay-per-event: $0.01 per run at start, $0.02 per minute of video, rounded up, minimum one minute
per video. Price scales with the work because processing cost does. Videos that fail to
download, resolve or decode are reported in the dataset and are not charged.
- Accepts direct media URLs, a dataset id from any upstream scraper Actor, or page links resolved
best-effort. Dataset chaining is the documented primary path, because social platforms block
video fetching from datacenter IPs.
- Each scene object carries the key-value store key of its own keyframe, so scenes and stills
never have to be joined by position.
Found during pre-ship QA and fixed before first publish:
- A keyframe taken from the exact middle of a scene can land on a black transition frame. On the
Actor's own demo clip that happened to 1 scene in 5. Now, when the middle still looks empty,
the sampler tries a quarter and three quarters through the scene and keeps whichever has the
most in it. Costs about 0.1 s per affected video.
- A video whose download consumed the whole per-video time budget used to return
sceneCount: 1,
which is indistinguishable from a genuine single-shot video, and was charged for. It now fails
with a message saying the host was slow, and is not charged.
Found by the first real platform run, before publish:
- An Actor with no pricing applied returned an empty dataset. Pricing on Apify is account
state, applied separately from the code, so every Actor passes through a "deployed but not yet
priced" window. In it,
Actor.charge() does not raise: it logs a warning and reports zero
charged. That read as "the buyer's spend limit is exhausted" and stopped the run before it
delivered anything. An empty dataset is also how an Actor fails Apify's daily automated test.
A missing price now degrades to "process everything, bill nothing".
- Per-minute price set from measurement on the platform rather than an estimate: $0.005 per
minute of video, 5x the measured marginal compute cost. See PLAN section 6 for the runs and
the arithmetic.