Sign In
AI models

Never ask a language model what time it is

The model reads well and counts badly. So we let it do the reading and we do the counting.

Giles W.Head of Engineering|

In short

Generated Worlds analyses an episode by sending its numbered subtitle cues to a language model and asking which cue a clip should start and end on. The model returns cue numbers; the timestamps come from the subtitle file. Asking the model directly for a time produced plausible-looking values that matched no line in the episode.

subtitle cues, numbered by us#4000:56don't come back#4100:58i mean it this time#4201:02then who is that in the carmodel returns{ cue: 42 }asked for a time, it invents one that fits nothingwe read 01:02 from the file
The model chooses from a numbered list and returns a number. Every time on screen is read from the subtitle track, so a wrong answer is a wrong line — visible — rather than a wrong second, which is not.

A short drama clip lives or dies on where it stops. Stop a line early and the hook is a shrug; stop a line late and you have given away the answer. So the analysis that picks candidate clips out of an episode has one job: name the moment.

The obvious design is to hand the model the transcript with timestamps and ask for a start and an end in seconds. It works about as well as asking a person to read a page and report the exact millisecond they finished. Ask for a float and you get a float: a confident 62.7 for a line that ends at 58.2. Nothing about the answer looks wrong, which is the problem — a fabricated number arrives in the same shape as a real one.

01The fix is to remove the arithmetic from the model's job

  • We number the subtitle cues ourselves and send the numbered list.
  • The model returns cue numbers and a short reason, as JSON.
  • We look the times up in the cue file. The model never sees a second and never emits one.
  • A cue number outside the list is rejected, which is a check you cannot write for a timestamp.

The same principle runs through the rest of the analysis. The model scores each candidate on several separate qualities and does not rank them; the weighting that turns those scores into an order lives in our code, where it can be read, argued with and changed without touching a prompt. A model asked for a final ranking gives you one, and gives you no way to find out what it weighed.

02What happens when the model is unavailable

Every one of these calls degrades to a plain heuristic rather than failing: a rule picks a reasonable cue, and the result records which route produced it. That last part matters more than it sounds — a system that quietly falls back and does not say so is a system whose quality you cannot measure afterwards.

Models used today: DeepSeek's chat model for this analysis and for the copy that accompanies a clip, and Claude for subtitle translation, where holding names and register steady across a whole episode is worth the higher price. Neither choice is permanent and neither is a partnership. They are the two that earned their place in the tests we ran.

What it does not do

This works because subtitles exist. An episode with no cue file has nothing to index into, so the analysis falls back to the heuristic and its suggestions are noticeably worse. We also have no automatic measure of whether a chosen cue was the RIGHT one — the scores are the model's opinion, and the only ground truth we trust is what viewers did with the clip afterwards.

Questions

Why do language models invent timestamps?
A timestamp is arithmetic over a long context, which is the part these models are weakest at, and there is no internal signal that separates a remembered number from a plausible one. Constrain the answer to a choice from a list you supplied and the failure becomes a wrong choice you can detect, instead of a wrong number you cannot.
Which AI models does Generated Worlds use?
DeepSeek's chat model for episode analysis and for caption and metadata drafting, Claude for subtitle translation, and faster-whisper running on our own hardware for transcription. No model decides what a viewer sees: the feed's ranking is plain arithmetic with hand-set weights.
Does an AI write the episodes on Generated Worlds?
No. Creators make the work; the models here read what already exists — subtitles, cue timings — to help cut clips and write the copy around them.

Keep reading

  • Subtitles: we run the model ourselves

    Transcription runs on faster-whisper rather than a hosted API, with voice-activity detection on and the model kept in memory between episodes. What that choice fixes, and when it is the wrong one.

  • Why the crop is centred

    Following the subject with a face detector holds the subject slightly better and looks worse. On a catalogue with burnt-in captions it also destroys the captions.

All posts from the Generated Worlds Tech Blog.