AAAI 2027 · Anonymous Submission

AdSelect: Teaching Multimodal LLMs to Clip Ads Like Professionals

Anonymous Submission
Anonymized for review

We cast ad clipping as set prediction over source shots — given a long ad, pick the subset an editor would keep for the short cut. We release AdSelect (4.8K long–short ad pairs) and AdCraft, a fine-tuning recipe that curbs the over-selection failure common to zero-shot MLLMs.

A long (0:31) and short (0:16) Subaru ad on YouTube; the source shots are numbered and mapped to the shots kept in the short edit
Selection is not understanding. On the 800-pair AdSelect benchmark, strong open, frontier, and training-free video models sit inside or below a simple heuristic band on precision and IoU. AdCraft (ours) is the only method that clears the floor on both primary metrics.

Abstract

Advertisers routinely create multiple duration variants of ads to meet marketing budgets and viewer preferences, a labor-intensive and costly process. We formulate ad shot selection as a set-prediction problem, mapping shots from the focal video to those retained in the target edit. To enable this, we introduce AdSelect, a dataset of ~4.8K long–short ad pairs mined from ~4M YouTube videos, split into ~4K training and 800 benchmark pairs. We discuss heuristic baselines that redefine the metrics and set a standard floor for performance on the task. Benchmarking open, frontier, and training-free models exposes a common failure pattern. They over-select while often missing the shots editors kept, hence no zero-shot model clears the baselines on our primary metrics. We propose AdCraft, a fine-tuning method combining LoRA with explicit complement-shot supervision to select shots that compose a high-quality short edit from a source. AdCraft reaches 0.771 precision and 0.688 IoU with duration error near one second, surpassing every heuristic baseline, zero-shot model, and prior supervised method. AdSelect together with AdCraft open new avenues for automated ad editing across platforms.

Qualitative Examples

One ad at a time. Pick a method — shots it kept stay bright, shots it dropped fade back. The gold frame marks the editor's cut (ground truth); the corner icon reads each shot against it.

The Task: Shot Selection as Set Prediction

Producing a short ad from a long one means selecting and rearranging shots from the source by hand — labor-intensive, editor-dependent, and a major bottleneck in advertising production. We cast this editing step as a content-aware set-selection problem: given the shots of the source, select the subset that composes the short edit.

This framing reuses professionally produced footage rather than generating new content, and isolates a narrow, learnable skill — deciding which shots survive — instead of end-to-end generation. We condition on each pair's matched duration (the achievable length recovered from the retained shots, not a nominal 15s budget) and evaluate with precision and IoU as primary metrics, since recall-driven metrics reward indiscriminate over-selection.

AdSelect Dataset

4,800 professionally edited long–short ad pairs mined from ~4M YouTube videos across 17 industries — an order of magnitude larger than prior paired ad data, and the first resource large enough to train MLLMs on shot selection, not merely test them.

4,800long–short ad pairs
4Ktraining pairs
800benchmark pairs
17industries
AdSelect data curation pipeline: frames, shot boundary detection, shot embedding, shot clustering, shot pairing
Data curation pipeline. Each ad's frames pass through shot boundary detection, shot embedding, and clustering; matching shots between the 30-sec and 15-sec versions are then paired to recover the source→edit shot mapping. The benchmark is stratified over industry, shot count, and edit duration.
Ad pairs and distinct brands per industry
Ad pairs per industry. Bar length is the number of ad pairs; the label gives distinct brands. 17 industries, led by Retail, Legal, and Government.
Distribution of ad pairs by focal-ad shot count
Shots per focal ad. Benchmark pairs binned by long-ad shot count — most ads run 9–16 shots, with a long tail past 35.

AdCraft

Off-the-shelf MLLMs over-select: they keep far more of the source than the edit retains, so a trivial baseline beats them on the metrics that matter. Standard selection training supplies only positive targets — the shots to keep — and omits the negative signal that teaches a model what to discard. AdCraft combines LoRA fine-tuning with explicit complement-shot supervision, supplying that missing negative signal to directly curb over-selection.

