Audio description that waits for the silence.

Lull watches your video, writes lines about what is on screen, fits each into a real pause, and voices only the lines that pass a check against the frames.

Describe your own clip

Nothing plays until you press it.

  • 0 overlaps with speech
  • every line checked against its frames
  • NVIDIA Nemotron on Nebius

The line traces who speaks in 90 seconds of Elephants Dream. Lull writes only into the lit pauses.

3× preview

The problem

The missing half of a lecture

“As you can see on this chart…”

A lecturer points at a chart, then moves on. A student who can’t see the slide hears only the pointing.

Lecturers point. At a chart, an equation, a diagram on the board. A student who can’t see the slide gets the pointing and none of the thing. Audio description puts that half back, spoken in the pauses, in a voice that never talks over the lecturer.

Human description is priced per minute of video, and most lecture libraries have none.

1.2.5WCAG 2.1, level AA
Audio description is provided for all prerecorded video content in synchronized media.W3C, Understanding 1.2.5
Apr 26, 2027ADA Title II
US public universities must meet WCAG 2.1 AA from this date, course video behind a login included.Federal Register, Apr 20, 2026

How it works

How Lull works

Five steps, in this order. Models do the seeing and the writing. Code keeps the time.

  1. Listen

    Every word gets a start and an end, every speaker a turn. What’s left between them are the pauses.

    NVIDIA Parakeet TDT + Nemotron Diarization

  2. Watch

    The model watches the video itself and lists what a viewer would see, and what the dialogue already says.

    Nemotron 3.5 Super VL

  3. Write

    For every moment worth describing, up to three versions of the line: short, medium and long.

    Nemotron 3 Ultra

  4. Fit

    A solver places the lines. Durations are measured from real audio, never guessed by a model.

    Constraint solver, no model

  5. Check & speak

    Each claim is checked against its frames. A line is voiced only if its check passes; one that fails is held for a person.

    Super VL checks, NVIDIA Magpie speaks

The guarantee

Zero overlap, by construction.

Language models are bad at timing. On the timing-aware scoring in REFRAMED (COLM 2026), the best model reached 17.3%; human describers reached 61.2%. So Lull splits the job. The model writes. A constraint solver places each line in a window measured from the audio, and a run that overlaps a single word can’t publish.

  • Guard0.20 s of clear air on each side of every word.
  • DurationsMeasured from the voiced audio, never estimated by a model.
  • Too longSped up to at most 1.10×, or replaced by a shorter version.
  • Publish gateOverlap with speech must be 0.00 s.

Speech, words, guards, windows and the line’s voiced length come from the real run; the long version is drawn for illustration.

The refusal

A line that fails its frame check isn’t voiced.

Draft, cue 8Checked claim by claim against its frames

Both stand (supported) facing each other (supported), gesturing (supported) and talking (not visible in the frames, removed).

Unsupported claim removed. The line is re-checked, then voiced.

Spoken

Both stand facing each other, gesturing.

Nemotron 3.5 Super VL takes another look at the exact frames the line came from and rules on each claim. What it can’t see is cut before a voice is made; a line that still fails is held for a person.

The check is a model too, so it can pass a line that is wrong. The benchmarks show how often, and what turning it off changed.

  • Seen. Kept.
  • Not visible or contradicted. Cut, and the line is checked again.
  • Still failing. Held for a person; never published on its own.

What you ship

Six files, in formats players already read.

A text track, an audio track, two finished videos, a conformance report and the script.

Each line can be reviewed in the studio before it ships.

elephants-dream/
  • descriptions.vttWebVTTEvery line with its timing, as a kind="descriptions" text track.
  • described-audio.m4aWCAG G78The description as its own audio track, for players that let viewers choose it.
  • described.mp4WCAG G173The video with the description mixed into its soundtrack.
  • extended.mp4SC 1.2.7, G8Pauses the picture when a pause is too short for what needs saying, mid-sentence if the narration runs on.
  • report.htmlConformanceWCAG conformance for the video, plus every model call and what it cost.
  • script.mdMarkdownThe full description script, for editing and sign-off.

6 filesNeeds review in the studio: 1 held, none approved yet

The studio

Every line, with its evidence.

The whole timeline in one view: the soundtrack, who speaks, every pause and how much fits in it, and each line with the frames behind it. Edit a line and Lull re-fits, re-checks and re-voices just that one.

lullStudioelephants-dream.mp41:30.00
  • 10 verified
  • 2 extended
  • 1 held
