How to back up a HeyGen video library so you can actually restore it
A folder of MP4 files is only a copy. A useful backup preserves the master, accessibility assets, identity metadata, and a tested path back to a working delivery.
Download completed master videos plus captioned or subtitle assets you rely on, export a CSV manifest with stable HeyGen video IDs, store the files in a dated read-only snapshot, copy it to a second location, and test that you can locate and play a sample without opening HeyGen.
Define the asset set before copying
Start by separating source, project, and output assets. HeyGen’s completed outputs can include a standard video URL, captioned video URL, subtitle URL, thumbnail, GIF, language, duration, and folder identifier. Your account may not expose every variant for every project, and the web app can offer additional formats for particular workflows.
| Asset | Keep when | Reason |
|---|---|---|
| Standard MP4 master | Almost always | Clean reusable delivery file |
| Captioned MP4 | Used in published channels | Preserves the exact burned-caption version |
| SRT or caption file | Available | Editable accessibility and localization asset |
| Audio-only | Used for podcasts or edits | Avoids extracting it again |
| Thumbnail/GIF | Part of campaign delivery | Keeps supporting creative together |
| CSV manifest | Always | Maps local files to their source records |
Draft editor state and uploaded source media are a separate backup problem. Do not assume that downloading final MP4s gives you a round-trip project archive that can recreate the original editable timeline.
Use a boring, predictable folder structure
heygen-backup/
2026-08-27/
manifest.csv
README.txt
masters/
captioned/
subtitles/
thumbnails/
exceptions.csv
A dated snapshot is easier to verify and protect than a single folder that is constantly overwritten. Put the export date, account or workspace name, method used, and known exclusions in the README. Record interrupted or unavailable assets in exceptions.csv instead of silently omitting them.
For filenames, prefer a short sanitized title plus the stable video ID: customer-onboarding_vid_abc123_master.mp4. Titles help humans browse; IDs prevent two similarly named videos from becoming indistinguishable.
Make the metadata manifest the index of the backup
At minimum, retain:
- HeyGen video ID and title
- Created and completed timestamps
- Duration and output language
- HeyGen folder ID when available
- Local filename for each downloaded asset
- Asset type: master, captioned, subtitle, thumbnail, or audio
- Download result and backup date
Remote download URLs can expire or change, so do not treat them as the durable part of the manifest. The video ID is the stronger reconciliation key; the local filename tells you where the retained bytes live.
Transfer in a way you can resume
- List all records and save the initial manifest before downloading.
- Filter to completed records and the variants in scope.
- Download into a new dated folder rather than an older snapshot.
- Write success or failure beside each asset as the transfer proceeds.
- Retry failed items with a limit and record final exceptions.
- Do not delete the prior snapshot until the new one is verified and replicated.
For a manual export, update the manifest as you go. For an automated export, make the transfer idempotent: if the same video ID and asset type already completed successfully, a restart should skip it instead of creating (1) duplicates.
Test integrity and retrieval
A checksum is useful, but it proves only that the copied file still matches the bytes you hashed. It does not prove that the original download was complete or playable. Combine machine and human checks:
- Compare expected and successful counts by asset type.
- Flag zero-byte files and unusually small outliers.
- Generate SHA-256 checksums after the transfer if the archive is business-critical.
- Play samples across different dates, durations, languages, and caption states.
- Pick a manifest row and locate the corresponding file using only its fields.
- Copy the snapshot to separate storage and open a sample from that copy.
The last step is a small restore test. A backup that has never been read from its second location is still an assumption.
Choose a schedule tied to production risk
- After each campaign: best for agencies and client handoffs.
- Weekly incremental snapshot: good for active internal content teams.
- Monthly full reconciliation: compare the current library with the manifest and recover missed assets.
- Before account or plan changes: take an extra verified snapshot before permissions, seats, or access can change.
Keep at least two copies in different failure domains—such as local storage plus object/cloud storage—and apply the access controls your client or company data requires. Review retention rules rather than saving every obsolete render indefinitely.
If you still need to transfer the library, compare the three approaches in the HeyGen bulk-download guide. For recurring high-volume production, use the Batch Mode to delivery workflow.