Loki Studio v1.4.0

Faster, and it keeps more of what you said. August 2026.

← All updates
CURRENT Released: August 2026

Transcription is about two and a half times faster and keeps a lot more of what you actually said. Translation no longer takes longer than the transcription it follows. There are eight more local models to choose from, the settings screens have been rebuilt around cards that tell you what each model is for and whether it fits your graphics card, and picking the brightest frame for a thumbnail now happens once per video instead of every time you press Regenerate.

Coming from 1.3.2? This covers everything since. Versions 1.3.3 and 1.3.4 were built but never published, and their changes are all included here.

Transcription is about 2.5× faster

A 40-minute video went from roughly 3 minutes 10 seconds to 1 minute 17.

  • Nearly all of that was one step. Converting audio into the form Whisper reads had been written the simple, slow way as a placeholder and never replaced - on its own it accounted for 55% of every transcription. It now uses a proper fast Fourier transform, about 165 times quicker for the same answer.
  • Two smaller changes went in alongside it: skipping arithmetic that was always multiplying by zero, and no longer holding the whole spectrum in memory at once - about 380 MB on a 40-minute file.
  • The fast path checks itself against the old one every time it runs and falls back automatically if the two ever disagree. Speed shouldn't come at the cost of a different transcript, and now it can't.

It keeps more of what you said

Three separate bugs were removing real speech. If your transcripts have ever read like they were stuttering, or quietly lost a line you know you said, this is why.

Audio around speech boundaries was transcribed twice

Voice detection widens each speech region slightly so words aren't clipped at the edges. That widening could reach further than the silence between two regions - and a long stretch of continuous talking gets split every 30 seconds with no gap at all. So regions overlapped, and the shared audio was handed to Whisper twice. On a 40-minute video that's roughly 80 places where a moment of speech got repeated.

Every three-word line was being deleted

A filter meant to catch Whisper's repetition loops ("go go go") had an arithmetic error that made it match any three-word segment, repetition or not. On one 40-minute video, 61 of the 63 lines it removed had no repetition at all - things like "I don't care." and "Where is it?"

Short lines were being deleted

A filter meant to remove Whisper's silence hallucinations required at least half of a segment's duration to overlap detected speech. But Whisper pads segment timestamps past the actual words, so a short phrase is mostly silence by the clock and could never pass, however clearly you said it. Long sentences survived; quick reactions like "Harvest." or "You can't be serious" quietly vanished.

Measured on a 40-minute gaming video: of 20 deleted lines, 17 were real commentary. The 3 genuine hallucinations were easy to tell apart - they had no detected speech at all, sitting at exactly zero overlap while the real lines sat between 19% and 50%. Nothing fell in between, so the threshold now sits in that empty gap with margin on both sides. Hallucinations still go; your voice stays.

  • Two earlier voice-detection improvements had never actually reached anyone who'd already run Loki. A saved setting always beats a new default, so an improved default sat unused on every existing install - and the fix above wouldn't have reached them either. This release migrates those stale values once. Settings you chose yourself are left alone.
  • Fixed voice detection failing to load its model when your Windows user name or video folder contained an accented or non-English character.

Translation no longer outlasts the transcription

  • Subtitle translation was sending one line at a time to the model - on a 40-minute video, 657 separate round-trips to the graphics card, which was enough to make translating take longer than transcribing. Lines now go in groups, and the model is free to work on similar-length lines together. Metadata translation had the same problem and got the same fix.

Video lists load in milliseconds

  • Every tab used to scan your video folder independently - one profile load ran the same scan about a dozen times. There's now a single shared scan: each folder is read once and the result reused everywhere. On a 37-video profile the list build went from seconds to milliseconds, and it happens in the background, so the window stays responsive on network drives and external disks.
  • Audio track counts are remembered between runs instead of re-inspecting every file with FFmpeg on each launch. That alone was about 4 seconds of frozen window on a 37-video profile.

Brightest-frame thumbnails are fast now

Picking the brightest frame used to scan the whole video every single time you pressed Regenerate - around 2,400 frames decoded on a 40-minute video, for an answer that never changes.

  • The scan already scored every frame and then threw all but the best one away. It now keeps the best ten and writes them beside the video, and each Regenerate steps to the next, looping back to the first after the tenth. The slow pass happens once per video, ever.
  • Candidates are kept at least 8 seconds apart. The ten brightest frames are usually ten frames of the same bright shot, which would have handed you the same picture ten times.
  • The scan runs at a small frame size. Brightness is a whole-frame average, so the choice is identical, but it no longer holds thousands of full-size frames in memory.
  • How many candidates to keep is yours to set - Profile Settings → Thumbnails → Frame Candidates, 1 to 30, default 10. Set it to 1 for the old always-the-brightest behaviour. Raising it rescans; lowering it doesn't, since the extra candidates are already there.
  • Changing the sample interval or the time window rescans, since the stored candidates no longer answer the question being asked. Replacing the video file does too.

