A changelog video is a short recap of what changed in a product release. It shows the new behaviour, names the feature and tells existing users where to find it. The written release notes remain the place for the complete change list, availability details and breaking changes.

For a routine update, start with one to three changes and a 30–60-second cut. That is a useful production brief, rather than a rule every release must follow. A single improved interaction may need only 15 seconds; a monthly walkthrough can take longer.

There are two ways to make one in CoAnimator. Edit it visually in Studio if you want to trim footage and set the pace yourself. Build it from project files and render from the terminal if you want the edit in version control or plan to produce an episode for every release. Both start with approved notes and a recording that shows the change working.

What belongs in a changelog video?

Show the difference a customer can use: a new filter, a shorter setup process, a changed permission or an action that now works differently. Give each change enough screen time for someone to recognise the control and understand the result.

The strongest material is often a short recording of the released feature. A caption such as “Pause a recurring invoice” tells viewers what to look for; the click and the resulting Paused state explain it. A headline saying “Billing improvements” leaves both jobs unfinished.

A changelog video usually needs four pieces:

  • Release identity: the product and version, or a clear date for a continuously deployed service.
  • Selected changes: the few updates relevant to the audience watching this episode.
  • Product evidence: the changed screen, interaction or output, with readable labels.
  • A next action: where to find the feature, enable it, update the app or read the full notes.

Keep a Changelog treats a changelog as a curated record for people. Apply the same judgement to the video. Raw commit messages can help locate a change, but they rarely supply a usable customer explanation.

Keep migration instructions, security details, deprecations and exact compatibility requirements in the written entry. If one affects the audience, mention it in the video and point to the instructions. A patch can matter greatly even when it has nothing interesting to film.

How it differs from a launch video or product demo

FormatThe viewer’s questionWhat earns the screen time
Changelog videoWhat changed, and where do I use it?The new behaviour and any action existing users need to take
Product demoWill this product solve my problem?A useful task shown from start to result
Launch videoWhy should I pay attention to this product or major feature?The proposition, a compelling demonstration and an invitation to try it

A major release can support all three, but a weekly changelog episode rarely needs the company introduction or a tour of features that have not changed. For a longer demonstration, use the product-demo planning guide.

Start with a CoAnimator template and its finished video

The Cinematic UI Focus template is a useful starting point for updates that need readable product screens and deliberate camera moves. It includes a complete project you can open and change, with several software scenes and separate sound cues.

Cinematic UI Focus by CoAnimator: the original 94-second template film, with software scenes, focus changes and sound. Use the template’s screen treatment as a starting point for your own release.

Open the template and download its .coa project · Watch the MP4 directly.

The sample is a longer product film. For a changelog episode, select the scenes that suit the update and replace the example interface, claims and branding with your approved material. Its phone-coding sequence, for example, belongs only in an episode whose subject benefits from that view.

The downloaded project has a 1920 × 1080 canvas, a 60fps timeline and about 94 seconds of animation. Those are properties of this sample, not requirements for your changelog. Keep the frame rate consistent while revising the project, and shorten the episode by removing unnecessary scenes before speeding up the remaining ones.

A close product view in the Cinematic UI Focus film shows knowledge files and tools inside a dark agent studio
Product detail at 10 seconds in the original template. For a release update, frame the changed control and its result this clearly.

Make the first episode

Install CoAnimator and prepare the media tools in the quickstart. To inspect the sample, download its .coa and open it from the launcher. Keep the original so you can refer back to its scene timing, typography and sound. If you adapt the project files, work in a separate episode copy. If you’re cutting straight screen recordings in Studio, start with a blank timeline and use the film as a reference for how long to hold on a detail.

CoAnimator has a free forever plan. Connected agent accounts and optional image, voice or music services have their own allowances or charges. You can make the first adaptation with your existing captures and the supplied project assets, without commissioning new media.

Example: seven changes become a 38-second update

Consider a fictional invoicing app shipping Release 4.12. It has seven merged pull requests, but three changes supply the main on-screen story. This is a planning example; the template film above contains its original software scenes.

