← Features

Command line

Same app. No window.

A known command skips the editor. Logs go to stderr. One JSON object is printed on stdout. Any other argument, including a video path, still opens the window.

Run it

Examples below use clipnugget. On Windows the installed file is often Clip Nugget.exe — quote the space.

"Clip Nugget.exe" help
clipnugget help

On macOS, run the executable inside the app bundle:

"/Applications/Clip Nugget.app/Contents/MacOS/clipnugget" auto episode.mp4

On Linux, pass the same arguments to the installed binary or the downloaded AppImage. clipnugget video.mp4 with no command opens the window.

probe

Read duration, size, and codecs. Exactly one video path. No flags.

clipnugget probe episode.mp4
{
  "ok": true,
  "command": "probe",
  "media": {
    "fileName": "episode.mp4",
    "width": 1920,
    "height": 1080,
    "durationSec": 1842.4,
    "fps": 30,
    "hasAudio": true,
    "videoCodec": "h264"
  }
}

auto

Find highlights, reframe each one to 9:16, and write a file per clip. Captions are transcribed on your computer and burned in, unless you turn them off.

clipnugget auto episode.mp4 --count 5 --language en
clipnugget auto episode.mp4 --output-dir ./shorts --heuristic --no-captions
  • --count N — how many clips. At least 1. Omit it and the count follows the video length.
  • --language — caption language, such as en or tr. Default is the language saved in the app.
  • --output-dir — folder for the files. Default is a episode-Clips folder next to the source.
  • --heuristic — skip the model. Scene and silence signals only.
  • --no-captions — do not burn captions.
  • --no-reframe — center crop instead of face tracking.

AI selection uses the provider and key already saved in the app. If that call fails, or transcription fails, it continues with the heuristic. The video file stays on your machine. Only transcript text is sent, and only when AI selection runs.

Files land next to the source unless you set --output-dir. A 9:16 auto run of episode.mp4 writes episode-Clips/episode-reels-9x16-01.mp4, then -02, and so on. An existing name gets a number added.

{
  "ok": true,
  "command": "auto",
  "source": "/videos/episode.mp4",
  "durationSec": 1842.4,
  "selection": "ai",
  "elapsedSec": 240.2,
  "clips": [
    {
      "rank": 1,
      "startSec": 12.4,
      "endSec": 28.1,
      "score": 0.91,
      "headline": "The hook",
      "outputPath": "/videos/episode-Clips/episode-reels-9x16-01.mp4",
      "usedFaceTracking": true
    }
  ]
}

selection is ai or heuristic. If some clips fail, ok is false, the process exits 1, and those clips have error instead of outputPath. The clips that finished are still on disk.

export

Cut one range. This command does not transcribe. Pass a subtitle file if you want captions burned in.

clipnugget export episode.mp4 --start 12.5 --end 42
clipnugget export episode.mp4 --start 90 --end 120 --aspect 1:1 --fit crop --mute
clipnugget export episode.mp4 --start 10 --end 25 --subtitle captions.ass --output short.mp4
  • --start and --end — required, in seconds. End must be greater than start, and not past the video.
  • --output — file path. Default is episode-Clips/episode-reels-9x16.mp4 next to the source.
  • --aspect — 9:16 (default), 16:9, 1:1, 4:3, or 3:4.
  • --fit — fill, fit, or crop. Default is the fit saved in the app (fill unless you changed it).
  • --subtitle — burn an existing subtitle file.
  • --audio — replace the audio track.
  • --mute — drop audio.
  • --no-reframe — center crop instead of face tracking.
{
  "ok": true,
  "command": "export",
  "source": "/videos/episode.mp4",
  "startSec": 12.5,
  "endSec": 42,
  "outputPath": "/videos/episode-Clips/episode-reels-9x16.mp4",
  "usedFaceTracking": true,
  "elapsedSec": 18.4
}

Flags and exit codes

Write --count 5 or --count=5. Switches (--mute, --heuristic, --no-captions, --no-reframe) take no value. Quote paths that contain spaces. A path that starts with - goes after --.

  • 0 — success. JSON on stdout.
  • 2 — bad command or flag. The error is on stderr. Nothing useful on stdout.
  • 1 — the job failed. JSON is still printed, with "ok": false.

help, --help, and -h print the short usage and exit 0. They do not print JSON.

Same settings as the app

Resolution, fps, codec, caption language, and the AI key come from the desktop settings. Free exports are watermarked and capped at 1080p. Pro and an active trial are not. YouTube upload is the app, not these commands.

  • CLIPNUGGET_DATA_DIR — settings directory. Default is the OS app-data folder plus com.clipnugget.app.
  • CLIPNUGGET_LOCAL_DATA_DIR — Whisper and face-model cache.
  • CLIPNUGGET_FFMPEG, CLIPNUGGET_FFPROBE, CLIPNUGGET_WHISPER — tool paths, if they are not the ones the app already uses.