Skip to content

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, Claude Code, Codex, Gemini CLI, Custom, 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.

Claude Code, Codex and Gemini CLI

These three tabs let Kitlig use a coding agent you already installed and signed in to, on your own plan, in place of an API key:

Tab What it runs Signs in with Provider name in pickers
Claude Code claude Your Claude plan Claude Code (subscription)
Codex codex Your ChatGPT account (codex login) Codex (ChatGPT login)
Gemini CLI gemini Your Google account, or the key the CLI is set to use Gemini CLI (Google login)

On a tab, tick Use my ... login (personal use on this computer), then pick that provider anywhere you choose a model: the Assistant, the built-in agents, the Video Assistant Editor and Asset Analysis. Planning steps that use those models (Create videos, Lottie from Prompt, Game from Prompt, Describe & Tag, translations) then run on your plan too. The Assistant keeps every tool it has with other providers, and the agent's own tools (its shell, file editing, browser) stay switched off.

Use ... for everything does all of that in one click: it switches the Default assistant, every built-in agent, the Video Assistant Editor and Asset Analysis to that agent with the model picked beside it. Your own agent presets keep their provider.

Kitlig finds each CLI on its own. If yours lives somewhere unusual, type its path or use Browse.... Check shows the version it found and sends one tiny prompt to prove you're signed in. If it says you aren't, run the CLI once in a terminal and sign in there.

Note

These calls count against the same usage limits as your own sessions with that agent, and each one takes a few seconds longer to start than an API call. They're meant for your own use on your own machine, so don't share a Kitlig set up this way with other people. Codex needs a recent version: older ones can't run the models a ChatGPT account gets.

Custom endpoints (your own models)

