Skip to content

Importing ​

Importing copies media files — videos, photos, RAW photos, and audio — from a source (camera card, external drive, etc.) to a destination, indexing them into your library in the process.

Source Selection ​

Click Select Source on the Import page to open a folder picker. Clipthesis scans the selected folder recursively for supported media files and:

  • Calculates a quick content hash for each file
  • Compares hashes against your existing library to flag duplicates
  • Generates background thumbnails for the file grid — files you're currently looking at come first, so narrowing the grid with a filter or changing the sort moves the visible files to the front of the queue

Thumbnails from recent scans are kept for about a week, so re-selecting a source you scanned recently (or rescanning after an import) shows its previews instantly instead of regenerating them.

After scanning you'll see a count of new files and existing files (duplicates).

On macOS you can also make a plugged-in iPhone or iPad the source — see iPhone Import. The device's files appear in this same grid, and importing transfers the originals straight into your destination folder.

File Selection ​

The scanned files appear in a grid. Use the toolbar buttons to quickly select:

  • All — every scanned file
  • New Only — only files not already in your library
  • None — clear selection

You can also click individual checkboxes. Shift-click selects a range.

The grid sorts by date created with the most recent media at the top by default. Use the Sort control in the toolbar to switch between date created, filename, and size, and the arrow button next to it to flip the direction. Batch-rename numbering follows the order the grid shows.

A disk usage indicator shows the total size of selected files and warns if the destination doesn't have enough space.

Previewing Files ​

Thumbnails don't always tell you which take is which. Before importing, you can open any scanned file in a preview player — hover a card and click the play button in the corner of the thumbnail, or double-click the card.

Videos and audio start playing immediately, so you can triage a card full of clips quickly. The preview shows the file's duration, size, type, shot date, and whether it's new or already in your library, with a transport bar for scrubbing, mute, and (for video) fullscreen. Audio previews show the file's waveform as a seekable scrubber — the played portion is highlighted, a playhead tracks the position, and clicking or dragging the waveform seeks. Images open in a viewer; RAW photos show the scan-generated preview since browsers can't decode RAW formats directly.

You decide as you watch: the Select for import toggle in the footer adds or removes the file from the import selection without leaving the preview. The arrow buttons (or arrow keys) step through the other files — navigation follows the active filters, so with Videos and New on you only cycle through new videos.

Keyboard shortcuts while previewing:

KeyAction
SpacePlay / pause
← / →Previous / next file
XToggle "Select for import"
EscClose the preview

If a file uses a codec the preview can't play, you'll see a notice with a Reveal in Finder button so you can check it in another player — the file can still be imported normally.

Filtering by Media Type ​

Camera cards often mix videos, photos, and audio recordings. When a scanned source contains more than one media type, a filter appears in the toolbar — All types, Videos, Images, Audio — with a count of each type found on the card. Click a type to show only those files in the grid.

The selection always follows the filters: narrowing to a type (or to New) unchecks whatever it hides, so only files you can see are ever imported. Filtering a fully-selected mixed card to Videos leaves just the videos selected — one click, then Import. Widening a filter back out never re-selects anything.

The quick-select buttons operate on the visible files: with Videos and New active, All selects every new video and nothing else, so you can import just the fresh clips from a mixed card in two clicks.

Renaming Files Before Import ​

Camera-card names like C0042.MP4 don't mean much once footage lands in your library. Before importing, you can give files meaningful names — the renames apply to the imported copies only; the files on the source card are never modified.

Single file: hover over a file card and click the pencil next to the filename. Type the new name and press Enter to save, or Escape to cancel. The extension is locked to the original — media type detection depends on it — and shows as a fixed suffix next to the input. A renamed card shows a small pen indicator (hover it to see the original name) and an undo button to revert.

Batch: select the files, then click Rename in the toolbar. Enter a base name, a starting number, and the digit padding, and a live preview shows each resulting name — e.g. C0042.MP4 → Beach Trip 001.MP4. Numbering follows the grid order (shot date, oldest first), each file keeps its own extension, and numbers grow past the padding when they need to (999 → 1000).

A few details to know:

  • Names that would collide with another file in the source are rejected up front; if a renamed file would collide with an existing file at the destination, the usual _1, _2 suffix applies.
  • Renames are pending until you import: rescanning the source (or changing it) clears them, and they're consumed by the import itself.
  • If a renamed file turns out to be a duplicate of something already in your library, the copy on disk still gets the new name, but the library keeps the existing record — and its existing name — and just adds the new location.

Saved Locations ​

Clipthesis remembers source and destination paths you've used before. A dropdown shows your recent locations so you can re-select them with one click. You can rename or delete saved locations.

Batch Tagging ​

Before starting the import, type into the tag input to attach tags to every selected file. Tags are applied uniformly to both new and duplicate files. You can:

  • Search existing tags with autocomplete
  • Create new tags on the fly by typing a name and pressing Enter
  • Type group:tag (e.g. place:backyard) to auto-create a tag group and the tag inside it in one go

Available Tags Panel ​

Below the tag input, the Available Tags panel mirrors the filter sidebar layout — your existing tags are bucketed into collapsible per-group sections. Each section header shows a chevron, the group's colour dot, the group name with a * marker if it's required, and the tag count. Sections start collapsed so the panel stays scannable; expand the groups you want to tag from and click any pill to apply it to the selected files.

Add to Collection on Import ​

Optionally select a collection from the dropdown (or create a new one). All imported clips will be added to that collection automatically.

The Import Pipeline ​

When you click Import, Clipthesis runs four stages concurrently:

StageConcurrencyWhat Happens
Copy2Files are streamed to the destination. Duplicate filenames get a _1, _2 suffix.
Hash6Final content hash of the copied file. Confirms new vs duplicate.
FFmpeg3Metadata extraction and thumbnail generation (new files only) — frame grabs for video, resizes for photos, waveform renders for audio.
Database1Atomic batch insert — media records, locations, tags, and collection membership.

A progress modal shows the current file, a progress bar, and accumulated errors (if any).

Duplicate Handling ​

Clipthesis uses content-addressable hashing to detect duplicates:

  • If a file's hash already exists in the library, no new media record is created
  • Instead, a new location record is added linking the existing media to the new file path
  • Tags and collection membership from the import are still applied to the existing media

This means the same clip can live on multiple drives without creating duplicate entries in your library.

Import Batches ​

Each import creates a batch record. You can filter your library by the most recent import batch to quickly review what just came in. See Search & Filters for details.

Cancellation ​

You can cancel an in-progress import. Files already copied remain on disk, but unprocessed files are skipped.

Released under the MIT License.