Version history
Every re-shoot, re-render and edit is a new video beside the old one. Nothing is overwritten and no shared link stops working.
Every derived job — a re-render, a refresh, an edit — records which job it came from. A Versions tab on the job page reads that lineage and shows the whole chain, newest first, with a poster, an ordinal, a name, what kind of version it is and "you are here" on the one you are looking at.
Nothing new is recorded to make this work. It is a read over provenance that has existed since each of those kinds shipped.
Nothing is ever overwritten
This is the durability half of the product and it is worth being explicit about.
- A re-shoot is a new video. The one it replaces stays in your library, stays playable and stays downloadable.
- A link you already shared keeps playing the video you shared. The share token belongs to a job, so a new version has no effect on it. If you want the link to show the new cut, share the new version and revoke the old one — deliberately two actions, because the alternative is a URL in somebody's documentation changing under them.
- The automatic re-shoot after a failed capture appears as a version too, and the failed job's page links forward to it.
Reading the list
Versions are listed newest first, because the one you just made is the one you are looking for. The
ordinals run the other way — v1 is the first, or the number would be decoration — so the list is
built on the ascending walk and shown reversed.
Each entry names its kind: original, re-render, refresh, edit, import or scripted. In a version list every entry has to name itself or a reader cannot tell the first shot from the fourth.
A version that is still running shows its status. A version you are not allowed to see is simply absent, exactly as a deleted one would be — the visibility check runs inside the walk rather than as a filter over its result, so the traversal can never pass through a video you may not see, and the count alone can never testify that one exists.
Deleting a middle version
Nothing special happens. The link from its child is cleared, and the child simply becomes the start of the chain you can see. There is no tombstone and no gap to explain.
Bounds
A chain is walked to a fixed depth in each direction and the answer is capped at 100 entries. There is nothing in the product that creates a loop, but the reference is a video pointing at another video and nothing in the database forbids a cycle, so the walk is bounded rather than trusting.
Two versions created inside the same millisecond break their tie on their id, so the numbering is the same on two renders of one page.
Making a version
The last row is the one people mix up. "Make another like this" starts a fresh demo that shares your inputs; it does not join the chain, because it did not come from that video.
Each version is charged the way its kind is charged: a re-render and a refresh buy a new capture and are gated at today's plan, an edit likewise, and every one of them counts once against your daily allowance. See Daily limits and the in-flight cap.