CUTLIST
N°00What actually shipped

Changelog.Nothing but what landed.

Taken from the commit history rather than written for a launch. Fixes carry the same weight as features here, because the bug you are hitting matters more than the feature you were not waiting for.

Last shipped
13 August 2026
Listed here
41 changes
19 new · 10 improved · 12 fixed
Version numbers
None. One hosted product, everybody on the same build, nothing to upgrade.
N°014 changes

13 August 2026

New

Pay yearly, and the saving is worked out rather than advertised

Every paid plan now has a yearly price beside its monthly one, and a toggle on the pricing page switches between them. Creator is $109 a month or $1,140 a year, which works out at $95 a month. Studio is $349 a month or $3,600 a year, which is $300 a month. That is a saving of 13% and 14%, and those two figures are computed from the two prices rather than typed, so the page cannot advertise a discount the invoice does not give. It is not the two months free you see elsewhere, and the reason is worth stating plainly rather than burying: the yearly rate was worked out FIRST, against what a job actually costs at the pessimistic end of our own measurements, and the monthly rate was set above it. Two months free from the monthly price would put a year below what the compute costs, and the people it would undercharge are the ones who committed for the longest. There is a second reason it stays modest. A yearly plan grants all twelve months of credits in one movement, at the start of the year, and they stay spendable until the year is out - so you can spend the whole allowance in the first week if a season lands that way. A monthly allowance resets and whatever you did not use is gone. Before any discount at all, the yearly plan is already more compute per dollar. The symmetric fact, since an argument that counts only the half favouring us is not one we want to make: a yearly allowance does not roll over either. Whatever is left at the end of the twelve months goes the same way a month's leftovers go, and on a yearly plan that can be a lot more of it. Nothing about how a plan works changes with the interval: the same allowance, the same features, the same engine, and cancelling still takes effect at the end of the period you already paid for - which on a yearly plan is the year.

Improved

Prices went up, and the margin they clear is now 45%

Creator was $79 and is $109. Studio was $249 and is $349. Top-up packs are 300 credits for $59, 900 for $159 and 2,500 for $399. The engine did not change and will not: Opus 5 at the highest reasoning effort, large-v3 transcripts, the discovery sweep and the grounded review are what this product IS, and the standing rule here is that the price moves and the quality does not. What changed is what we require a credit to earn. The old floor asked a job to clear 35% and the cheapest credit on the list was $0.1037, which on the worst-shaped job we accept was under cost - short jobs and twenty-clip jobs have been subsidised by long ones since the review was widened. The new floor is 45%, which needs $0.1206 a credit, and every rate we sell clears it at both intervals. The job that sets the price also moved, which is the more interesting half: it used to be a one-minute re-cut off a three-hour file, where the cost is bytes moving. It is now twenty renders and a container start-up billed against a one-minute sale - fixed cost against a thin sale, which no amount of compute engineering touches. Not one number in the cost model moved to make this look better. Those are measurements, and the whole point of writing them down was to stop a price being an opinion. web/lib/cost-model.ts still shows the derivation, including which inputs are measured and which are still estimated, and /pricing still quotes every figure from the same function that bills you.

Improved

The free trial is an hour of source, because half an hour was not an episode

The trial was 160 credits and is 280. Six surfaces described it as about half an hour, and half an hour is not a thing anyone makes. The reference job this entire site quotes capacity in is one hour at the shipped settings, which is 220 credits, and the first real production run through this pipeline was a 51-minute source at ten clips, which the meter prices at 270. A 160-credit trial could not run either of them. That does not teach somebody the product is expensive - it teaches them it does not work, and they leave believing something false about it. 280 credits clears both with room: at the default five clips a single source can be up to 89 minutes, so an ordinary 45-to-80 minute episode goes through whole. Ask for more clips and that ceiling comes down - ten clips is 56 minutes, twenty is 20 - because the clip count is a real cost input rather than a packaging choice. Still no card, still no watermark, still every feature on. This is the one place a dollar leaves with nothing behind it, and it is worth being straight about the size of it: worked as hard as one email address can work it, the trial is now about $18 of processing at the pessimistic end of the band rather than about $10.

New