Release entryTreatmentReason
Pause a recurring invoice from the invoice listShow the action and Paused stateA customer can see and repeat it
Mark several invoices as paid in one actionShow selection, action and resultThe group action is the useful change
Filter the invoice list by clientShow the filter and narrowed listOne interaction explains the feature
Move the reminder queue to a new workerWritten notesThe implementation detail does not explain a new action
Update the PDF libraryWritten notes, with any relevant advisoryA dependency name alone supplies no useful visual
Refactor permission checksWritten notes; clarify any changed accessThe title does not establish a customer-facing change
Correct a receipt-email typoWritten notesIt needs little screen time in this episode

The visible-change test is a starting point, not a reason to hide important fixes. If the permission change removes an action users previously had, it deserves a clear explanation. If a dependency update addresses a vulnerability, the written release should say what customers need to do.

A storyboard with enough time to read

TimePictureOn-screen wording or action
0–14 secondsInvoice list, cursor selects Pause, status changesProduct/version label; “Pause recurring invoices”
14–26 secondsSeveral invoices selected, then marked paid“Mark multiple invoices as paid”
26–33 secondsClient dropdown opens, list narrows“Filter invoices by client”
33–38 secondsShort closing cardRelease version, actual update instructions and full-notes URL

The durations total 38 seconds. A real cut may need more time for a slow interaction or fewer words for a small screen. Never promise a feature is available to everyone if it is still rolling out or restricted to a plan. Put that condition beside the feature, not just at the end.

Capture the released or approved staging build with sample data. Record the action and the result, leaving a short hold on each. Avoid asking an image generator to recreate the interface: button labels, status changes and available actions need to match the real product.

Make a changelog video visually in CoAnimator Studio

Open on the invoice list, pause one recurring invoice, and let viewers see the status change. That first cut sets the pace for the rest of the 38-second example. You can build it in Studio from screen recordings using the media panel, timeline and stage. CoAnimator’s footage editing guide.

1. Set up the project and collect the clips

From the CoAnimator launcher, start a blank project and open Studio. Keep a copy of the release notes handy. For this example, gather three recordings from a demo workspace: pausing a recurring invoice, marking multiple invoices as paid, and filtering by client. Capture each action in one take and let the result sit for a few seconds before you stop recording.

Drag the clips and your closing card image into the media panel. Put the recordings on a video track in the order you want viewers to see them. Start with the Pause control already on screen. You can remove the walk through the sidebar, login, and loading states.

2. Build the rough cut on the timeline

Line up the clips at roughly 0, 14 and 26 seconds. Add the closing card at 33 seconds. Use snapping to bring the clip edges together, and check each join on the stage for stray frames. Trim the pause clip so the click and the resulting Paused label both survive. If the label flashes by, give it another second and move the next cut.

CoAnimator Studio showing a YourGPT preview above the playhead, animation track and separate voiceover, music and sound-effect tracks
A YourGPT project in CoAnimator Studio. Drag the playhead to inspect a frame on the stage, then adjust the clip on the timeline.

3. Place the labels beside the action

Use a text track for short headings. Put “Mark multiple invoices as paid” beside the selected rows and keep the cursor and menu clear. End that label before the client filter scene. On the closing card, use the five seconds to show the release version and one next action. Put the clickable release notes link alongside the published video.

4. Watch the edit twice

Watch once muted. You should be able to point to the control, see the action and read the result in all three scenes. If you have to pause playback to catch a status change, extend that shot. Watch again with sound. Listen across each cut for abrupt jumps in the screen recording, and lower music under speech if you use both.

5. Export the episode and save the source

Choose Export and select the full timeline. Play the MP4 outside Studio and watch through the closing card. Check the smallest label on a phone. Save the reviewed project so you can swap in next week’s recordings and update the labels without rebuilding the sequence. CoAnimator’s export guide.

Make a changelog video from code

Use this route when the edit needs to live alongside the release in version control. Start from a working CoAnimator project folder and keep the approved recordings in it so the render runner can find them. Update the scene copy and media references in the animation source, then set the order and timing in the timeline files. You can make those changes yourself or give a coding agent the brief below. CoAnimator’s project file guide.

For Release 4.12, set the pause, bulk-payment, client-filter and closing scenes to start at 0, 14, 26 and 33 seconds. If the pause recording starts with two seconds of navigation, its timeline entry starts at startTime: 0 with trimIn: 2 and duration: 14. That requires at least 16 seconds of source footage. Use the installed timeline reference for the fields in your project, and move the title and the cut together if you revise the timing.

Review the changed files, then render the project from the terminal and watch the MP4. You can run the command for a single episode before wiring it into a release job.

