How long does an AI presentation take? We timed 58.

The answer is four minutes forty. That is the median wall-clock time for 58 slide decks generated by our production pipeline, measured from the moment the job was created to the moment a finished file existed. Forty-six of the 58 landed inside six minutes. The slowest took 1,432 seconds — just under twenty-four minutes. Nothing at all arrived in under two.

Every figure on this page came out of a database rather than out of a marketing meeting, and the section at the bottom says where each one is stored and how it was calculated. The sections in between say what those minutes are actually spent on, what makes a slow deck slow, and — the part most of this category avoids — what we measured that we could not explain.

Median, 58 delivered decks
Inside six minutes

46 of 58

Seventy-nine per cent. The remaining twelve are a tail, not a second cluster.

Slowest recorded

23 min 52 s

One job. Five times the median, and the reason we publish a median rather than an average.

Fastest bucket

2–3 min

Four jobs. Nothing in this dataset has ever been produced in under two minutes.

What the number measures, exactly

A timing is only checkable if somebody says where the stopwatch starts and where it stops, and that is the part usually left out. Ours starts when the job row is written — which happens the instant somebody submits, before any provider is called — and stops when the file exists and is openable. Two columns on one table, subtracted.

The statistic

The median of delivered_at − created_at across every row in studio_jobs where kind = 'deck', state = 'delivered' and delivered_at is set. It is the same statistic the client portal reports back to a customer about their own account, computed by the same function, which refuses to report anything at all on fewer than five finished jobs.

SELECT (delivered_at - created_at) / 1000 AS secs
  FROM studio_jobs
 WHERE kind = 'deck'
   AND state = 'delivered'
   AND delivered_at IS NOT NULL
   AND delivered_at > created_at
 ORDER BY secs ASC

Median rather than mean, deliberately. One job that sat overnight waiting for a cron would drag an average into nonsense, and a buyer wants the usual case rather than the arithmetic.

One thing this number is not. delivered_at is stamped once, when the file is first written — and our pipeline delivers twice. The first delivery is a complete, branded, laid-out presentation built from the writing alone. The illustrations arrive afterwards and the same file is rebuilt in place, under the same link. So 4 minutes 40 seconds is the time to a finished file with the words in it, not the time to the fully illustrated one. We say more about that gap, and about why we cannot put a median on it, further down.

The whole distribution

A median on its own is a claim. Here are all 58, bucketed by minute.

Bar heights are counts as a proportion of the tallest bucket. Half of everything lands in a single minute: 28 of the 58 finished between four and five minutes. The shape either side of it is not symmetrical — there is a floor at two minutes and no ceiling.
58 delivered decks by minute bucket
MinutesDecksShareRunning totalWhat it means for you
2–346.9%4The fastest we have ever produced. Short brief, few slides.
3–4813.8%12Still faster than reading the brief aloud.
4–52848.3%40The modal outcome. The median sits here, at 279.5 s.
5–6610.3%46Still inside the window most buyers would call fine.
6–723.4%48Past the point where an open progress screen starts to feel long.
7–835.2%51Heavier brief, or a slow hour at the writing provider.
8+712.1%58The tail. Longest 1,432 s. Roughly one deck in eight.
All58100%58Median 279.5 s. Slowest 1,432 s. Nothing under 120 s.

The useful reading is not the median. It is that the distribution has a hard floor and a long tail, which is what you would expect from a process where the fast part is bounded by how quickly a language model can write several thousand words and the slow part is bounded by nothing you control. Any vendor quoting you a single number for this is quoting you the left-hand side of that shape.

What is actually happening in those minutes

A generated presentation is two jobs wearing one progress bar: writing it, and illustrating it. They have completely different clocks, and the one most people expect to dominate is not the one that does.

We timed the writing stage separately, on live infrastructure, through the same functions the product calls. These are the figures on record.

Writing stage, timed 19–20 August 2026
What was asked forTimeShape of the output
Branded document109.6 s5 sections, 3 image prompts
Slide deck254.9 s14 slides, 8 image prompts
Slowest deck write on record456.6 sA deliberately heavy brief, 20 August 2026
Controlled six-run set189–314 sSix of six completed, same day, same brief

Set 254.9 seconds against a median of 279.5. On a typical deck, the writing is roughly nine tenths of the wait and the layout, the file assembly and the PDF conversion share what is left. Illustration is not in that number at all, because the file is delivered before the pictures start. Subtracting one from the other leaves roughly twenty-five seconds for everything else — laying the slides out, writing the .pptx, converting a PDF copy and storing both. That is an inference across two different runs rather than a measurement, and it is the only figure on this page arrived at by subtraction. What happens inside it is a separate piece of work: what PowerPoint accepts in a hand-built .pptx, and what silently breaks.