One mix for all your videos

Ten videos that want the same mix used to mean setting the same sliders ten times.

  • The Finalize tab now has a global set of track volumes that every video follows. Set them once with All videos selected and you're done.
  • Switch to Just this video to give one video its own mix - it stops following the global from the moment you move a slider. Use global mix puts it back.
  • The line under the picker always says which you're editing, and how many videos have settings of their own that a global change won't touch.
  • The volume card grows to fit its contents. It had a fixed height, so adding the picker pushed the last track and the Normalize option off the bottom.

Eight more local models

Downloadable from Application Settings → LLM. Every URL and file size was checked against HuggingFace first.

Two 24B models, for 24 GB cards

  • Dolphin 3.0 Mistral 24B (~14.3 GB) - general purpose, with no refusal training, which means it follows your AI personality far more closely than the safety-tuned models do. If you've written a personality with a strong voice and watched the model sand it down, this is the fix. 32K context.
  • Cydonia 24B v4.3 (~14.3 GB) - uncensored. A creative-writing finetune with the safety training removed. It writes more vivid, less repetitive titles and descriptions than anything else in the list, which is exactly why it's here. It also has nothing stopping it writing something you don't want on a public video listing, so read what it produces before you upload. Its card is tagged, and there's a warning at the top of the model list.

Six more, ported from the AuthoringTool model list

  • Rocinante XL 16B (9.7 GB, 12 GB VRAM) - the best quality per gigabyte here, and the missing middle step between the 8B models and the 24B ones.
  • Dolphin 3.0 Llama 8B (6.6 GB, 8 GB VRAM) - the small uncensored option, for getting a personality through on a card that can't hold a 24B model.
  • Orion 26B A4B (15.8 GB, 24 GB VRAM) - mixture of experts, so only 4B of it runs per token and it's faster than its size suggests.
  • Orion 26B A4B, higher quality (17.0 GB, 24 GB VRAM) - the same model, less lossy.
  • Artemis 31B (18.7 GB, 24 GB VRAM) - the largest and most capable here, and slower than Orion for it.
  • Skyfall 31B v4.2 (19.0 GB, 24 GB VRAM) - strong writing, slowest of the lot.

Model downloads, redesigned

The Local LLM section shows a card per model instead of a row of coloured buttons and a separate ratings chart.

  • Each card gives you the model's name, what it's good and bad at in plain language, its size, the VRAM it needs, and the context window it actually runs at. The button still flips to Delete once the model is on disk.
  • Every card tells you whether the model fits your card. Loki reads your GPU's VRAM and marks each model as fitting or not before you commit to a 14 GB download.
  • The ratings chart is gone. It was a wall of numbers from a single test run in December 2025, and the same information now sits on the card it applies to.
  • Downloads no longer put up a window that blocks everything else. A progress bar appears at the top of the list with the model name, how much has come down, the current speed and the time remaining, and a Cancel button. You can keep using the rest of Settings while a 19 GB model comes down behind it.
  • The catalog is generated from one list in the code now. The old buttons were written by hand one at a time and had drifted - Mistral 7B could be downloaded but had no button anywhere, and a button existed for a model that was no longer available.
  • Models Folder moved up next to the section heading, where you look for it.

The Transcription tab, rebuilt

  • Whisper models are cards too. The old Download Models... button opened a list of bare model names with nothing to tell you which to pick. Each now has a card with its size, relative speed, and a sentence on what it's good and bad at.
  • You can delete a model. That wasn't possible before at all - removing one meant finding the folder yourself.
  • Settings on the left, models on the right. The tab was one long scroll where you had to go past every threshold slider to reach the downloads.
  • Both model pickers sit together. "Model:" is now "Transcription Model:", with "Translation Model:" directly beneath it - the same decision made twice, in one place, instead of in two panels a page apart.
  • Translation models are cards as well, under the transcription ones. You can see all three NLLB sizes and what each is for, and remove one you no longer want.
  • Removed the Tiny and Base transcription models. Anything below Small produces transcripts too rough to be worth the download. If you already have one it keeps working - they're just no longer offered.
  • Fixed a tooltip on "Pipelined Prep" that never appeared. It was bound to a property that doesn't exist on a label, so it raised an error every time the tab loaded.

