← The project
Mercedes-Benz · MBRDNA AI Labs · oneAI · 2024–25

Cover → Cabin

One square jacket, kept whole at the centre — painted outward to a metre of glass, and gated for the road.

SurfacePillar-to-pillar · ~56:10
StackSAM3 · big-lama · SDXL
Dataset1,000,000 covers
RolePipeline · prototype · distraction

The finished cabin screen is three layers — the generated outpaint, the untouched album jacket at its origin, and the real MBUX interface on top. Hover to pull them apart.

The generated outpaint backgroundOutpaint · generated
Album · untouched
Real Mercedes MBUX interface overlay — cluster, now-playing, climate dockMBUX · interface
cover 1 / 6
hover to explode →
01

The graph, end to end

One ComfyUI graph that saves every stage into the archive it produces.

The whole pipeline is a single graph terminating in a SaveLayeredTIFFXMP node — the jacket, the smudge, the upscale, the outpaint, the composite, all written into one file alongside the graph itself, so any cover is regenerable from any step.

01
Cleaned album jacket

Clean-up — SAM3

SAM3 text-promptable segmentation lifts text, logos and wordmarks; a LaMa remover erases them. Now nothing anchors the paint to branding, and the legible copy a distraction heuristic would flag is already gone. (SAM3 replaced the older SAM + GroundingDINO pairing.)SAM3Segment · RMBG · big-lama remove

02
big-lama latent smudge

Latent smudge — big-lama

big-lama smears the jacket's structure across the fill region as a semi-repeating field; a masked blur drops the complexity. The diffusion gets a coherent thing to extend instead of blank latent — already sitting under the distraction line.INPAINT_InpaintWithModel · power-noise · masked blur

03
SDXL outpaint, wings only

Outpaint — SDXL

RealVisXL fills the wings from that seed. IPAdapter carries the cover's own palette outward so the extension reads as of the cover, not bolted onto it; a tile ControlNet caps how much detail it's allowed to invent.SDXL inpaint · IPAdapter · ControlNet-tile

04
Composited final on MBUX

Composite + archive

The sharp 1:1 jacket drops back over the generated wings — centre untouched — and seven named layers plus the graph write to one XMP TIFF. Ship the compact WebP; keep the fat, regenerable TIFF.ImageCompositeMasked · SaveLayeredTIFFXMP

02

Why the smudge matters

Outpaint an ultra-wide frame straight from a square and the edges drift into invented nonsense. The fix is to never start from nothing: the smudge hands the model a coherent, on-palette field to refine instead of a void to invent. Scrub the three stages — the jacket we start from, the big-lama seed, the finished outpaint — and the seed's structure survives as the rhythm of the wings.

The source album jacket, letterboxed big-lama latent smudge seed Finished SDXL outpaint
03

A million covers, costed

Listening is Zipfian — a steep head, a long tail — so a fixed corpus of the most-played covers buys most of the coverage cheaply.

The distribution is brutally concentrated: on Spotify roughly 87% of tracks never clear 1,000 plays in a year, and some 50M have no listeners at all — a tiny head carries almost every play. So a fixed corpus of the most-played covers is nearly all the real-world coverage, bought cheaply. The pipeline is fast per-cover and embarrassingly parallel, which makes a one-million-cover initial dataset a rounding error against the value: per-cover runtime is dominated by the SDXL ultra-wide outpaint (~20–45s), everything else ~7–13s combined → ~42s central, ×1.3 for distraction-gate re-gens ≈ ~55s / cover.

Compute · 1M covers
~$15k
On-demand A10G-class GPU. ~$8k on spot 4090s; ~$31k on A100s.
Wall clock · 100 GPUs
6.4 d
15,300 GPU-hours total — 13 d on 50, 3.2 d on 200. Scales flat.
Archive · layered TIFF
~30 TB
1M regenerable TIFFs @ ~30 MB → ~$690/mo hot, ~$30/mo cold.
Covers · N
300k
Play coverage
% of plays
Marginal · next 100k buys
coverage
Zipf model (s≈1.0), anchored to real streaming concentration — ~87% of tracks under 1,000 plays/yr (Spotify 2024). The lever is N: coverage climbs fast, then flattens — the cut is where the next cover stops earning its GPU-second.
04

Calm by design

Beautiful is not the bar. Safe is.

A generated scene that energises a parked cabin can pull a driver's eyes off the road. So the pipeline is gated: NSFW and semantic VLM passes for content, and a heuristic distraction verifier — distractive-area, entropy, illumination, edge-ratio — wired into the graph, cross-checked against a Unity + eye-tracking simulator, day and night, on NHTSA lines.

Custom eye-tracking review tool with gaze zones and a glance-allocation timeline.
Fig 2 — glance-allocation study, custom eye-tracking review tool.
A participant drives a physical seat buck against a projected night-drive; the outpaint runs live on the head unit.
Fig 3 — sim rig: a physical buck driven against a Unity night-drive, the outpaint live on the pillar-to-pillar head unit.
05

What a cover becomes

Each scene starts from one jacket at centre and is generated to the full pillar-to-pillar aspect. The original is never cropped — only extended.

Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene Outpainted album scene