Skip to Content
shardreel
Concepts

Caching

What is cached, where, and what invalidates it.

Each video gets a work folder under ~/.clipforge/cache. The folder name is the first 16 hex characters of a SHA-1 hash of the video's full path, size and modification time.

audio.wav
transcript_turbo.json
signals.json
moments_none_8_15_60.json

What invalidates what

FileReused until
audio.wavThe video file is newer than it
transcript_<model>.jsonYou pick a different Whisper model
signals.jsonNever, unless you use Fresh analysis
moments_<provider>_<count>_<min>_<max>[_v].jsonThe provider, clip count, min or max length, or vision setting changes

Because the folder name includes the path, size and modification time, moving or editing a video starts a new cache.

Things that do not invalidate

  • Changing the language reuses an existing transcript for the same model.
  • Changing the target length, model name or niche text reuses cached picks.
  • Layout, captions, hook, loudness, codec and quality never affect the cache, which is why re-rendering is fast.

Turn on Fresh analysis to delete the JSON files in a video's folder and recompute them. The extracted audio is kept.

You can clear caches from Storage.

Edit on GitHubSpotted a mistake? Suggest a change and open a pull request.

On this page