Three hours is the longest source, and it is refused rather than sold

A source longer than three hours could be paid for and could not be finished. The worker container is allowed nine hours to do everything - fetch, transcribe, sweep, review, render - and at the slow end of the measured band a six-hour file needs closer to twelve. Nothing refused it. Somebody would have paid, waited out the whole nine hours, and been handed a timeout and a refund after we burnt nine hours of compute on their behalf. Three hours now is the limit, and it is checked at every point a length is known: in the browser the moment a file is picked, so a refusal costs you nothing rather than costing you an afternoon of uploading; at submit when you declare one through the API; and by the worker on the length it measures for itself, which is the one that is authoritative because it is a measurement rather than a claim. A refused job is never charged - no credits are taken, and any hold placed at submit is returned in full before the message is written. The refusal says how long your file is, how long a source can be, and that the way through is to trim it or split it into parts and send each part as its own job. It is not a plan limit and no plan raises it: it is a statement about what this pipeline can finish. The upload ceiling has always been 25 GB, which is about three hours at 20 Mbps, so the two limits now describe the same recording instead of two different ones.

N°022 changes

12 August 2026

New

A new account holds nothing until the address is proven

Signing up handed 160 trial credits and a 250 GB storage allowance to whoever typed an address, and nothing ever checked that the address was real. It now sends a link. Open it and the credits land. Ignore it and the account stays empty: no card, nothing charged, nothing to cancel. The gate is on the grant rather than on the login, and that is deliberate - an unverified account is a real account, it signs in and the studio works, because somebody who mistyped their address needs a screen to fix it from and an abandoned signup should cost us nothing. What it cannot do is start a job or open an upload, since the storage is the expensive half rather than the row. The link lasts 24 hours, works once, and asking for another stops the earlier one working. Signing in with Google skips it, because Google asserts the address itself and a second trip through an inbox would prove nothing. Every account that existed before today was left verified. Two things shipped underneath it. There is a mailer now, so the three messages this product sends - verify your address, another verification link, reset your password - are real mail rather than a line in a server log. And there is a fixed-window rate limiter on every endpoint that can send one, plus the one that opens an upload, because a form that mails a stranger is a form that can be pointed at a stranger a thousand times.

Improved

Bigger files, and a source that is still there next weekend

The upload ceiling was 2 GB, which is about twenty minutes of a livestream and not a broadcast, a match or an episode. It is 25 GB now - three hours at around 20 Mbps - and moving a file that size is a different mechanism rather than a bigger number: the store caps a single upload request at 5 GiB, so a large source goes up as a run of independently retryable parts. A dropped connection or a laptop that sleeps costs the parts still in flight instead of the whole upload, and starting it again skips everything that already landed. The account allowance moved with it, from 100 GB to 250 GB shared across every project you own, because four sources at the new ceiling filled the old allowance exactly and left no room for a clip. Source uploads now live 14 days instead of 2, since a re-cut reads the original and two days meant anyone back the following weekend re-uploaded the whole file to move one in-point. One correction belongs with it. Pages that said a source was removed some number of days "after a finished render" described something this code has never done: the expiry is stamped once, when the upload completes, and nothing re-stamps it when a job finishes. The window is 14 days after upload, and every page now says so.

N°039 changes

10 August 2026

Fixed

A pasted link was priced at ten minutes until the job had already run

The credit hold is taken when you press the button, and when you paste a link there is nothing to take it from - the browser can measure a file you dropped, and it cannot measure a URL. So the hold fell back to a flat ten minutes, the worker downloaded the file, ran the transcript, the sweep, the review and every render, and only then did anyone find out it was six hours. A job like that costs 868 credits and was holding 110. Now the length is established before any of the expensive work starts, and the job is authorised against the real number: if your balance covers the difference it is topped up and you never hear about it, because a small overrun should not interrupt anybody. If it does not, the job stops there - the hold comes back in full, nothing is charged, and the studio says what the file turned out to be, what it would have cost, what you had, and — where narrowing it would help — the longest window of it your balance does cover. We do not quietly cut it down to what you can afford; changing your deliverable without asking is not a decision this makes for you. The submit form no longer implies a price it cannot know either: with no length to go on it says so, and says the job will stop rather than overspend.