The Custom tab connects Kitlig to model servers that speak the OpenAI API: one running on your computer (LM Studio, Ollama, llama.cpp with Unsloth's GGUF models, vLLM, Jan) or a hosted one. Their models then appear under Custom (OpenAI-compatible) wherever you pick a model, for the Assistant, the built-in agents and the planning steps.

  1. Start the model server and load a model.
  2. Pick a preset (it fills in the usual address, for example http://localhost:1234/v1 for LM Studio) and click Add endpoint.
  3. Click Test. It lists the server's models and picks the best tested one (else the first) as the Default model; change it if you like. For Unsloth Studio, see Unsloth Studio.
  4. Add an API key only if the server needs one. Local servers usually don't.
  5. Click Use for everything, or choose the endpoint's models in Settings ▸ Assistant one by one.

Tools decides which of the Assistant's tools the model gets:

Tools When to use it
Essentials About twenty core tools: finding assets, running operations, basic timeline and canvas edits. Fits the 8K context most local servers give a model.
All tools Everything the Assistant can do. The list is large, so load the model with a long context (32K or more).
None For a model without tool calling. It still chats and plans.

Tick Vision if the model can see images, so attached pictures and Describe & Tag reach it.

Untick Thinking to make a reasoning model answer straight away. Replies come several times faster, and long answers such as edit plans or Lottie animations stop running out of room halfway through a thought. llama.cpp, Unsloth and vLLM servers honour it; other servers ignore it.

Images, video and audio on your server

If your server also makes pictures, video or audio through the OpenAI routes, as Unsloth Studio does, these operations use it. Find them in every operation picker under Your Model Server:

Operation What it does Example models
Text to Image Generates an image from a prompt FLUX klein, Z-Image, MOSS-Image
Edit Image Changes a picture from an instruction ("make the boat blue"), repaints only the white part of a Mask, or redraws it at a Redraw strength; up to three Reference images FLUX klein, Qwen-Image-Edit, FLUX Kontext
Text to Video Generates a clip from a prompt, or animates a Start image Wan 2.2 TI2V, LTX
Text to Speech Speaks your text with one of the model's speakers, or clones a voice from a Voice to clone recording Chatterbox, VoxCPM, MioTTS
Transcribe Turns speech into subtitles (.srt) and plain text; a model that tells speakers apart adds their names and a speaker list (.json) Parakeet, MOSS-Transcribe-Diarize, Whisper
Speech to Speech Re-voices a recording, keeping its timing and delivery: give it a Voice to sound like, or a trained voice name for RVC Seed-VC, RVC, Chatterbox
Music & Sound Effects Makes music or a sound effect from a description, with Lyrics on models that sing Stable Audio 3, ACE-Step, YuE
Stem Separation Splits a mix into stems, such as vocals and instrumental BS-RoFormer, Mel-Band RoFormer, HTDemucs

The Model list shows only the models your servers report for that job. Leave it on Automatic to use the first suitable one, a model the server already has loaded first; if the server turns one down, Automatic moves on to the next. For Transcribe, Automatic picks a model that gives timed subtitles first (Parakeet does; Unsloth's Whisper gives one subtitle for the whole clip), and the list marks those models timed subtitles. They work everywhere other operations do: the Sandbox, Batch, the Workflow canvas, the Assistant and connected MCP clients.

Edit Image uses Unsloth Studio's own image route, so it needs Unsloth Studio rather than any OpenAI-compatible server. When the picked model isn't loaded, Kitlig loads your downloaded copy first. If that would mean downloading more files (some edit models need gigabytes of extra parts), it stops and tells you instead; load the model once in Unsloth Studio and try again.

Some voice models need to know what the reference recording says before they can clone it, so type it into What the reference says. Kitlig saves the cloned voice on the server and reuses it the next time you pick the same recording.

Note

Everything runs on your server's hardware, so there is no per-call cost, but it takes time: on a 24 GB card a 5 second Wan 2.2 clip takes about 7 minutes, and the first image after a model loads takes longest. The server holds one big model at a time, so switching between image, video and chat models means a load each time.

Model tests

Each endpoint has a Model tests panel that shows how well its models handle Kitlig's own jobs. The same panels, plus hosted models and sharing, are in Model Benchmarks. Open it to see a row per model: speed in tokens a second, how many Assistant tool tasks it got right, and a tick or a cross for an edit plan, a Lottie animation, a dubbing translation and a picture. Hover a cross to see why it failed.

Models Kitlig has already tested show their results straight away, marked Kitlig's tests. To measure them on your own server, click Test all models, or Test on one row. Once some are done, the button tests only the rest. Each model takes from under a minute to several minutes, and the server loads each one in turn. The tests never touch your project: the tool tasks run against a made-up one. Cancel stops the run.

Above the table, the best model for each job is named: Assistant, Planning (edit plans and Lottie), Describe & Tag and Translation. A model only gets the job when it passed every test for it, and among those a bigger, faster model wins. Click Use best picks to set the Default assistant, every built-in agent, the Video Assistant and Describe & Tag to those models in one go.

The same results show up wherever you pick a custom model: a green Best: ... pill on the top pick for a job, a red Won't load pill on a model the server couldn't load, and the scores beside each name. A model that passed the picture test gets pictures even with Vision unticked, and one that failed never does.

Note

Speeds depend on the machine and on the Thinking switch, so Kitlig's numbers are a guide. Test on your own server for real ones.

Note

A local model is only as fast as your hardware: on the CPU a reply can take minutes. Tool calling needs a model trained for it (recent Qwen, Llama, Mistral, Gemma and gpt-oss instruct models are). Ollama runs models with an 8K context unless you set OLLAMA_CONTEXT_LENGTH, and llama.cpp needs --jinja for tool calls.

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.

Model Benchmarks

Every model test in one place: the Model tests panel for each of your custom endpoints, tests for hosted models, and sharing your results on the kitlig.com benchmark page, where you can compare models on other artists' machines.

Each endpoint shows its Server hardware above its tests, because a model's speed depends on the machine it runs on. A server on this computer is detected when you test it (CPU, RAM, graphics card and its memory, called VRAM). For a server on another machine, click Edit and type in its GPU, VRAM, CPU and RAM, then Save hardware. This computer fills the fields from the machine you're on, which helps when the server is on the same kind of box.

Hosted models runs the same tests on a model you reach with your own key: ChatGPT, Claude, DeepSeek, Gemini, Grok and the rest through OpenRouter, or OpenAI directly. Pick the provider and the model, then click Test. A test makes about a dozen calls to the model, so it costs a few cents on most models and more on the biggest ones. Hosted speeds include the trip over the internet.

To share, click Share on a row you tested, or Share on kitlig.com above a table to send every result you haven't shared yet. Results Kitlig ships with can't be shared, only your own. Each result goes up with the model name, the scores, the hardware and your Kitlig version. Your server's address, its name and your keys never leave the app, and the page doesn't show who shared a result. Testing the same model on the same machine again replaces your earlier result.

Note

Sharing needs an activated copy of Kitlig, and each account can share up to 100 results a day.

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.

Optimized Media

Per project, saved in the project file. Play optimized media in the Edit player is the same switch as the transport bar's OPT button. Resolution, Quality and Keyframes decide how new copies are made, and Auto-optimize picks which videos get one on their own (off, generated clips, or all video). The On disk line shows how many copies exist and their size, with Re-optimize outdated and Clear optimized media…. Exports never use these copies. See Optimized media.

Timeline

Show thumbnails on timeline clips is on by default. Untick it to speed up big timelines: video, image and title clips become plain blocks in their lane's colour, and Kitlig stops reading frames for them, including any it had already started. Colour clips keep their colour, and audio clips keep their waveforms. The setting applies to every project on this computer.

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.

Dev runtimes

What Dev mode runs apps with. Node.js, Python and PlatformIO each show the version found and where it came from (the path you set, your PATH, a standard install location, or Kitlig's own runtime for Node). Browse... points at an executable, Clear returns to auto-detect, Re-detect looks again. A path you set is checked before it is used; a path that does not answer is reported here rather than failing when you click Run. The npm line says whether package installs can work. When one is missing, Install Node.js or Install Python installs it with winget (Windows) or Homebrew (Mac), showing the exact command first; on Linux you get the official download page and the line for your distribution. Install PlatformIO works on every platform: it uses pip to install into Kitlig's own folder, and needs Python 3.10 or newer. See Firmware.

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

At the top, Default assistant picks the provider and model the Assistant chats with when no persona is selected. Left alone, it uses OpenRouter's default model.

Below it is the home of the built-in personas, each with its own provider dropdown (OpenRouter, Google (Gemini), OpenAI, Anthropic (Claude), and Claude Code, Codex or Gemini CLI once you switch them on). "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.

  1. Click Download CUDA support (1.8 GB) in the Inference Engine card.
  2. 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.
  3. 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>/mcp with 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, a KITLIG_MODELS_DIR variable 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, write notes an agent can read, and play, preview and build the project's games and websites (Dev). 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_PASSWORD when 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 cloudflared once 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. If cloudflared is 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 for http://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 the cloudflared command 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.

Home Assistant

Kitlig can show up in Home Assistant, the home automation hub, through the Kitlig integration. Two settings here must be on, with the server running:

  • Listen on network, so Home Assistant can reach this computer.
  • Phone companion, because the integration talks to Kitlig Web.

With both on, Kitlig announces itself on your local network and Home Assistant finds it automatically, with no address to type. Every Kitlig on the network is found the same way, and each keeps its own identity, so renaming a computer or a change of address doesn't turn it into a new device. A headless Kitlig on a server always has both on.

Note

Finding Kitlig automatically only works when Home Assistant and Kitlig are on the same local network. Across a VPN or from a Docker container without host networking, add it by address instead.

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 can't talk to a local server directly, so it starts a small bridge that ships inside Kitlig, using Kitlig's own app to run it. Nothing else needs installing. If you move or reinstall Kitlig somewhere else, click Add to Claude Desktop again so the path stays right. When the config points at your remote tunnel instead, Claude Desktop uses a bridge called mcp-remote, which needs Node.js.
  • Claude Code. Copy the claude mcp add command 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.json the 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 and artboards; add image, text, solid colour and adjustment layers; move, scale, rotate, fade, blend, group, mask, reorder or remove them; set borders and glows. It renders the canvas to see its work and exports artboards as project images. To run an operation on one layer (remove a background, upscale, an AI edit), it exports the layer, runs the operation and swaps the result back in. The Assistant can do all of this too.
  • 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.

Automation

Who may run Call Function, Run JavaScript, Run Python and the Network operations, which run programs on this computer and send data over the network. See Automation.

  • Run these without asking when I press Run starts off. While it's off, Kitlig asks before the next one runs, and answering Allow ticks it.
  • Let MCP clients and the assistant run these starts off, and they're refused until you tick it. Nothing else can turn it on.

Plugins

This section only appears when an enabled plugin declares settings of its own. Its contents come from the plugin. See Plugins.

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.json files. Covered in Themes.
  • Plugins...: covered in Plugins.

Settings also holds Replay onboarding tour if you want the first-launch walkthrough again.