Skip to main content
Version: 0.1 (next)

Summary videos

An org can have Infrared make a short summary video of each Change that finishes, or stops and needs a person. It runs in this order:

  1. A presenter on stage greets the team with the day and time of day the Change finished ("Happy Sunday afternoon, team!") and names the feature in plain words.
  2. What shipped: the feature in a sentence or two and the environments it reached, with their names and versions on screen.
  3. A narrated scene per step that ran, with that step's verdict card: one sentence on what the agent or person did, the exact facts on screen.
  4. Why it's neat: two sentences at most on why the change will be nice for the people who use it, grounded in the issue and what changed, over a screenshot of the live site when there is one. A Change that stopped gets how to fix it instead.
  5. The presenter signs off.

Light music plays underneath. A typical video runs a minute and a half to two minutes.

Fresh every time​

Each video gets its own stage and presenter clips. Infrared generates a new stage picture for it, varying the camera framing, the light (to match the time of day), the eclipse on the wall, the stars, the haze and the presenter's posture, then makes the two presenter clips from it with the lines written for that Change. The wordmark is laid on afterwards in whichever top corner of the picture is calm, so it never covers the presenter.

When the org's monthly cap can't fit a fresh video, or Google can't make one (a busy model, or its daily video quota), the video uses the standard presenter clips instead and the panel says why; the opening scene then carries the day and time.

Watch it​

The video sits at the top of the Change's page, above Where this change is: a small preview with its length, what it cost and what each part cost, whether it has fresh scenery, and Watch fullscreen. Collapse shrinks it to a slim bar in the same spot. Collapsing is remembered in your browser, so every Change opens collapsed until you click the bar again (Summary video · 1:08 · Show), which brings it back for every Change.

When a video is ready, Infrared also comments on the Change's GitHub issue with a link to the Change's page. GitHub can't play the video itself, since it's private to the org.

Turn it on​

Settings → Summary videos, then Make summary videos (org admins). The panel shows this month's videos, what they cost, the Monthly cap ($5 unless an org admin changes it) and the Time zone for the greeting (America/New_York unless changed). When the rest of a calendar month's cap (UTC) can't fit a fresh video, Infrared makes it with the standard clips; when it can't fit even that, it skips the video and says so on the Change.

From then on, each Change that finishes or stops gets a video within a couple of minutes. Changes that finished before the switch was turned on get none on their own; Make a summary video on a finished Change's page makes one, and Try again remakes one that failed.

With the API:

curl -X PUT https://<host>/api/v1/orgs/<org>/summary-videos \
-H "Authorization: Bearer $INFRARED_TOKEN" -H 'Content-Type: application/json' \
-d '{"enabled": true, "monthlyCapUSD": "5", "timeZone": "America/New_York"}'
curl -X POST https://<host>/api/v1/orgs/<org>/agentworkflowruns/<run>/summary-video \
-H "Authorization: Bearer $INFRARED_TOKEN"

The run's summaryVideo says where its video is: requested, making, ready (with videoURL, posterURL, seconds, costUSD, breakdown, and mode: fresh or canned with a note saying why), failed or skipped (with message).

What it costs​

About 80¢ for a fresh video, about 8¢ with the standard clips; each video shows its cost by part:

PartModelPaid byTypical
Presenter clips (fresh)Veo 3.1 Lite, 720p: an 8-second intro and a 6-second sign-offthe installation's Gemini key70¢
Stage (fresh)Gemini 3.1 Flash-Lite Image, 1Kthe installation's Gemini keyabout 3¢
The scriptthe org's Balanced tier (see Models and costs)the org's Anthropic keyabout 3–4¢
The narrationGemini 3.8 Flash text-to-speechthe installation's Gemini keyabout 3¢
Standard clips and the musicmade once, reused—0¢

Accuracy and privacy​

The script comes from the run's own record, and follows fixed rules: agents are credited with what they did and people with what they decided (a human step is a person deciding); nothing "happened by itself"; cost and agent time are Infrared's own figures, never waiting time.

The videos and posters are kept by Infrared and served only through its API to people with a role in the org. They never live at a public address. The presenter is a generated likeness, labelled AI-generated whenever it is on screen.

How it is made​

The operator runs one Kubernetes Job per video in Infrared's namespace. Its containers take screenshots of the Change with a headless browser, write the script and voice it, join the presenter clips, the scenes and the music with ffmpeg, and upload the result to the API. The Job holds no API token: it authenticates with a ticket the operator signs, good for an hour, that lets it read its org like a viewer and upload that one Change's video.

An installation turns the feature on with the chart's summaryvideo.enabled (it adds the API's media volume and the operator's Job) and a Secret holding a Gemini API key (summaryvideo.geminiSecret, key api-key).