The reason a deck writes so much more slowly than a document is not that it has more pages. It is that a slide carries fragments and a presenter needs sentences, so every slide is written twice — once for the screen and once for the notes pane — on top of chart series, figures for the statistics pages and named steps for the process pages. A deck is not a document with the paragraphs cut short.

A limit on the two figures above

The stage timings come from a diagnostic probe that pins the model's temperature to zero so that two runs of the same code are comparable. Client jobs run at 0.4. Those numbers therefore have internal validity — before against after, on the same setting — and they are not client-facing latency. We publish them because they are the honest evidence for which stage dominates, not because you should expect 254.9 seconds.

Why the pictures are on a separate clock

Painting original artwork for a deck is slow, expensive and outside our control, so the pipeline is built around not making anybody watch it. The file is assembled and handed over as soon as the writing is laid out; the illustrations then arrive over the following minutes and the same file is rebuilt behind the same link.

Individual image generations, measured on the last fully illustrated deck, took 46, 61, 69 and 136 seconds. That spread is the whole story: the same request, to the same provider, on the same day, varying by a factor of three depending on how busy the queue was.

Constraints on the illustration stage, from the running system
ConstraintValueWhy it is that number
Images per deck, maximum10A ceiling on what one job can cost. The writer sometimes asks for more; the extras are dropped rather than painted.
Concurrent generations3The provider's own account cap is 4, in its own words: maximum number of concurrent requests (4) has been reached. We hold one slot back.
Give-up deadline15 minA picture that has not arrived by then is not going to.
Won't start a picture with less than3 minAbove the slowest generation we have measured. Starting one we cannot collect is a billed render with no reader.
Recovery sweep interval5 minWas 15, against a 15-minute deadline. One client's deck lost all six of its pictures to a sweep that arrived seven seconds late.

Do the arithmetic on a deck that wants eight pictures: three at a time, at 46 to 136 seconds each, is three rounds — somewhere between two and seven minutes of illustration after the file has already been delivered. That is the part nobody's homepage mentions, and it is the part that decides whether the deck you present looks made for you or looks like a stock library.

What makes a slow one slow

Twelve of the 58 took longer than six minutes. From our own logs, four things put a deck in that group, in roughly descending order of how often we have seen them.

The brief was heavy

Writing time scales with what the model is asked to produce, and a brief with more to say produces more slides, each carrying speaker notes. Our slowest recorded write, 456.6 seconds, was a deliberately heavy brief. Our controlled runs on an ordinary one finished in 189 to 314 seconds. Same code, same day.

The writing provider had a slow hour

We have watched two live jobs time out at 601 seconds against a 600-second deadline in one morning, while a controlled six-run set on the same day completed six of six in 189 to 314 seconds. The tail belongs to the provider's hour, not to the pipeline's build. Our own deadline for the writing stage has been raised three times as a consequence — 90 seconds, then 240, then 600, and now 900 — and each raise was made against a measured figure rather than a guess.

The picture queue was full

A refused generation is deferred to the next tick rather than retried immediately, because the provider returns a refusal as a non-retryable error. That is correct behaviour and it costs minutes. Before we understood the account's concurrency limit, roughly a third of every picture the product had ever made was being lost to it.

Nobody was watching

The engine is advanced by whoever asks — usually the browser, polling. Close the tab and the job is advanced instead by a cron that runs every five minutes, so a job with nobody watching spends most of its wall time waiting rather than working. Our own measurement includes that waiting, deliberately: it is what a customer experiences, and the alternative is a number that flatters us.

Why "instant" is a different product, not a faster one

You will see decks advertised in seconds. Some of those claims are true and mean something other than what a buyer assumes. Here is the test, and it is arithmetic rather than opinion.

An original image takes tens of seconds to render — 46 seconds at the fast end of what we have measured, 136 at the slow end. On those figures, a deck carrying eight freshly generated pictures cannot be finished in ten seconds, because the constraint is the image model rather than the software wrapped around it, and nobody's software makes somebody else's model faster. So a presentation that appears instantly is doing one of four things:

There is a second reason to distrust a very fast result, and it is the strangest thing in our dataset. The fastest deck responses we have ever recorded were failures. Five deck jobs have failed outright; their durations were 0, 2, 2, 8 and 13 seconds. A refusal comes back in seconds and a real deck does not. If a tool answers you immediately, the first thing to check is that it answered with a deck.

What we could not determine

A page that only reports what worked is an advert. These are the things we went looking for and could not answer from this dataset.

Not measured

A median for the fully illustrated file. The jobs table carries three timestamps — created, updated and delivered — and delivered_at is written once, at the first delivery. There is no column for the second one. updated_at is the closest proxy and it moves on every progress tick, including ticks that did nothing, so we are not going to publish a figure derived from it and call it a measurement.