Give the agent a release-specific brief

Supply one dated release section rather than the whole changelog. Include the exact version, audience, availability, source assets and destination for the full notes. An unfinished item under Unreleased should never become a shipped feature because it happened to be near the selected section.

Create a small episode folder that the agent can understand:

release-4-12/
  release-notes.md
  episode-brief.md
  approved-assets/
    pause-invoice.mp4
    bulk-paid.mp4
    client-filter.mp4
    logo.svg
  project/
    project.json
    ...template project files

Use this brief after replacing the example files and release details with your own. It requests a plan before production, so the feature selection can be corrected before the agent spends time on the animation.

Copy the changelog video brief

Read release-notes.md and the instructions inside project/. Build a changelog episode for the exact released version in that file, using our copy of the Cinematic UI Focus template. The audience is existing customers. Aim for 30–45 seconds, but preserve the reading time and complete meaning of each selected change.

Use only approved-assets/ for the product interface, logo and recordings. Select up to three customer-relevant changes. For each, identify the source release-note line, the asset that demonstrates it, a short headline using the interface’s exact wording, and the action the viewer should take. List entries left for the written notes and explain why. Preserve availability restrictions, feature flags and migration requirements. Do not present Unreleased work as shipped.

First propose the scene order, wording and duration. Identify missing assets before building. Once I approve the plan, replace the original sample’s screens, claims and branding, keep the useful typography and camera treatment, and remove scenes that do not serve this release. Make the changed control readable and hold the resulting state. The clip must make sense with sound off.

Retain suitable existing music and effects, and retime them around the new edit. Do not request paid media generation. Do not invent product screens, performance figures, testimonials or integrations. End with the exact release version, approved update instructions and full-notes URL supplied in episode-brief.md.

Show the opening, the most important feature frame and the ending for review. Do not export or publish until asked. Keep the source project for the next episode.

For a more detailed Claude-specific walkthrough, see turning release notes into a product video. This guide focuses on choosing and repeating a changelog format; that article goes deeper into preparing the notes and directing the agent.

How to create changelog videos automatically

Automate after one complete episode has been reviewed. That first project establishes the typography, product framing, sound and closing action. Each later run should work in a new copy, keeping the previous release available for reference or correction.

CoAnimator’s scheduled changelog setup describes the same sequence: read a release, update a reusable project, render and notify. The schedule is configured through your own automation or CI system. A template download alone does not install a recurring job.

1. Choose the release event and exact input

For a product with GitHub releases, trigger after the release is published. GitHub supports a release event with types: [published]. A weekly schedule also works, but it needs a saved record of the last processed release so it does not remake the same episode every Friday.

Have the job save the release ID, tag, date, notes and full-notes URL as files. Add a manifest of approved screen captures. If you start from merged pull requests, filter them to the release range and ask the product owner to approve the customer-facing summary. A merge into the default branch is not proof that a feature is available in production.

2. Give the run a fresh project and bounded instructions

Copy the approved baseline into that release’s folder, then run the connected agent against those files. Reuse the brief above with an unattended-run rule: build only changes supported by the notes and available assets; return needs_assets if essential footage is missing, and skip if there is nothing suitable to show.

The interactive brief asks for approval before building. After the team has approved the recurring format, replace those approval paragraphs in episode-brief.md with these instructions for the scheduled run:

Copy the unattended episode instructions

The recurring format and this release’s source material are approved for production. Work inside this episode copy of project/. Read release-notes.md and approved-assets/. Keep the approved brand treatment, select up to three supported changes and build the episode without waiting for a chat reply. Preserve the exact version, availability and interface labels. Do not request new media, invent a missing screen or modify the baseline project.

If a selected change cannot be demonstrated with the supplied assets, stop with status needs_assets and list the missing files. If the release has no suitable changes, return status skip and the reason. Otherwise, finish the project and write build-review.json with status ready, the release ID, each selected change and its source line, asset filenames, episode duration and any remaining issues. Do not mark ready while a required asset or factual question remains unresolved. Do not render or publish; the job handles rendering after reading the status, and a person reviews the movie before publication.

Keep these decisions in a small build-review.json alongside the project: release ID, selected changes, source lines, assets used, status and remaining issues. Let the job continue to rendering only when the status is ready. A scheduler should not interpret a friendly final chat message as evidence that every required asset was present.