Publish, 1 cue held
0:000:100:200:300:400:501:001:101:20
Soundtrack
Speakers
Pauses
6.64 s20 words5.14 s15 words5.14 s15 words5.14 s15 words4.58 s13 words4.57 s13 words4.57 s13 words4.58 s13 words1.43 s4 words3.32 s10 words3.78 s11 words4.79 s14 words4.79 s14 words
Cues
Cue 1Cue 2Cue 3Cue 4Cue 5Cue 6Cue 7Cue 8Cue 9Cue 10Cue 11
Extended

Cues13 lines, 13 pauses

  1. Extended 10:01.79A bald person in a red shirt and dark jacket stands among hanging wires.14 wordsExtended
  2. Extended 20:04.92A tall narrow shaft lined with metal panels and crisscrossed by wires appears, a platform extending into light.18 wordsExtended
  3. Cue 10:09.00The bald person and a younger person with dark hair walk through a doorway into a bright area.18 of 20Verified
  4. Cue 20:18.25The younger person runs across a narrow metal walkway in a dark wire-filled space.14 of 15Held
  5. Cue 30:24.47In a moment, a dark chamber with metal platforms and hanging objects.12 of 15Verified
  6. Cue 40:30.70Both navigate through the wire maze.6 of 15Verified
  7. Cue 50:42.69Small figures run across high beams and platforms.8 of 13Verified
  8. Cue 60:48.42In a moment, both walk together along a curved metal path.11 of 13Verified
  9. Cue 70:57.43In a moment, multiple figures move along a curved beam among wires.12 of 13Verified
  10. Cue 81:07.60Both stand facing each other, gesturing.6 of 10Verified
  11. Cue 91:12.20The bald person runs across a platform and looks out.10 of 11Verified
  12. Cue 101:18.12The bald person stands close to the younger person, looking upward and speaking.13 of 14Verified
  13. Cue 111:23.21The two figures fall through the dark space, tumbling among the wires and platforms.14 of 14Verified

Cue 8

Verified

window 1:07.60 to 1:10.92

Evidence frame1:07.60

Both stand facing each other, gesturing.

6 of 10 words
  • both standSeen
  • both face each otherSeen
  • both gestureSeen
  • both talkNot visible, cut
  • gestureSeen
  • talkNot visible, cut
  • facing each otherSeen
  • standSeen
  • Both stand facing each other, gesturing and talkingNot visible, cut
  • watched by Super VL
  • written by Ultra
  • fitted by solver
  • voiced by Magpie
Interface preview, drawn from the real run: its soundtrack, pauses, lines, statuses and evidence frame.

For developers

From a terminal, an API or an agent.

The same pipeline as the studio, with the same checks and the same files.

  • describe_videodescribe a sample, with progress
  • get_tracksits lines and files
  • get_reportWCAG status and held lines

Read the developer docs

$ lull describe lecture.mp4 --out described/

# writes
described/
  descriptions.vtt
  described-audio.m4a
  described.mp4
  extended.mp4
  report.html
  script.md

Runs the whole pipeline: listen, watch, write, fit, check and speak.

Benchmarks

Measured, misses included.

Four numbers from a pre-registered test on synthetic lectures, each with its interval. The comparison with human describers, the controls and every known failure are on the benchmarks page.

  • Overlap with speech

    Seconds where a description plays over a word.

    0.000 sSeconds of description over narration, across 12 videos.
  • Hallucination rate

    Claims in a description that aren’t in the frames.

    18.1 %19 of 105 claims unsupported; 95 % interval 4.0–37.2 %.
  • Visual-fact recall

    Visual facts a viewer needs that the description covers.

    2.6 %6 of 235 visual facts, standard track; 95 % interval 0.5–5.1 %.
  • Cost per minute

    Model spend for each minute of video.

    $0.027Model spend per minute of video; web searches are counted apart.

Against human audio description of the same videos, Lull conveyed 0.8–4.5 % of the facts the describers chose to say; two people describing the same film shared 38.8–42.7 %. A person can add the rest in the studio.

Checked against the wrong footage, the frame check still passed 13.2 % of lines (5 of 38, an upper bound). On these synthetic lectures, checking each line against its frames did not measurably reduce unsupported statements, and it cost recall: with the extended track, 14.0 % of visual facts were described with the check and 28.9 % without it (+14.9 points, 95 % interval +6.2 to +23.1).

How it is measured