Settings
Configure script behavior with the set command:
set fps 30
set output "demo.gif"
set max-width 800
All Settings
| Setting | Type | Default | Description |
|---|---|---|---|
fps | int | 30 | Frame rate (12, 24, 30, 60) |
output | string | output.gif | Output file path |
max-width | int | 800 | Maximum GIF width in pixels |
loop-count | int | 0 | Loop count (0=infinite, 1=once, 3=three) |
transition | float | 0.3 | Crossfade duration between segments (seconds) |
show-cursor | bool | true | Show system cursor in recording |
cursor-smoothing | bool | false | Smooth cursor movement paths |
click-indicators | bool | false | Show click overlay effects |
type-smoothing | bool | false | Normalize keystroke timing |
keystroke-badges | bool | false | Show floating key combo badges |
include-title-bar | bool | true | Keep the real window title bar (set false to crop it out) |
faux-title-bar | bool | false | Paint a clean synthetic title bar over the window's real one |
faux-title-bar-title | string | "" | Title text shown in the faux title bar |
title-bar-height | int | 28 | Title bar height in pixels (for faux/crop) |
idle-strategy | string | disabled | Idle handling strategy: fade, cut, ramp |
idle-threshold | float | 2.0 | Seconds of inactivity before idle handling |
palette-strategy | string | auto | Color palette strategy: auto, global, perFrame |
deduplicate-frames | bool | false | Merge consecutive identical frames to shrink the file (total duration preserved) |
pace | string | none | Timing preset: tutorial, demo, cinematic |
typing-delay | float | 0.05 | Per-character typing delay (seconds) |
auto-pace | bool | false | Auto-insert pauses after commands during recording |
auto-pace-delay | float | 0.8 | Base auto-pause duration (seconds) |
cleanup | bool | true | Close script-opened windows after render |
strict | bool | true | Fail on non-zero shell command exit codes |
run-timeout | float | 30 | Shell command timeout (seconds) |
intro-bg | string | #1a1a2e | Intro/outro card background color |
intro-fg | string | #ffffff | Intro/outro card title text color |
intro-subtitle-fg | string | #aaaaaa | Intro card subtitle text color |
intro-font-size | int | 48 | Intro card title font size |
background | string | none | Solid 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
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 noisecut-- Removes idle frames entirely, jumping ahead in timeramp-- 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
Idle detection is opt-in. Leave idle-strategy unset to keep all frames at their original timing.
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
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
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.
| Setting | Value |
|---|---|
fps | 24 |
typing-delay | 0.08 |
auto-pace | true |
auto-pace-delay | 1.0 |
idle-threshold | 3.0 |
transition | 0.5 |
demo
Moderate pacing for product demos.
| Setting | Value |
|---|---|
fps | 30 |
typing-delay | 0.04 |
auto-pace | true |
auto-pace-delay | 0.6 |
idle-threshold | 1.5 |
transition | 0.3 |
cinematic
Polished pacing for showcase-quality GIFs.
| Setting | Value |
|---|---|
fps | 30 |
typing-delay | 0.06 |
auto-pace | true |
auto-pace-delay | 0.8 |
idle-threshold | 2.0 |
transition | 0.8 |
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