Fixed

A re-cut was billed for the clip and not for the file it fetches

Narrowing a job - a processing range, or a re-cut anchored to one clip - narrows what the engine decodes, and the meter charged accordingly. It is not what the worker does. Every job starts in an empty scratch directory and downloads the whole source before anything is opened, because ffmpeg seeks into a local file and cannot pull forty seconds out of the middle of a remote one. So a forty-five second re-cut of a three-hour podcast moved three hours of video and billed two credits, and the advice we give is to re-cut freely. Two fixes: the engine now transcribes only the anchored moments rather than the entire file, which it had never been told to do, and the quote carries the file length alongside the billed span so the part we still have to move is charged for and itemised. That re-cut is now eighteen credits instead of two - against the several hundred the job that found the clip cost.

Improved

The meter now assumes jobs sometimes fail

Every job may be attempted three times, and a retry starts from nothing - fresh download, fresh transcript, fresh model calls, fresh render - because the worker wipes its scratch directory between attempts. A job that exhausts its attempts is refunded in full, and so is one canceled at 95%, after the expensive half has already been paid for. None of that was in the cost model, which quietly assumed every job ran exactly once and was always billed. It is now, banded, and the start-up charges moved with it. Clip downloads were also being counted per job rather than per clip, which made the twenty-clip jobs look better than they were.

Fixed

Capacity figures promised a fraction of a job

"About N hours a month" was the allowance divided by the reference hour, which is a real number and not a reachable one: 700 credits over a 220-credit hour is 3.18 jobs, and nobody can run 0.18 of a job. It now counts whole reference hours and then asks what the leftover credits can actually start, so the figure is exactly what a month of uploads can reach. The plan blurbs were checked against the same arithmetic and two of them were wrong - a weekly forty-five minute show does not fit Creator, and Studio does not hold a daily one.

Improved

Priced against a measurement instead of a guess

The engine got a lot better - Opus 5, the highest reasoning effort, large-v3 transcripts, a discovery sweep that samples up to 900 frames and a review that looks at fifteen shortlisted windows with the pictures in hand - and the meter did not move with it. So we measured: every prompt, every frame, every token, against the published rates, plus worker CPU timed on the real functions. A one-hour source at the shipped defaults quotes 220 credits, and web/lib/cost-model.ts shows the whole derivation including its error bars. /pricing has the current figure. Prices went up. They had been below cost on short jobs since the review was widened, and we would rather charge what it costs than quietly ship a cheaper pipeline.

Improved

The bill has two halves now, and says so

About half of what a job costs happens once, however long the source is: the shortlist goes to the review whether the file is five minutes or fifty, the sweep samples the same forty signal peaks, the rank pass runs once. A single per-minute multiplier could not represent that, and it lost money on every short job. The quote is now source minutes at a rate plus a start-up charge, both shown in the breakdown. Longer sources got relatively cheaper as a result, because they were the ones subsidising the short ones.

Fixed

Every credit figure on the site was quoted on a model no job runs

Seven surfaces - the pricing calculator, the studio's own estimate, the /usage endpoint, both MCP tools and four worked-example pages - passed the `small` transcription model to the quote while every real job defaulted to `large-v3`. The number shown was about 29% under the number held, on the same screens that promise the two are the same. An MCP job was worse: held at one model and settled at another, so an agent's bill trued up after the fact. All of them now quote what validation.ts actually defaults to, and the clip count - which moves the price, because the review looks at three candidate windows per clip - is passed through instead of assumed.

Fixed

The settle read two options the hold had not

A job is quoted twice: once to place the hold, and once when the worker reports back and the real source length is known. Only the length is supposed to differ between them. Two other things did. The settle never passed the clip count, so a twenty-clip hour held 341 credits and settled at 206 - a 135-credit refund on the largest jobs we sell, in the customer's favour and by accident. And when a stored job had no transcription model recorded, the settle fell back to `small` while the submit path defaults to `large-v3`. Both are now read from the same constants the hold uses, and a test walks ten job shapes through both paths and fails if any pair disagrees.

Fixed

Anchored jobs were described as free of a charge they still pay

