Settings
Open Settings with the gear icon in the header, the burger menu's Settings..., the File menu's Settings..., or Cmd+, on macOS. This page walks every section.
API keys
Tabbed by provider: Fal.ai, OpenRouter, Google, OpenAI, Anthropic, ElevenLabs. Paste a key and Save, or Clear it. Saved keys display masked with the last four characters and a storage note ("Stored securely" via your system credential store, or session only, clearing on quit). What each provider unlocks is covered in Connect providers.
Below the tabs, Use Fal for OpenRouter routes OpenRouter calls through your Fal key, so one account covers both.
Share keys
Above the provider tabs, Export Keys... writes the keys you choose into one .kitligkeys file for another Kitlig install. Pick which providers to include, how long the file stays valid (1 hour, 24 hours, 7 days or 30 days), and a passphrase of at least 8 characters. The file is encrypted with that passphrase and salted, so it's useless on its own; tell the other person the passphrase some other way. After it expires the file can't be imported at all.
Import Keys... on the receiving side picks the file, shows which providers it holds and when it expires, and asks for the passphrase. Keys you already have are kept unless you tick Replace keys I already have for the same providers. The same import link appears on the onboarding tour's provider step.
Note
Only provider API keys travel in the file. The MCP server token is local to each machine and is never exported.
Colour
Viewer colour management, off by default. Colour-manage the viewers (OCIO-style display / view) turns it on; the viewer toolbar then shows a display and view picker. Config picks the colour config: the built-in one (sRGB, Rec.709, Display P3, Rec.2020 and a simplified ACES view, no helper needed), OpenColorIO's ACES Studio or ACES CG configs, or a Custom .ocio file from your studio. The OpenColorIO choices run through the kitlig-ocio helper that ships with the local inference sidecar; a status line under the picker says whether it is active, and Kitlig falls back to the built-in engine when it is not. Display and View set the default transform. Under Default input colour spaces, say what images, video and OpenEXR files are assumed to be encoded in when the file does not say. Precision picks the display pass texture depth: 8-bit, 16-bit float or 32-bit float. Renderer picks what draws the colour-managed viewers: Automatic uses WebGPU when the machine has it and falls back to WebGL2, or pin either one; the EXR viewer's footer shows which is active. Decode with the native helper (on by default) lets the kitlig-media helper decode EXR and video for the colour-managed viewers: video keeps its source bit depth and EXR skips the slower built-in decoder. Decode video on the GPU when the codec allows (off by default) lets that helper use the graphics card's video decoder (D3D11VA on Windows, VideoToolbox on macOS) and falls back to software per file. It takes work off the CPU rather than making each frame faster, because frames still pass through CPU memory on the way to the display pass. The status line under them says whether the helper was found and which GPU decoders it can use; without the helper the viewers quietly use the built-in paths. See OpenEXR and colour.
External Apps
The "Open With" registry. Photoshop, Blender, ZBrush, Maya, GIMP, Krita and KiCad come built in. Detect installed apps looks for them at their usual install locations and fills in any row that is still empty, and Browse... points a row at the executable yourself (on macOS pick the .app bundle). Each row lists what it opens: its asset kinds, plus a file extension field you can edit (kicad_sch, kicad_pcb). An app with no kinds and no extensions is offered for every file.
Add app... registers any other program with a name, an executable and the extensions it should appear for. Custom rows have a remove button, built-in rows only Clear. Configured apps appear on the asset right-click's "Open With" menu for matching files, so "open this texture in Krita" or "open this board in KiCad" is two clicks. Plugins can open files in these apps too.
Backup
The "Copy target" path with Browse and Clear. This is where the File menu's Backup Copy To Directory places its timestamped project copies; zip backups ask for a location each time instead. Full flow in Backups.
Agents
Home of the built-in personas, each with its own provider dropdown (OpenRouter, Google (Gemini), OpenAI, Anthropic (Claude)). "Agent Creator" helps you write new Assistant presets. "Lyric Smith" writes song lyrics and can generate the finished song. See Assistant.
Tool Models
Controls which pipelines power the Assistant's tools. The "Image Edit" row has Cheap, Normal, and High pipeline selects, matching the quality tiers you can ask for in chat.
Jobs that ask questions holds one checkbox: whether the Assistant may answer a paused job's question on its own when it is confident. Off by default, so it shows you the question and relays your answer instead. See Jobs.
Software Update
The section opens with its own promise: "Nothing is ever downloaded or installed without your say-so." It offers Check Now, an auto-check checkbox (on by default), a check frequency (hourly, every 6 hours by default, every 12 hours, or daily), and a skipped-version display with Clear. Details and the Windows-only caveat in Updates.
Device
Your activation seat: Get License and Release this device. See Activation.
FFmpeg
Which FFmpeg Kitlig runs. Normally this reads Found FFmpeg with a version and bundled with Kitlig: Kitlig ships its own LGPL build. Locate FFmpeg... lets you point at a different program file, Use auto-detect returns to the bundled copy, and Re-check looks again after you have changed something by hand. Kitlig also lists which encoders the build has and which fallback it uses for a missing codec. More in FFmpeg in Kitlig.
Local Inference
Run supported operations on your own hardware instead of the cloud.
- Enable local inference turns the feature on.
- Downloadable model cards: each is an ONNX model (a portable neural-network file) with Download (progress bar plus a license click-through), Delete, and a "Use for" select per task: Cloud (Fal), Local (this device), or Prefer local.
- "Your Local Models" lists models you've registered yourself. Add Model... opens a dialog with a title, a Task select, and YOLO preprocessing and normalization options for models that need them. This is also where custom detection models for Object tracking get registered. Tasks: Remove Background (segmentation), Upscale (tiled super-resolution), JPEG Artifact Removal (1x restoration, tiled with reflect padding; tile size, overlap and Swin window size fields, see Canvas), Depth Map, Object Detection, Pose Estimation, Instance Segmentation.
Language coverage
The local voice and speech models don't all cover the same set of languages. Check the tables below before you plan a dub or a transcript around one.
Whisper Transcription (Local) transcribes close to a hundred languages with no list to check against; quality still favors English and the other major European languages, as with any Whisper build.
Chatterbox Multilingual Voice Clone synthesizes and clones voices in 23 languages:
| Arabic | Finnish | Malay |
| Chinese | French | Norwegian |
| Danish | German | Polish |
| Dutch | Greek | Portuguese |
| English | Hebrew | Russian |
| Hindi | Spanish | |
| Italian | Swahili | |
| Japanese | Swedish | |
| Korean | Turkish |
Note
Three of these need a bit of prep on the text going in. Chinese needs Traditional script; Simplified characters aren't in the model's lookup table and fail to synthesize. Japanese needs kana only; feed it kanji and Kitlig stops with an error rather than guessing. Hebrew works fine without diacritics (the little vowel marks), but the model is guessing at vowel sounds when they're missing.
Local text translation is narrower still. OPUS-MT only covers six directions, all of them paired with English:
| Source | Target |
|---|---|
| English | German |
| German | English |
| English | Spanish |
| Spanish | English |
| English | French |
| French | English |
A source and target outside those six pairs has no local translation path. Route it through a cloud provider instead, or translate through English as a middle step if both legs are covered.
Inference engine
Local models run through a small helper program that ships with Kitlig, called the sidecar. It keeps the heavy math out of the app itself and runs models noticeably faster than the old built-in path. You don't have to set anything up: it starts on its own when a local job needs it and shuts down after a few idle minutes.
- Use sidecar is on by default. Turn it off and local jobs run inside the app the old way. If the sidecar ever fails to start, Kitlig falls back to that path on its own, so a job never dies just because the helper did.
- The status line shows what the engine is doing: idle, or running with a version and either "CPU build" or "CUDA build". When it runs on your graphics card it also shows the GPU name and how much video memory is in use.
CUDA support for NVIDIA cards
If you have an NVIDIA GPU, you can run some local models on it. CUDA is NVIDIA's system for doing that kind of math on the graphics card.
- Click Download CUDA support (1.8 GB) in the Inference Engine card.
- Wait for the progress bar to finish. Kitlig checks every file it downloaded before trusting it, then restarts the sidecar with the GPU libraries loaded.
- The CUDA runtime field fills in with the install location, and the next local job uses the card.
The files land inside your model storage folder, so they follow the Storage location you've picked. Remove deletes them and returns to CPU. Browse... is for pointing at a CUDA runtime folder you've unpacked yourself; most people never need it.
Note
The GPU helps most with the convolutional models: stem splitting, upscaling, and diarization (working out who speaks when). Voice cloning is currently fastest on the sidecar's CPU engine, and Kitlig routes it there automatically, so don't be surprised when a voice job reports CPU on a machine with a good graphics card.
Per-model device choice
Once a model is downloaded, a GPU / CPU chip pair appears next to it. Kitlig ships a sensible default per model (Whisper favors GPU, Chatterbox favors CPU, from its own benchmarking), so you don't need to touch these unless you want to override one after testing your own hardware. GPU still falls back to CPU automatically if no CUDA runtime is loaded, so picking GPU is never a way to break a model that would otherwise run.
MCP Server
Lets outside tools (like an AI agent on your machine) control Kitlig through a local connection. Off unless you turn it on.
- Enable MCP server starts it.
- Port (default 8420) and the endpoint address
http://127.0.0.1:<port>/mcpwith a copy button. - Listen on network lets a client on another machine connect, such as Open WebUI on a server or an agent on another PC. Settings then lists this machine's network addresses (for example
http://10.0.0.10:8420/mcp) with copy buttons; use one of those on the other machine. Windows may ask you to allow Kitlig through the firewall the first time. To run Kitlig itself on a server, see Headless and Docker. There, aKITLIG_MODELS_DIRvariable overrides the local models folder chosen in Settings. - Phone companion serves Kitlig Web on the same port: a page made for phones where you see what was made, play and save it, upload photos and videos, and write notes an agent can read. With it on, Settings shows a QR code: point a phone's camera at it and the phone is signed in, nothing typed. Choose above the QR how the phone reaches this computer (Local network, Tailscale, Custom domain or Remote once a tunnel is connected), press Refresh for a new code (each works once, for five minutes), and give the server a name. The password still works as a fallback: the access token below, or
KITLIG_WEB_PASSWORDwhen that variable is set. Turn on Listen on network so phones on the Wi-Fi can reach it. The screens are described on the Headless and Docker page. - Devices, under the QR, lists every phone and browser signed in (name, how it got in, last seen) with Revoke, and the count "n of 10 devices connected". Ten is the cap per computer; revoke a lost phone to free its place.
- Remote access picks how phones reach this computer from outside. Off (local network only). Quick share: the simple one, a Cloudflare quick tunnel with no account and nothing to set up; Kitlig downloads
cloudflaredonce if it isn't installed, and the address is random and changes each time the tunnel starts, so scan a fresh QR after a restart (fine for light use, no guarantees from Cloudflare). Your Cloudflare tunnel: for a fixed address. Ifcloudflaredis already running on this computer (installed as a service from the dashboard), Kitlig uses that tunnel and never starts a second one: add a route forhttp://localhost:<port>to it in the dashboard and enter the hostname. Otherwise paste the tunnel's token (the dashboard shows it once at creation; Rotate token makes a new one) or the name of a tunnel made with thecloudflaredcommand line, and Kitlig runs it with Start / Stop. Custom domain: the public URL of a TLS reverse proxy you run. Either one puts this computer on the internet, so a strong password and the device list matter. See Reaching Kitlig from outside. - Access Token: the key a client sends with every request. Kitlig makes one the first time the server starts. Regenerate token replaces it if it leaks, and clients you set up earlier then need adding again.
If none of that means anything to you, leave the section alone; nothing in normal artist use needs it.
Warning
With Listen on network on, anyone on your network who has the token can control Kitlig, and the connection is plain HTTP, so the token travels unencrypted. Only use it on a network you trust, or over a private VPN such as Tailscale.
Connect a client
Once the server is running, Connect a client has a tab for each client with its config already filled in. The token shows as dots on screen; the copy button copies the real one.
- Claude Desktop. Quit Claude Desktop fully first (from the tray, not just the window), because it rewrites its config file while it runs. Click Add to Claude Desktop and Kitlig writes itself into Claude Desktop's config file, keeping your other servers and saving the old file as a
.bak. Reopen Claude Desktop; Kitlig is listed under Settings ▸ Developer, not under Connectors. Claude Desktop reaches a local server through a small bridge calledmcp-remote, so Node.js needs to be installed. - Claude Code. Copy the
claude mcp addcommand and run it once in any terminal. It makes Kitlig available in every Claude Code project. - Cursor. Click Add to Cursor, which writes
~/.cursor/mcp.jsonthe same way. - Other. The address, transport and header for any other client that speaks MCP over Streamable HTTP.
Test connection connects the way a client would and tells you how many tools it found, so you know the server side is fine before you look at the client.
If Remote access is Your Cloudflare tunnel and you've entered a Cloudflare Access service token there (for a hostname behind an Access policy), every config here points at the tunnel address instead of this computer and carries the two CF-Access-Client-* headers, and Test connection goes through the tunnel. Agents can't do Cloudflare's browser login, which is what the service token is for.
Note
A client's config holds the port and token from the moment you added it. Change either and you need to add the client again. If your computer can't store secrets securely, the token only lasts until Kitlig quits, and Settings warns you about that.
What a connected agent can do
An agent connected over MCP can run nearly the whole app, and the window follows along as it works:
- Projects. Open a recent project or any project folder, create a new one, close it, and bring a view, a sequence or an asset to the front so you see what it did.
- Files. Import files from your computer, save text, rename, duplicate, rate and favourite, attach channels (a depth map, a mask, a subtitle file), and delete when you ask it to.
- Kitlig Assets. Create them, file images, video, audio and 3D on their channels, and edit their details.
- Generating. Run any operation, wait for the result and see the pictures it made; read text aloud with your ElevenLabs voices or a narration voice style.
- Timelines. Everything in Editing: lay clips and titles, trim, grade, mark, subtitle, version and export, plus the one-shot Create operations.
-
Agents. Read every built-in and custom agent's full prompt, so the agent can work the way that persona does, and save new agents to the Agent picker.
-
Batches. Build a batch or a parameter sweep, add rows, start, pause and cancel it.
- Canvas. Create canvases, place images as layers and move, scale, rotate, fade, blend, reorder or remove them. Exporting a canvas is still done from the Canvas view.
- Tracking. Start a camera, planar or object tracking session, extract frames, track, solve the camera, corner-pin an insert, follow objects and export their mattes, crops and videos. Tracking passes run in the open window, so keep Kitlig open while they work.
- Redub and Vocal Studio. Start a dub from a video, set each character's language and voice, translate, voice, lip-sync and export the dubbed file; add voice tracks and phrase clips and sing or speak them.
Retarget and Digital Double are still run from the app itself.
Using your own AI through MCP
Connect Claude Desktop, Claude Code or another MCP client and its model can do the thinking that Kitlig would otherwise pay for:
- Describing footage. The agent asks Kitlig to prepare an image or video. Kitlig finds the scene changes, grabs the frames (up to 64 by default, twice what Kitlig's own model gets, since the agent's model looks for free), transcribes the speech on your computer and hands over the pictures and the instructions. The agent's model writes the description, tags and timestamped moments, and Kitlig stores them on the asset as if Describe & Tag had run.
- Planning a video. The agent asks Kitlig for the planning brief of a Create operation (the media list with every description and moment) and writes the plan itself. Kitlig then builds the sequence and renders it.
- Seeing the timeline. Contact sheets, clip frames and QC strips reach the agent as pictures, so it can check its own cut.
Kitlig tells every connected agent about the two options, so before the first describing or planning step it should ask you which one to use. Say "use your own model" (or "use Kitlig's model") up front to skip the question.
On a Claude subscription that thinking counts against your plan instead of your OpenRouter or fal balance. ElevenLabs voices and composed music are still ElevenLabs calls; a Movie or Commercial with your own music track costs nothing.
Plugins
This section only appears when an enabled plugin declares settings of its own. Its contents come from the plugin. See Plugins.
Related dialogs
Two customization dialogs live in the burger menu rather than Settings:
- Theme...: pick a built-in theme, build your own in Custom (surfaces, accents, and text swatches), save it under a name, choose fonts and a background image, and share themes as
kitlig-theme.jsonfiles. Covered in Themes. - Plugins...: covered in Plugins.
Settings also holds Replay onboarding tour if you want the first-launch walkthrough again.