For Claude Code, non-interactive mode runs the editing step from a script. From a prepared episode folder, a narrowly scoped invocation can look like this:

claude -p "Read episode-brief.md and release-notes.md. Follow the approved automated-episode rules. Edit only project/ using approved-assets/. Write build-review.json with status ready, needs_assets or skip. Do not render, publish or use external media services." \
  --tools "Read,Edit,Write,Glob,Grep" \
  --allowedTools "Read,Edit,Write,Glob,Grep" \
  --permission-mode dontAsk

This is the editing step, not an entire installed automation. The runner needs an authenticated agent account, the prepared files and its approved instructions. The file-only tool list is suitable when all media already exists; a project that needs another tool must have that permission configured deliberately. Agent usage still follows the provider’s billing terms.

3. Render the ready project

Install coa from Settings → General → Command line & agent skill → Install coa command, then open a fresh terminal. Set up FFmpeg and FFprobe through media setup or the runner’s PATH. These are separate from the agent’s project instructions.

The CoAnimator CLI accepts the project folder and an explicit output path:

coa render ./project --out ./changelog.mp4

In Windows PowerShell, use:

coa.cmd render .\project --out .\changelog.mp4

The renderer uses the selected timeline’s frame rate unless you override it. If the project has several timelines, add --timeline with the intended timeline ID or name. The downloaded sample uses full-film; an adapted project may use a different name.

Use a runner with CoAnimator, the required media tools, assets and licence configuration already prepared. On headless Linux, Electron also needs a display server, commonly provided through xvfb-run. A generic CI runner does not acquire these dependencies because the workflow contains a render command.

4. Validate, notify and remember the release

Stop the job when the agent reports a missing asset or the render exits with an error. After a successful render, confirm that the MP4 exists, its duration fits the brief and its expected picture and audio tracks are present. Those checks catch a missing output; they cannot judge whether a headline accurately describes a shipped feature.

Send the reviewer the MP4 link, release-note link, scene list and unresolved issues. Keep the project and input files with that release. Record the release ID as completed only after the review package has been saved, so a retry can recover the existing output instead of silently producing or posting a duplicate.

SituationWhat the automation should do
No new release or no suitable customer-facing changeSkip the episode and record the reason
A selected feature has no approved captureReport the missing file; leave the episode unfinished
A render failsPreserve the previous good output and send a failure status
The same release is retriedReuse or resume its saved package; avoid duplicate notification or publication
A feature is restricted or rolling outCarry its availability into the caption and review notes
The package is readyNotify the reviewer; publish only through the team’s approved process

Start with a manual trigger and one real release. Put it on a recurring schedule after that run produces an accurate, watchable episode without missing-file or permission prompts. The runner must be available at the scheduled time, and connected agent requests can send supplied content to the provider. Give it only the release material it needs.

Make the update easy to follow

The template’s camera and focus treatment can draw attention to one part of a screen. In a changelog cut, keep the final label sharp and large enough to read. A dramatic angle that hides the changed button makes the episode less useful.

The words Macro, in motion sit over an angled laptop keyboard inside the original template’s device scene
A frame at 33 seconds in the template film. Use motion to guide the eye, then allow a steady hold on the feature you are explaining.

Watch your episode once with sound and once muted. Each selected change should still be understandable from the picture and text. Match narration to the actual click, leave enough time for the changed state, and keep music below speech. Caption spoken material and correct product names that transcription gets wrong.

Check the release version, availability, interface labels and destination URL against the written notes. Watch at phone size too: a detailed desktop capture may need a tighter crop and a separate portrait layout for a social version. Recompose that layout rather than cropping away the control the viewer needs to see.

Put the video beside the full changelog entry. For release emails, use a poster image linked to that page. In-app announcements should make the new action obvious even before playback. Keep a transcript or short text summary near the video so the release information remains accessible without watching it.

Questions about changelog videos

Does every release need a video?

Make a video when seeing the change helps someone use it. A new bulk action is worth showing because viewers can see which items to select, where the action lives and what happens afterward. A corrected label might only need a screenshot. A dependency update or a migration deadline belongs in the written notes, where people can find the exact instructions later.

If you ship several small changes a week, record the useful interactions as they become available. Group clips by the job they help customers do, such as managing invoices, so the roundup has a reason to exist beyond the release date.

How long should a changelog video be?