Fourteen surfaces said that supplying your own timestamps meant the job paid "no start-up charge at all" - the pricing FAQ, the API and partner docs, the terms, and every vertical page. The engine really does build its model clients with a budget of zero calls, so the sweep, the review and the ranking pass are gone. The clips still have to be encoded, postered and moved out of the origin, and that is 1 credit on a five-clip job. The estimate had been itemising it as "start-up, once a job (+1)" the whole time, directly under copy saying it did not exist. The copy now says what the receipt says.

N°044 changes

24 July 2026

New

Cut only the part you mean

Set a processing range at ingest and nothing outside it is touched: the transcript is extracted from that stretch, scene detection decodes that stretch, the vision sweep samples inside it. Billing follows the window, so 20 minutes of a 2:34:00 broadcast is 27 credits instead of 208. Timestamps stay source-absolute, so a re-cut lands on the same footage.

New

Direct the cut before it runs

The moment a source exists, a panel appears: an instruction field, then footage type, clip length, shape, language and how many clips, with the processing range, captions and the see-plus-listen review on one strip. Every control maps to a real engine setting and every one has a working default, so dropping a file and pressing go is unchanged.

Improved

The comparison table says it in words

Capability status used to be a row of glyphs nobody could read. It is written out now, counted into a scoreboard, with the not-built rows separated instead of buried in the middle where they were easy to miss.

Improved

The demo cards show the working

The clip cards in the home page demo were flat gradients standing in for clips. They now draw the tracked path, the crop window that followed it, the burned caption, and the score split into what was seen, what was heard and what was read.

N°0522 changes

23 July 2026

Improved

The home page shows the product

Three live demos running the real behaviour instead of a description, a capability grid of everything in the box, and the editor itself in a browser frame. Icons that depict their idea rather than a typographic glyph. Sections uncover as you scroll, in CSS, with nothing to hydrate and nothing hidden from a reader who asked for stillness.

New

A studio dashboard, not a bare page

Signing in lands on a sidebar with your account, a Create section and a Learn section, and a top bar carrying the two numbers that govern what you can do: credits, with a top-up link, and a storage meter that turns red past 90 percent. Only destinations that exist appear - a nav full of greyed-out links for unbuilt features is worse than a short nav.

New

A real timeline, with two modes

The editor was a trim bar. It is now a filmstrip painted from your own footage, a decoded waveform, a playhead that stops at the out point, scrubbing, draggable handles, zoom and a tool rail. Simple shows the three decisions almost everyone makes; Creator is the whole desk. The choice is remembered, because someone who wants the full editor wants it every time.

New

Brand kit

Logo, accent colour, default caption style and default post voice live on the account and become the defaults on every new project. The logo is composited at render, sized as a percentage of the output width so it reads right on a vertical clip and a wide one. Any single clip can still override it.

New

An MCP server for agents

One endpoint speaking JSON-RPC, four tools: cut_video, get_clips, estimate_cost and list_jobs. Each is a thin wrapper over the same code the studio uses, so there is no second implementation to drift. estimate_cost exists because an agent spends real money and should be able to ask the price first - an hour of footage quoted at 81 credits, or 24 when you bring your own timestamps.

New

Post captions, in a voice you pick

A clip still needs words next to it when you post. Six voices that differ in register rather than in adjectives, each with alt text for people who cannot see the video and a few specific hashtags - never #viral, never #fyp. The model is told to describe what is in the clip and never to invent a name, a score or a claim.

New

Strike a word, lose the footage

Where there is speech, click a word in the transcript and its span leaves the render. The span runs to the start of the next word, so the silence after it goes too and the join does not stutter. Re-renders are quoted on the kept length, so cutting half a clip halves what it costs to cut again.

New

Accounts, storage and retention

Sign in with an email and a password instead of an API key. 100 GB per account, shared across every project rather than granted per project. Clips live 30 days and each one counts down to its expiry in the studio; source uploads are removed two days after a render finishes, because once a clip exists there is no reason to keep the original.

New

Six caption styles, adjustable