A mean, or any percentile other than the median. The distribution above is bucketed by minute. You cannot recover a mean from buckets, and we are not going to estimate one and print it next to numbers that were counted.

A per-stage split for each of the 58 jobs. Nothing in the schema times the stages individually. The stage figures on this page come from a separate probe on separate runs, which is why they are labelled as such rather than folded into the same table.

How much of the long tail is the provider and how much is our own five-minute sweep. Both are in the wall-clock time and neither is separated out. We know the mechanism for each; we cannot yet tell you the ratio.

Whether this generalises. This is one pipeline, one writing model, one image provider, over a few weeks. It is not the industry. The last time we broke the sample down by account, most of the deck jobs were on our own demonstration tenant rather than on paying clients' accounts, and we have not re-run that split for the 58.

What to ask a vendor

If you are comparing tools, or deciding whether to wait for a generated deck or brief a designer, these are the questions that separate a measured product from a confident one. Each of them exists because answering it about our own product was harder than we expected.

01 When does your stopwatch start and stop?

From submit to a file existing, or from the last API call returning? Ours starts when the job row is written, before any provider is called, and stops when the file is openable. Any two vendors using different boundaries are not comparable.

02 Is that a median or an average, and over how many jobs?

An average over a handful of runs is a guess wearing a number. Ask for the count. Our own code refuses to report a typical time to a customer on fewer than five finished jobs, and reports the median rather than the mean, because one overnight job destroys an average.

03 Show me the slowest one.

The median is the easy half. Twelve of our 58 were over six minutes and the slowest was 1,432 seconds. A vendor who cannot tell you their worst case has not looked at their distribution.

04 Does that time include the images?

The single most load-bearing question on this list. Ours does not, and we would rather say so than let a number do the lying. If the answer is yes, ask how many images, and compare it against 46 seconds for the fastest single generation we have ever measured.

05 Are the images made for me, or chosen for me?

A stock photograph and a generated illustration take very different amounts of time, and the difference shows up in the deck rather than in the invoice. Fast is evidence, not proof, but it is evidence.

06 What happens if I close the tab?

If the job is advanced by the browser, closing it stops the work. Ask what picks the job back up and how often. Ours is a five-minute cron, and it used to be fifteen — which lost a client every picture in their deck by a margin of seven seconds.

07 What does a failure look like, and am I charged for it?

Our five failed deck jobs returned in 0, 2, 2, 8 and 13 seconds, and every one had its credits returned. A fast answer and a failed answer look identical from the outside for the first two seconds.

08 What am I comparing this to?

The honest comparison is not against a faster generator. It is against briefing a designer, and that comparison is not close on time at any point in this distribution — including the twenty-four-minute one. Time is the wrong axis on which to choose between generated decks; whether the output is yours or a template with your name on it is the right one.

Where every number on this page comes from

So that this can be checked rather than believed.

Provenance
FigureSource
58 decks · median 279.5 s · 46 inside six minutes · slowest 1,432 s · buckets 4, 8, 28, 6, 2, 3, 7The studio_jobs table in the portal's production database, over rows with kind = 'deck' and state = 'delivered'. The same snapshot is quoted in the hero of the product page.
The definition of "typical time"The portal's own typicalSeconds() function, which computes the median and returns nothing on fewer than five finished jobs.
Delivery is stamped once, at the first deliveryThe delivery function updates only rows still in queued or working, and the engine calls it only when the job has no result file yet.
No per-stage timestamps existThe studio_jobs schema carries created_at, updated_at and delivered_at, and nothing between.
Document 109.6 s · deck 254.9 sA diagnostic probe run against the live writing model from a Cloudflare colocation on 19 August 2026, at temperature 0, through the same functions the product calls.
Slowest write 456.6 s · six runs 189–314 s · two timeouts at 601 sRecorded on 20 August 2026 while choosing the current 900-second writing deadline.
Image generations of 46, 61, 69 and 136 sTimed on the last fully illustrated deck, and used to set the margin below which the pipeline will not start another picture.
Concurrency cap of 4 · ours held at 3The provider's own HTTP 400 response, quoted verbatim in the source.
Five failures at 0, 2, 2, 8 and 13 sEvery failed deck job in the system, with durations, reviewed on 19 August 2026. All credits were returned.
Deadline history: 90 → 240 → 600 → 900 sThree changes, each made against a measured write that the previous deadline had cut off.

If you want to reproduce this against your own tooling, the whole method is two columns and a sort: record a timestamp when the job is created, record another when a file first exists, subtract, sort, and publish the buckets rather than the average. It took us longer to decide what the number meant than to compute it.