Public URLs and Embeds
Public URLs give a ScreenCI video a stable delivery surface outside the app. Once enabled, each selected language gets its own video, thumbnail, and subtitle URL that you can embed in docs, changelogs, support articles, or product pages.
You will learn
- what public URLs are
- how language-specific outputs behave
- how to make a video public in the app
- how selection works per language
- where to use them
- how they relate to the public delivery API
What public URLs look like
Public delivery starts from a stable base:
https://api.screenci.com/public/<videoId>Then each published language exposes:
/public/<videoId>/<language>/video/public/<videoId>/<language>/thumbnail/public/<videoId>/<language>/subtitle
The thumbnail comes in three downscaled sizes. Add ?size=sm (small previews),
?size=md (poster, the default), or ?size=lg (full-screen / downloads). See
the public delivery API
for exact dimensions.
Latest vs selected output
Public delivery can either:
- follow the latest finished render automatically
- stay pinned to the selected accepted version for each language
That lets you choose between automatic freshness and manual editorial control.
When a video is made public, ScreenCI starts in automatic mode. The latest finished render for each language becomes the active public output right away.
Enable public delivery in the app
Open the video in the ScreenCI app and turn on Enable public URL.
That does three things:
- creates a stable public route for the video
- turns on Auto-select latest version
- selects the newest finished render for each existing language
From there you have two ways to operate:
- keep Auto-select latest version enabled if each new finished render should replace the currently served one automatically
- turn Auto-select latest version off if you want to review versions and manually pin one per language
How selection works
Public delivery is tracked separately for each language.
- each language has its own current selected version
- only finished renders with an actual video output can be selected
- failed, still-rendering, or deleted versions are never served publicly
When Auto-select latest version is on, ScreenCI keeps moving each language forward to the latest finished render.
When Auto-select latest version is off, you must select a version manually for each language you want to serve. If a language has no selected version, its public URL exists but that language will not resolve to a video until you pick one.
Manual selection is currently done in the app, not the CLI.
Per-run (record-pinned) URLs
Alongside the stable URLs above, every media URL has a record-pinned form that
adds a records/<recordId> segment to the path, pinning it to a specific
screenci record run:
https://api.screenci.com/public/<videoId>/records/<recordId>/<language>/videoThe same single Enable public URL switch turns on both the stable URLs and
these record-pinned ones. A record-pinned URL is immutable: it serves that run’s
own render, or 404s once the run is cleaned up. It never falls back to a
different version, and it always honors the public switch, so it also 404s if
the video is made private.
ScreenCI keeps only a bounded number of versions per language (3 on Free, 5 on
Starter, 50 on Business), so older runs are eventually pruned. To keep a specific
run forever, download it via the authenticated URLs in
screenci info, described under
Keep a render forever.
Use the stable URL when you always want the newest published render, and the
record-pinned URL when you want to reference exactly the run a given CI build
produced. The screenci info command prints
both URL sets (as static and latestRecord) when run on a machine that made
the record.
Typical embed
<video controls crossorigin="anonymous" poster="https://api.screenci.com/public/YOUR_VIDEO_ID/en/thumbnail"> <source src="https://api.screenci.com/public/YOUR_VIDEO_ID/en/video" type="video/mp4" /> <track kind="subtitles" src="https://api.screenci.com/public/YOUR_VIDEO_ID/en/subtitle" srclang="en" label="English" default /></video>Good use cases
- product documentation
- changelog posts
- support content
- release landing pages
Privacy and stability
Only enable public URLs for videos that are meant to be accessible publicly. Once enabled, the route is stable by design, even though the selected underlying render can change later.
What’s next
- Public Delivery API for endpoint-level details.
- CLI for
screenci info,make-public, andmake-private.