Skip to main content

Settings

Configure script behavior with the set command:

set fps 30
set output "demo.gif"
set max-width 800

All Settings

SettingTypeDefaultDescription
fpsint30Frame rate (12, 24, 30, 60)
outputstringoutput.gifOutput file path
max-widthint800Maximum GIF width in pixels
loop-countint0Loop count (0=infinite, 1=once, 3=three)
transitionfloat0.3Crossfade duration between segments (seconds)
show-cursorbooltrueShow system cursor in recording
cursor-smoothingboolfalseSmooth cursor movement paths
click-indicatorsboolfalseShow click overlay effects
type-smoothingboolfalseNormalize keystroke timing
keystroke-badgesboolfalseShow floating key combo badges
include-title-barbooltrueKeep the real window title bar (set false to crop it out)
faux-title-barboolfalsePaint a clean synthetic title bar over the window's real one
faux-title-bar-titlestring""Title text shown in the faux title bar
title-bar-heightint28Title bar height in pixels (for faux/crop)
idle-strategystringdisabledIdle handling strategy: fade, cut, ramp
idle-thresholdfloat2.0Seconds of inactivity before idle handling
palette-strategystringautoColor palette strategy: auto, global, perFrame
deduplicate-framesboolfalseMerge consecutive identical frames to shrink the file (total duration preserved)
pacestringnoneTiming preset: tutorial, demo, cinematic
typing-delayfloat0.05Per-character typing delay (seconds)
auto-paceboolfalseAuto-insert pauses after commands during recording
auto-pace-delayfloat0.8Base auto-pause duration (seconds)
cleanupbooltrueClose script-opened windows after render
strictbooltrueFail on non-zero shell command exit codes
run-timeoutfloat30Shell command timeout (seconds)
intro-bgstring#1a1a2eIntro/outro card background color
intro-fgstring#ffffffIntro/outro card title text color
intro-subtitle-fgstring#aaaaaaIntro card subtitle text color
intro-font-sizeint48Intro card title font size
backgroundstringnoneSolid background color composited under every frame (hex). Also set via set-background

Setting Details

Frame Rate (fps)

Controls how many frames per second are captured and encoded. Higher values produce smoother GIFs but larger file sizes.

set fps 24 # Smooth enough for most demos
set fps 60 # Very smooth, large files
info

The fps value must be one of: 12, 24, 30, or 60.

Idle Handling (idle-strategy)

Controls what happens during periods of inactivity in the recording:

  • fade -- Gradually fades inactive frames to reduce visual noise
  • cut -- Removes idle frames entirely, jumping ahead in time
  • ramp -- Speeds up playback during idle periods, then returns to normal speed
set idle-strategy cut
set idle-threshold 1.5 # Trigger after 1.5s of inactivity
tip

Idle detection is opt-in. Leave idle-strategy unset to keep all frames at their original timing.

info

With MP4 audio: idle handling removes time from the video, so QuikGIF compensates the captured audio to keep it in sync — audio that falls in a removed idle stretch is dropped, and the rest is retimed onto the shortened timeline. The drop boundary is accurate to roughly the capture chunk size (~0.1 s), imperceptible against multi-second idle cuts. For multi-segment recordings the compensation is applied per segment (segment-boundary transition frames are not individually accounted for).

Frame Deduplication (deduplicate-frames)

Off by default — every captured frame is kept so the output reproduces the full recording. Enable it to merge consecutive identical frames into one (with their delays summed), shrinking the file without changing total duration or playback:

set deduplicate-frames true
tip

This is a lossless file-size optimization (duplicate frames only). To intentionally shorten idle stretches, use idle-strategy instead. To dedup an already-recorded GIF, use quikgif process --deduplicate-frames (Pro), optionally scoped to a time range with --from/--to.

Title Bar (faux-title-bar, include-title-bar)

Window captures keep the real title bar by default — the recording reproduces what was on screen. Two opt-in transforms can change that:

set faux-title-bar true # paint a clean synthetic title bar
set faux-title-bar-title "My Demo" # optional title text
set include-title-bar false # crop the real title bar out instead
tip

faux-title-bar and cropping (include-title-bar false) apply only to window captures — region captures have no title bar. If both are set, the faux title bar wins.

Palette Strategy (palette-strategy)

Controls how the GIF color palette is optimized:

  • auto -- Detects scene changes and optimizes per-segment. Uses per-frame palettes for multi-scene GIFs, global palette for single-scene.
  • global -- Single palette for the entire GIF. Smallest file size, may lose color accuracy in multi-scene recordings.
  • perFrame -- Each frame gets its own palette. Best color accuracy, largest file size.
set palette-strategy auto

Transitions (transition)

Controls the crossfade duration between recording segments in multi-segment scripts:

set transition 0.5 # Half-second crossfade
set transition 0 # No crossfade, hard cut

Pace Presets

The set pace command applies a bundle of timing-related settings optimized for common use cases:

set pace demo

tutorial

Slow, deliberate pacing for educational content.

SettingValue
fps24
typing-delay0.08
auto-pacetrue
auto-pace-delay1.0
idle-threshold3.0
transition0.5

demo

Moderate pacing for product demos.

SettingValue
fps30
typing-delay0.04
auto-pacetrue
auto-pace-delay0.6
idle-threshold1.5
transition0.3

cinematic

Polished pacing for showcase-quality GIFs.

SettingValue
fps30
typing-delay0.06
auto-pacetrue
auto-pace-delay0.8
idle-threshold2.0
transition0.8
info

set pace is handled specially -- it applies all settings from the preset at once. Individual settings can still be overridden after the pace preset:

set pace demo
set fps 24 # Override just fps from the demo preset
set keystroke-badges true # Add a setting not included in the preset

Auto-Pacing

When auto-pace is enabled, the engine automatically inserts pauses after run, type, key, and click commands during active recording. This gives viewers time to read each action.

set auto-pace true
set auto-pace-delay 0.8 # 0.8s pause after each command

Auto-pacing only fires when a recorder is actively capturing. Commands executed before record or after stop are not auto-paced.


Title Card Styling

Customize the appearance of intro and outro title cards:

set intro-bg "#0d1117" # Dark background
set intro-fg "#58a6ff" # Blue title text
set intro-subtitle-fg "#8b949e" # Gray subtitle
set intro-font-size 56 # Larger title