Budget about 15–30 seconds for one interaction and 30–60 seconds for a short roundup. Use the time the action needs. For a 25-second filter update, spend roughly four seconds showing the outcome, 15 seconds locating and applying the filter, and six seconds holding the filtered view and telling viewers where to find it.

If users need to enable a setting or complete a migration before they can follow along, keep the changelog clip focused on the result and link to a walkthrough with the full sequence.

How many features should I show in one video?

One feature is enough when it changes a common task. Put two or three changes together when they serve the same audience and belong to the same job. For example, filtering invoices, selecting them in bulk and marking them paid can form one story. An API rate-limit change is better covered separately because it serves a different audience and needs different evidence.

Give each change a screen, a visible result and a reason to appear. If the edit only has room to read the feature name over a title card, leave that item in the written changelog.

Can I make a changelog video without voiceover?

Yes. Use a short opening line, a real product capture and an on-screen instruction at the moment it applies. For a new filter, “Choose a client” should appear while the filter menu is open. Hold the filtered list long enough for someone on a phone to see what changed.

If you use narration, add captions for speech and any sounds viewers need to understand the clip. Keep the destination or next step visible on screen so it still works when the audio is off. W3C guidance on captions.

What if the screen contains customer data or private information?

Record in a demo workspace with synthetic records and an account that has the same permissions as your intended viewers. Seed enough realistic data to show the result. For a bulk payment update, three sample invoices in different states will tell the story more clearly than an empty table.

Review the whole recording for stray details. Check browser tabs, account menus, search suggestions, notifications and briefly visible IDs. Replace sensitive source footage before giving it to an AI agent or uploading it to a video service. Keep any public-facing samples limited to material approved for release.

When should I publish if a feature is rolling out gradually?

Publish to customers who can use the feature, or label the rollout in the opening and where the clip is embedded. For example, “Rolling out to Pro workspaces this week” gives viewers a reason they may not see the control yet. Show the workflow from an account with the same plan and permissions as the audience, and point to the release note for current availability.

For a customer-wide email, wait until the audience can act or send it only to eligible accounts. Keep the reusable project so you can change the availability line and replace the clip when the rollout ends.

Where should I share a changelog video?

Make the written changelog the reference page. Embed the full clip beside the release entry, with the feature name, availability and a link to instructions. An email can use a linked thumbnail that brings readers to that page. An in-app announcement works best near the changed control, with a direct path to try it.

For social, cut around one useful action that makes sense without the rest of the release. Check the layout and labels on a phone before posting. Give every version one next step, such as opening the invoice list or reading the release note.

Can the video be created directly from merged pull requests?

Use pull requests to find candidate changes. Start from the published release tag or approved release list, then map each included change to an approved customer-facing description and a capture that shows it working. GitHub can generate release notes from merged pull requests, which gives the agent a starting inventory. GitHub’s release notes documentation.

If a merged change is still behind a feature flag or has no approved capture, leave it out of the episode until someone confirms what can be shown. A release entry with approved screenshots is a much better input for a recurring video than a raw merge log.

What should a person review before an automated video goes out?

Ask someone to follow the video using an eligible account. Check that the feature is available to that audience, the screen matches the released build and the final instruction takes viewers to the right place. Then play the exported file at phone size and check the captions, sound and closing frame. A successful render only tells you that the file was produced.

Save approval against the release ID and the exact video revision. If a feature label changes or a scene is replaced after sign-off, review the new export before sharing it.

How do you tell whether the episode helped?

Pick one action the video is meant to encourage before you share it. If the update introduces a filter, track how many eligible users apply that filter for the first time. Watch rates and clicks help show whether people found the explanation, while first use gives you a measure of what they did afterward.

Compare with a similar release or, if you can segment the audience, compare eligible groups that received the same announcement with and without video. Note other differences, such as rollout timing and in-app prompts, before attributing a change in adoption to the clip.

Build one episode you can reuse

Start with the most useful change in your latest release and a clean capture of it working. In Studio, trim the recording so viewers can see the action and read the result. If you’re working from code, make that same cut in the project files and render it with coa. In either version, check that someone unfamiliar with the release can find the feature after watching.

Once that episode is right, preserve its project and instructions. The next release can reuse the composition and sound while replacing the claims and screens. That is the point to automate: a defined format, reliable source material and a reviewable result, repeated for each release.