Settings, reorganised

  • Picking an engine is one step instead of two. You used to choose an "LLM Mode" from a dropdown and then, if you picked Bring Your Own, choose a provider from a second dropdown nested inside it. Every option is now a radio button on one row - Grimnir, Ollama, LM Studio, OpenAI, Claude - and the settings below change to match. You can see what's available without opening anything.
  • The engine panel shows your GPU and how much VRAM is free, so you know what Grimnir has to work with before choosing a model. The models section shows free space on the drive they download to.
  • Every Application Settings tab is capped in width and centred - Directories, LLM, Transcription, Captions, Advanced. On a wide window the panels used to stretch the full screen, leaving labels an arm's length from the controls they belong to.
  • Removed the ChatGPT engine option. It was the same OpenAI API with a second key, so it read as a duplicate. If you had it selected it keeps working and keeps its settings - it just shows as OpenAI now.
  • Removed the model download buttons from the Ollama panel. Ollama manages its own models, and a second set of buttons that behaved differently from the Grimnir ones was just confusing.
  • Deleting a model no longer asks first, on either tab. The card flipping back to Download says plainly what happened, and everything here can be downloaded again. A delete that actually fails still tells you.
  • A download that fails now always says so. One path didn't: if a download stopped in an unexpected state the progress bar simply vanished and the model wasn't installed, with nothing said - and cancelling took the same silent path, so there was no way to tell a cancel from a real failure. Those are separated now. Cancelling stays quiet; anything that actually goes wrong speaks up.
  • Model cards are easier to read. Descriptions went from 9px grey to 11px at full text colour, and the smaller details from 9px to 10px a shade brighter. Download buttons are green and Delete buttons red - they were using the theme's understated button colours, which on a dark background left them looking like plain text.
  • The uncensored-models warning moved to the top of the list, in a bordered box. It was at the bottom, below sixteen cards of scrolling, where almost nobody would have read it.

Context sizes are honest now

Loki shrinks a model's context to fit its weights in VRAM - a 14 GB model gets 12K, an 18 GB model gets 8K. The part deciding how much transcript to send didn't know that and went by model name instead. Cydonia and Dolphin 24B were being sent 24K of transcript into a 12K window, and even Qwen 3 was told it had 24K when it was loaded with 16K. Everything past the limit was quietly dropped before the model ever saw it. Both sides now read the same rule, and every card shows the size actually in use.

Metadata

  • Episode titles aren't replaced any more. "Conan Exiles Ep19 - Hired Mij of Asura" came back as "Conan Exiles Ep19: Blood Hunt for the Asura's Chosen" - the name you gave the episode thrown away, only the series and number kept. Your name is now kept and the AI line added after it. The pair is held under 70 characters rather than YouTube's 100, leaving room for the title to grow when it's translated: Spanish and German routinely run a third longer, and nothing was checking a translated title's length before it went up. Measured across 222 of your own translated titles, 70 keeps 96% of them inside the limit. If your own name is already longer than that, it stays exactly as it is and the AI line is dropped - it never trims your words to fit its own.
  • The summary line at the top of every description skipped the humanizer. It comes from a different place than the rest of the description, and only the rest was being cleaned - so em dashes and AI phrasing survived into the first thing anyone reads, the text YouTube puts on feed cards and in search results. It gets the same treatment as everything else now. Your own header and footer are still left exactly as you wrote them.
  • "1st Person" was ignored by the key moments list. The description would say "I finally admit the base is doomed" while the key moments underneath said "Player admits the base is doomed".
  • Chapter titles and key moments were cut off mid-thought - "discusses resource needs for", "Crafting station requirements and resource" - because a hard length limit chopped the tail. Dangling connecting words are trimmed now, and key moments show an ellipsis where something was left out. Chapter titles don't, since those are just navigation labels.
  • Rewrote the Hyborian Barbarian personality to sound like a person. The old version handed the model a list of catchphrases and asked for "lurid grandeur", so it sprinkled them in and the writing read as generic fantasy pastiche. The new one explains how to write instead: name the specific wall that fell over, underplay the disasters, keep the barbarian voice as seasoning rather than costume, and don't reach for a line just because it sounds epic.
  • The "model is not in the download registry" message lists what actually is in the registry, with sizes. It was a hardcoded list that had gone stale.

Other fixes

  • "Remove Filler Words" stays on. It used to reset to off every launch. It describes how you speak, not which game you're playing, so it's remembered app-wide rather than per profile.
  • Upload warns before sending videos with unmerged audio. YouTube plays only the first audio track and won't flatten the rest, so uploading before mixing ships a video where your commentary is silent - with no error anywhere to tell you. Upload checks first, names the videos, and lets you continue anyway.
  • Fixed translation failing immediately after transcription. A cleanup timer added in 1.3.2 was shutting the translator down while it was still loading.
  • The video list refreshes after a failed batch. If transcription succeeded and only translation failed, the finished transcript stayed invisible until you switched tabs.
  • Localized exports (_fr, _de) no longer clutter the video lists.
  • Transcription no longer crashes on clips shorter than a fraction of a second.
  • If voice detection can't start on the graphics card it falls back to the processor, instead of failing the whole transcription.
  • The log viewer no longer fills with internal step-by-step diagnostics every time a model is unloaded.

Older: v1.3.2 →·All releases

Ready to update?

If you've already paid, this version is free. Just download and reinstall.

Download v1.4.0 Discord
Buy me a coffee