Bold, punch, clean, block, brand and subtle - real differences in size, outline weight, words per line and casing, not a colour swap. Size runs 0.6x to 1.6x with a vertical offset, previewed before anything renders, and an SRT ships beside every clip for platforms that want their own.

New

Reframing that follows motion

Face detection has nothing to hold onto in a wide shot of a field, which is why transcript-and-face clippers only really work on talking heads. The crop now tracks what moves, smoothed and velocity-clamped so it pans like an operator rather than whipping. The face mode falls back to motion when there is no face to find, instead of centring on empty grass.

New

Export everything in one zip

Every clip and every caption file for a project in a single download, with clip titles as filenames. Individual clips and SRTs are still downloadable on their own.

New

Bring your own timestamps

Paste chapters, a run of show, or the notes you took while watching, in any of the formats people actually have them in: 0:45 Title, 12:34 - Title, ranges, bracketed times, bare seconds. Detection is skipped entirely and the job billed, at the rates of the day, a quarter of what a found one did. The count is parsed by the same function in the browser and on the server, so the number you see is the number that gets cut.

New

Credits, quoted before you spend

One credit is one source minute, because that is what the pipeline actually spends. Holds are placed at submit and refunded in full on failure or cancel, the real charge is trued up from the probed duration, and every spend is on an append-only ledger. The calculator on the pricing page imports the same function that bills you, so it cannot drift from it.

New

See, listen, read

Frames sampled from inside every shortlisted candidate go to the model with the audio profile and the transcript. Commercials, slates and ten seconds of black are rejected before anything renders, on-screen text is read and used to title, and footage with no dialogue at all becomes a valid input rather than a dead end. Every clip carries what it saw, what it heard and why it scored where it did.

New

A studio, and pages that say what it does

Drop a file or paste a link, watch the pipeline advance in plain language, download clips. Alongside it: a features page with every limit written down next to the capability it belongs to, and worked examples covering a game with no commentary, a two hour episode, a six hour stream, and cutting from timestamps you already have.

Fixed

Anchored jobs were transcribed without being billed for it

Three surfaces claimed that supplying timestamps skipped transcription. Captions still need words, so the transcript was being made while the job billed a quarter rate on the premise that it was not. The quote now charges for a transcript when one is actually produced, and the copy says what the code does.

Fixed

A truncated download was cached as a finished one

An early end of stream returns an empty read rather than raising, so a half-downloaded source could be renamed and reused as though it were complete. Downloads are now verified against the declared length, with a size cap and a transfer deadline so a hostile URL cannot fill the disk.

Fixed

A timestamp past the end of the source

It used to be pinned to the duration and grown backwards into a plausible-looking clip of the last few seconds, which is the worst kind of wrong: it looks like output. It is dropped now, with a reason attached.

Fixed

Supplied moments are never re-ranked

Anchored jobs bypass ranking entirely, so six timestamps produce six clips even when the clip limit is set lower, and no supplied moment is deduplicated away by the containment rule.

Fixed

The primary button rendered as a ghost

Utilities are emitted inside a cascade layer and unlayered rules beat layered ones regardless of specificity, so the button base style was silently overriding the fill on the main call to action. Component styles now live in their own layer. The focus ring moved to paper as well, because red on red is invisible.

Fixed

The hero row stuck out of a small phone

383 pixels of content in a 375 pixel viewport. It wraps now, with a smaller floor on the numerals.

Improved

Hardened the parts you cannot see

Source and callback URLs are checked at validation, re-resolved immediately before connecting and re-checked on every redirect hop, so the API cannot be used to reach anything private. A worker that loses its lease can no longer keep writing to a job that has been handed to someone else, and a customer whose job dies that way is now actually told.

N°06How to read this page

A log, not a roadmap

The dates are real

Which is why one of them carries almost the whole list. This went from an engine to a hosted studio in two days of continuous work. Spreading the entries out to look busier would be the first lie on the page.

No coming-soon column

An entry appears when the thing is running in the product you can sign into. There is no beta shelf and no voting board.

If it is not listed, it is not built

The features page follows the same rule and writes the limit down beside every capability. Both pages are only worth reading while that stays true.

One thing no entry here will ever undo: clips are working output, not an archive. They live 30 days and then they go. Download anything you want to keep.