Selection over source shots

Given the ordered shots of a source ad, AdCraft predicts the subset that composes the short edit. The model is conditioned on each pair's matched duration — the achievable length recovered from the retained shots — so the prediction respects a realistic length budget rather than a fixed nominal target.

Because the task is scored by precision and IoU, the model is rewarded for keeping exactly the editor's shots and penalized for padding the selection, which is where zero-shot models fail.

Complement-shot supervision

The over-selection failure is a precision problem: zero-shot models recognize salient content well but cannot decide what to discard. AdCraft adds supervision on the complement set — the shots the editor cut — turning "what to drop" into an explicit training target alongside "what to keep".

In ablation, complement supervision gives the best precision and IoU; augmented signals do not improve over the vision-only baseline, and combining them underperforms complement alone. Recall stays roughly fixed, so the gain comes squarely from precision — exactly the axis over-selection destroys.

LoRA fine-tuning on AdSelect

AdCraft fine-tunes Qwen3-VL-8B with LoRA (complement objective, rank 512) on the ~4K AdSelect training pairs at 3 fps, decoded greedily. Parameter-efficient adaptation keeps training cheap while the complement objective reshapes the decision boundary toward editor-faithful selection.

AdCraft = LoRA fine-tune + complement-shot supervision → 0.688 IoU · 0.771 Prec · 1.05s MDE
AdCraft complement-loss selection on an example ad
Complement supervision in action. AdCraft's selected shots on an example ad, trained with the complement-set objective, closely track the editor's ground-truth keep set.

Results

Shot selection on the 800-pair AdSelect benchmark. IoU and precision are the primary metrics; MDE is mean duration error in seconds. No zero-shot model clears the heuristic floors — AdCraft beats every floor, zero-shot model, and prior supervised method on both primary metrics.

MethodTypePrec ↑RecallF1IoU ↑MDE ↓
Fine-tuned (ours)
AdCrafttuned.771.805.783.6881.05
Qwen3-VL 8B (SFT)tuned.756.800.779.6671.09
Qwen2.5-Omni 7B (SFT, A+V)tuned (A+V).607.643.625.4268.64
Reference baselines
Include-allfloor†.5791.000.723.57911.68
Bernoulli-decay (α=6)heuristic.572.728.635.4883.84
Random (uniform)chance.577.502.518.3675.60
Random (count)chance.538.499.468.3419.15
Zero-shot MLLMs
Aria 25.3Bzero-shot.579.914.686.53810.76
Qwen3-VL 32Bzero-shot.648.588.599.4454.57
Qwen2.5-Omni 7B (A+V)zero-shot (A+V).607.643.570.4268.64
Qwen3-VL 8Bzero-shot.612.544.547.3966.43
Molmo2 8Bzero-shot.595.507.514.3676.23
Gemma 4 12Bzero-shot.622.366.448.3106.21
InternVL2.5 8Bzero-shot.191.206.192.15314.31
Frontier models (closed API)
GPT-5.6-solzero-shot.669.628.642.5040.39
Claude Haiku 4.5zero-shot.659.512.568.4202.96
Gemini 3.1-flash-litezero-shot.630.461.523.3784.40
Task-trained / selection baselines
AdSumsupervised.597.657.619.4761.39
LLMVS (Qwen3-VL 8B)summarization.629.500.541.3925.43
AKS (relevance)frame sampling.569.360.430.2857.80

Primary metrics: Precision and IoU (best in bold); Recall and F1 shown for completeness, MDE is mean duration error in seconds. Include-all keeps every shot — a trivial floor, not a method. Recall is not a headline metric because it rewards indiscriminate over-selection.

BibTeX

@inproceedings{anonymous2027adselect,
  title     = {AdSelect: Fine-Tuning Multimodal LLMs for Advertisement Shot Selection},
  author    = {Anonymous Submission},
  booktitle = {Proceedings of the AAAI Conference on Artificial Intelligence (AAAI)},
  year      = {2027},
  note      = {Under review. Author names and links omitted for double-blind review.}
}